From pup
Search Datadog Symbol Database for classes and methods in instrumented services. Find probe-able method locations for Live Debugger.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pup:dd-symdbThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Search for classes and methods in instrumented services. Find probe-able method locations for use with the Live Debugger.
Search for classes and methods in instrumented services. Find probe-able method locations for use with the Live Debugger.
pup must be installed:
brew tap datadog-labs/pack && brew install pup
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"
One scope name per line.
pup symdb search --service my-service --query "Controller" --view names
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-locations
Raw JSON response from the API.
pup symdb search --service my-service --query "VetController" --view full
pup symdb search --service my-service --query "handler" --version "v1.2.3" --view names
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 10
| 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 |
| 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 |
npx claudepluginhub datadog/pup --plugin pupPlaces live log probes on running services to capture runtime argument/variable values without redeploying. Useful for inspecting live data from production methods.
Investigates production issues by querying Datadog logs, metrics, and APM traces, then correlating findings with codebase. Useful for debugging errors, latency spikes, alerts in deployed services.
Provides structured runbook for debugging backend service issues including API errors, performance degradation, crashes, and data inconsistencies. Uses checklists, log greps, git bisect, and reproduction steps.