Add option to capture Redis command arguments in span resource name
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- java, redis
- Domain
- observability-sre
Research direction
Start by reading the referenced dd-trace-rb quantize.rb and IgniteCacheDecorator.java examples, then locate the Redis instrumentation in dd-trace-java. Define the configuration behavior and verify that Redis span resource names include safe command arguments with the stated obfuscation and truncation limits.
Written by the indexing model from the issue text.
Description
Library Name
No response
Library Version(s)
No response
Describe the feature you'd like
Add a configuration option to include Redis command arguments (keys) in the span resource name.
Instead of current:
Resource Name: GET
you'd get:
Resource Name: GET user:12345:profile
This feature already exists in dd-trace-rb with DD_REDIS_COMMAND_ARGS, so i don't see a reason why it shouldn't exist here, security reasons are also handled since they do these:
- AUTH commands obfuscated to
AUTH ? - Values truncated to 50 chars
- Full command truncated to 500 chars
- Binary/non-UTF8 data replaced with
?
Reference: dd-trace-rb quantize.rb
Is your feature request related to a problem?
When debugging redis spans, current instrumentation only shows the command type, which makes it very difficult to identify the keys causing the latency.
Describe alternatives you've considered
A similar pattern already exists in dd-trace-java for Ignite cache:
- Config:
DD_IGNITE_CACHE_INCLUDE_KEYS - Implementation:
IgniteCacheDecorator.java#L139-L141
Additional context
No response
- Dominant language
- Java
- Stars
- 737
- Forks
- 361
- Avg merge
- 3d 20h
- Merged PRs (30d)
- 173
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DataDog/dd-trace-java
-
type: feature request
Difficulty 1/5 1-3 hours Newbie friendliness 70/100
DataDog/dd-trace-java#10245 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 62/100
DataDog/dd-trace-java#12608 ·
-
type: bug report
Difficulty 4/5 3-5 days Newbie friendliness 35/100
DataDog/dd-trace-java#12597 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
DataDog/dd-trace-java#12540 · 3 comments · 1 assignee ·
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
DataDog/dd-trace-java#12480 ·
All issues in DataDog/dd-trace-java
Similar issues
-
certification
Difficulty 1/5 Under an hour Newbie friendliness 80/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
[BUG] ECR GetAuthorizationToken returns a proxyEndpoint for the default region, not the request's Openbug ecr
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Needs: Triage Type: Feature request
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
AntennaPod/AntennaPod#8794 ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
github/copilot-sdk#2760 ·