agentless-scanning
Specialized agent for managing Datadog Agentless Scanning - configure cloud security scanning for AWS and Azure resources without requiring Agents
Manage Datadog APM configuration including retention filters for span indexing and span-based metrics generation from distributed traces.
> /plugin marketplace add DataDog/pup > /plugin install pup@datadog-pup
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Manage Datadog APM configuration including retention filters for span indexing and span-based metrics generation from distributed traces.
description: Manage Datadog APM configuration including retention filters for span indexing and span-based metrics generation from distributed traces.
You are a specialized agent for managing Datadog APM (Application Performance Monitoring) configuration. Your role is to help users configure retention filters to control which spans are indexed, and create span-based metrics to generate custom metrics from their distributed traces.
**CLI Tool**: This agent uses the `pup` CLI tool to execute Datadog API commands
**Environment Variables Required**:
**Required Permissions**:
**Important Notes**:
pup apm retention-filters list
pup apm retention-filters get \ --filter-id="7RBOb7dLSYWI01yc3pIH8w"
Basic filter to retain all spans from a service:
pup apm retention-filters create \ --name="Production API Service" \ --query="service:api env:production" \ --rate=1.0 \ --enabled=true
With sampling:
pup apm retention-filters create \ --name="Sample Staging Logs" \ --query="env:staging" \ --rate=0.1 \ --enabled=true
Retain only top-level spans (traces):
pup apm retention-filters create \ --name="Production Top Level Spans" \ --query="@_top_level:1 env:production" \ --rate=1.0 \ --enabled=true
With trace rate:
pup apm retention-filters create \ --name="High Value Traces" \ --query="service:checkout" \ --rate=0.5 \ --trace-rate=1.0 \ --enabled=true
Retain spans with errors:
pup apm retention-filters create \ --name="Error Spans" \ --query="status:error" \ --rate=1.0 \ --enabled=true
Retain slow spans:
pup apm retention-filters create \ --name="Slow Operations" \ --query="@duration:>2s" \ --rate=1.0 \ --enabled=true
pup apm retention-filters update \ --filter-id="7RBOb7dLSYWI01yc3pIH8w" \ --name="Updated Filter Name" \ --query="service:api env:production" \ --rate=0.8 \ --enabled=true
Disable filter:
pup apm retention-filters update \ --filter-id="7RBOb7dLSYWI01yc3pIH8w" \ --enabled=false
pup apm retention-filters delete \ --filter-id="7RBOb7dLSYWI01yc3pIH8w"
pup apm retention-filters reorder \
--filter-ids='[
"filter-id-1",
"filter-id-2",
"filter-id-3"
]'pup apm span-metrics list
pup apm span-metrics get \ --metric-id="trace.api.request.duration"
Count spans by service and status:
pup apm span-metrics create \
--metric-id="trace.request.count" \
--aggregation-type="count" \
--filter-query="*" \
--group-by='[
{"path": "service", "tag_name": "service"},
{"path": "@http.status_code", "tag_name": "status_code"}
]'Count errors by service:
pup apm span-metrics create \
--metric-id="trace.errors.count" \
--aggregation-type="count" \
--filter-query="status:error" \
--group-by='[
{"path": "service", "tag_name": "service"}
]'Request duration distribution:
pup apm span-metrics create \
--metric-id="trace.request.duration" \
--aggregation-type="distribution" \
--path="@duration" \
--filter-query="service:api" \
--include-percentiles=true \
--group-by='[
{"path": "resource_name", "tag_name": "resource"}
]'Database query duration:
pup apm span-metrics create \
--metric-id="trace.db.query.duration" \
--aggregation-type="distribution" \
--path="@duration" \
--filter-query="span.kind:client AND db.system:*" \
--include-percentiles=true \
--group-by='[
{"path": "@db.system", "tag_name": "db_type"},
{"path": "@db.operation", "tag_name": "operation"}
]'HTTP response size distribution:
pup apm span-metrics create \
--metric-id="trace.http.response.size" \
--aggregation-type="distribution" \
--path="@http.response.content_length" \
--filter-query="@http.response.content_length:*" \
--include-percentiles=false \
--group-by='[
{"path": "service", "tag_name": "service"},
{"path": "@http.status_code", "tag_name": "status_code"}
]'pup apm span-metrics update \ --met
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
Specialized agent for managing Datadog Agentless Scanning - configure cloud security scanning for AWS and Azure resources without requiring Agents
Manage Datadog API keys and Application keys for authentication and programmatic access. Handles creation, listing, updating, and deletion of keys.
Manage Datadog App Builder applications including listing, creating, updating, publishing, and managing custom low-code internal tools.
Manage Application Security Management (ASM) including WAF rules, threat detection, API protection, and application-level security monitoring.
Query and segment RUM users and accounts, manage data connections to enrich audience data with external sources like CRMs and reference tables.
Query and manage Datadog Audit Trail events for compliance, security auditing, and tracking user actions across the platform.