Add redis client only instrumentation #3143
Open
+584
−147
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR allows instrumenting only a specific Redis client instead of the whole class (and all clients).
Changes:
instrument_client
(supports any of the existing clients such as async/cluster)instrument
and the newly addedinstrument_client
methods (still allows**kwargs
). It makes the docs easier to read/understand.Please delete options that are not relevant.
How Has This Been Tested?
Ran the already included tests with
python3.12
andpython3.11
andredis 5.0.1
. Added more tests to ensure that only the client we instrumented produces spans. I ran tox tests, ruff, linting, formatting, etc. (everything in the contributing guide).Tested documentation changes with
tox -e docs
to ensure everything builds correctly and looks good.Also, I ran tests with coverage: original coverage was 77%. Now it's 80%:
Note: I plan to add another PR for the FT-related commands later. (there's currently a bug in some span param parsing functions)
Does This PR Require a Core Repo Change?
Checklist:
See contributing.md for styleguide, changelog guidelines, and more.