
dd-symdb
โ 940by datadog-labs ยท part of datadog-labs/pup
Symbol Database - search service symbols, find probe-able methods.
This is the playbook your agent receives when the skill activates โ you don't need to read it to use the skill, but it's here to audit before installing.
Datadog Symbol Database
Search for classes and methods in instrumented services. Find probe-able method locations for use with the Live Debugger.
Authentication
Authenticate via OAuth2 (recommended) or API keys:
# OAuth2 (recommended)
pup auth login
# Or use API keys
export DD_API_KEY="key" DD_APP_KEY="key" DD_SITE="datadoghq.com"Combining with Debugger
Find methods then place probes:
# 1. Find probe-able methods
pup symdb search --service my-service --query "MyController" --view probe-locations
# 2. Place a probe on a discovered method (language auto-detected from symdb)
pup debugger probes create \
--service my-service \
--env production \
--probe-location "com.example.MyController:handleRequest" \
--template "handleRequest called with id={id}"
# Or use the full signature when multiple overloads exist
pup debugger probes create \
--service my-service \
--env production \
--probe-location "com.example.MyController:handleRequest(int, java.lang.String)" \
--template "handleRequest called with id={id}"
# 3. Stream events
pup debugger probes watch <PROBE_ID> --timeout 60 --limit 10Options
| Flag | Description | Default |
|---|---|---|
--service | Service name (required) | โ |
--query | Search query, matches scope names | None (lists all) |
--version | Service version filter | None |
--view | Output view: full, names, probe-locations | full |
Failure Handling
| Problem | Fix |
|---|---|
| No results | Verify the service is instrumented and reporting to Datadog |
| Auth error | Run pup auth login or set DD_API_KEY + DD_APP_KEY + DD_SITE |
| Wrong service name | Check exact service name in Datadog APM service catalog |
| Stale symbols | Filter with --version to target the currently deployed version |
References
npx skills add https://github.com/datadog-labs/pup --skill dd-symdbRun this in your project โ your agent picks the skill up automatically.
Prerequisites
pup must be installed:
brew tap datadog-labs/pack && brew install pupUsage
Names View
One scope name per line.
pup symdb search --service my-service --query "Controller" --view namesProbe Locations View
TYPE:METHOD(arg1, arg2, ...) signatures suitable for --probe-location in pup debugger probes create. Falls back to TYPE:METHOD when no argument info is available.
pup symdb search --service my-service --query "VetController" --view probe-locationsFull View
Raw JSON response from the API.
pup symdb search --service my-service --query "VetController" --view fullFilter by Version
pup symdb search --service my-service --query "handler" --version "v1.2.3" --view namesNo common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under Apache-2.0โ you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub โ