/dd-symdb
Symbol Database - search service symbols, find probe-able methods.
$ npx -y skills add DataDog/pup --skill dd-symdb --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/dd-symdb
Context preview
The summary Claude sees to decide when to auto-load this skill.
Symbol Database - search service symbols, find probe-able methods.
SKILL.md
dd-symdb.SKILL.mdname: dd-symdb
description: Symbol Database - search service symbols, find probe-able methods.
metadata:
version: "1.0.0"
author: datadog-labs
repository: https://github.com/datadog-labs/agent-skills
tags: datadog,symdb,symbol-database,live-debugger
globs: ""
alwaysApply: "false"
Datadog Symbol Database
Search for classes and methods in instrumented services. Find probe-able method locations for use with the Live Debugger.
Prerequisites
`pup` must be installed:
brew tap datadog-labs/pack && brew install pup
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"
Usage
Names View
One scope name per line.
pup symdb search --service my-service --query "Controller" --view names
Probe 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-locations
Full View
Raw JSON response from the API.
pup symdb search --service my-service --query "VetController" --view full
Filter by Version
pup symdb search --service my-service --query "handler" --version "v1.2.3" --view names
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
- [Live Debugger Docs](https://docs.datadoghq.com/dynamic_instrumentation/)
- [Symbol Database](https://docs.datadoghq.com/dynamic_instrumentation/symdb/)
Read more
name: dd-symdb description: Symbol Database - search service symbols, find probe-able methods. metadata: version: "1.0.0" author: datadog-labs repository: https://github.com/datadog-labs/agent-skills tags: datadog,symdb,symbol-database,live-debugger globs: "" alwaysApply: "false"
Datadog Symbol Database
Search for classes and methods in instrumented services. Find probe-able method locations for use with the Live Debugger.
Prerequisites
`pup` must be installed:
brew tap datadog-labs/pack && brew install pup
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"
Usage
Names View
One scope name per line.
pup symdb search --service my-service --query "Controller" --view names
Probe 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-locations
Full View
Raw JSON response from the API.
pup symdb search --service my-service --query "VetController" --view full
Filter by Version
pup symdb search --service my-service --query "handler" --version "v1.2.3" --view names
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
- [Live Debugger Docs](https://docs.datadoghq.com/dynamic_instrumentation/)
- [Symbol Database](https://docs.datadoghq.com/dynamic_instrumentation/symdb/)
Every AI agent needs a loyal companion. Meet Pup — the CLI that gives your agents full access to Datadog's observability platform (because even autonomous agents need good tooling, not just tricks).
Repo: DataDog/pup
Other skills on pup.
- /dd-apm
APM - traces, services, dependencies, performance analysis.
Open skill - /dd-code-generation
Use pup CLI for immediate Datadog operations or generate code for integration into applications
Open skill - /dd-debugger
Live Debugger - inspect runtime argument/variable values in production by placing log probes on methods. Use when asked what values a function receives, what parameters look like at runtime, or to capture live data from running services without redeploying.
Open skill - /dd-docs
Datadog docs lookup using docs.datadoghq.com/llms.txt and linked Markdown pages.
Open skill - /dd-file-issue
File GitHub issues to the right repository (pup CLI or plugin)
Open skill - /dd-logs
Log management - search, pipelines, archives, and cost control.
Open skill

