dd-apm

APM - dấu vết, dịch vụ, phụ thuộc, phân tích hiệu suất.

npx skills add https://github.com/datadog-labs/pup --skill dd-apm

Datadog APM

Distributed tracing, service maps, and performance analysis.

Requirements

Datadog Labs Pup should be installed via:

brew tap datadog-labs/pack
brew install pup

Quick Start

pup auth login
pup apm services list --env production
pup traces search --query="service:api-gateway" --from="1h"

Services

List Services

--env is required for all apm services commands.

pup apm services list --env production
pup apm services list --env staging

Service Statistics

pup apm services stats --env production
pup apm services stats --env production --from 4h

Service Operations and Resources

# List operations for a service
pup apm services operations --env production --service api-gateway

# List resources (endpoints) for an operation
pup apm services resources --env production --service api-gateway --name http.request

Service Dependencies

pup apm dependencies list --env production

Flow Map

# View service flow map (--query and --env required)
pup apm flow-map --query "service:api-gateway" --env production

Traces

Traces are searched via the top-level traces command (not under apm).

Important: APM durations are in nanoseconds: 1 second = 1,000,000,000 ns.

Search Traces

# By service
pup traces search --query="service:api-gateway" --from="1h"

# Errors only
pup traces search --query="service:api-gateway status:error" --from="1h"

# Slow traces (>1 second = 1000000000 ns)
pup traces search --query="service:api-gateway @duration:>1000000000" --from="1h"

# With specific tag
pup traces search --query="service:api @http.url:/api/users" --from="1h"

Aggregate Traces

# Average duration by resource
pup traces aggregate \
  --query="service:api-gateway" \
  --compute="avg(@duration)" \
  --group-by="resource_name" \
  --from="1h"

# Error count by service
pup traces aggregate \
  --query="status:error" \
  --compute="count" \
  --group-by="service" \
  --from="1h"

# p99 latency
pup traces aggregate \
  --query="service:api-gateway" \
  --compute="percentile(@duration, 99)" \
  --from="1h"

Key Metrics

MetricWhat It Measures
trace.http.request.hitsRequest count
trace.http.request.durationLatency
trace.http.request.errorsError count
trace.http.request.apdexUser satisfaction

⚠️ Trace Sampling

Not all traces are kept. Understand sampling:

ModeWhat's Kept
Head-basedRandom % at start
Error/SlowAll errors, slow traces
RetentionWhat's indexed (billed)

Trace Retention Costs

RetentionCost
Indexed spans$$$ per million
Ingested spans$ per million

Best practice: Only index what you need for search.

Service Level Objectives

Link APM to SLOs:

pup slos create --file slo.json

Common Queries

GoalQuery
Slowest endpointspup traces aggregate --query="service:api" --compute="avg(@duration)" --group-by="resource_name" --from="1h"
Error rate by servicepup traces aggregate --query="status:error" --compute="count" --group-by="service" --from="1h"
Throughputpup traces aggregate --query="service:api" --compute="count" --group-by="resource_name" --from="1h"

Service Config

Query service instance metadata — instance IDs, hostnames, and config IDs for all running instances of a service. Returns up to 100 instances.

# Get instance metadata for a service
pup apm service-config get --service-name my-service

# Filter by environment
pup apm service-config get --service-name my-service --env prod

# Filter by specific instance IDs
pup apm service-config get --service-name my-service --service-instance-ids "id-1,id-2"

Note on service identity: service_name and env come from the SDK telemetry pipeline and may differ from values in the Service Catalog.

Service Library Config

Query the APM tracer configuration deployed across all running instances of a service. Useful for auditing config drift — finding instances where tracing, profiling, or AppSec is misconfigured relative to the rest of the fleet.

# Get tracer config for a service
pup apm service-library-config get --service-name my-service

# Filter by environment
pup apm service-library-config get --service-name my-service --env prod

# Filter by language
pup apm service-library-config get --service-name my-service --env prod --language python

# Only show configs where instances disagree (config drift)
pup apm service-library-config get --service-name my-service --mixed

Note on service identity: service_name, env, and language_name come from the SDK telemetry pipeline and reflect what the tracer reports at runtime. These may differ from values in the Service Catalog, which aggregates data from multiple sources (APM spans, USM, infrastructure tags, manual definitions).

Troubleshooting

ProblemFix
No tracesCheck ddtrace installed, DD_TRACE_ENABLED=true
Missing serviceVerify DD_SERVICE env var
Traces not linkedCheck trace headers propagated
High cardinalityDon't tag with user_id/request_id
--env required errorAlways pass --env to apm services commands

References/Docs

Thêm skills từ datadog-labs

dd-audit
datadog-labs
Điều tra dấu vết kiểm toán - ai đã thay đổi cái gì, xâm phạm khóa, nguyên nhân gốc rễ của sự tăng vọt chi phí, bằng chứng tuân thủ (SOC 2/PCI) và kiểm toán hoạt động AI.
official
agent-install
datadog-labs
Install the Datadog Agent on Kubernetes using the Datadog Operator — required before enabling Single Step Instrumentation (SSI), which automatically…
official
agent-observability-auto-experiment
datadog-labs
Chạy leo đồi cải thiện mã lặp đi lặp lại dựa trên dữ liệu Datadog LLM-Obs thực tế, cục bộ, với Claude Code làm tác nhân. Thiết lập đánh giá cơ sở, thực hiện một…
official
agent-observability-eval-bootstrap
datadog-labs
Khởi tạo bộ đánh giá từ dấu vết sản xuất — theo mặc định đề xuất bộ đánh giá LLM-judge trực tuyến và, sau khi bạn xác nhận, tạo chúng trong Datadog dưới dạng bản nháp bị vô hiệu hóa…
official
agent-observability-eval-pipeline
datadog-labs
Đường ống quan sát Agent từ đầu đến cuối cho ml_app được instrument hóa — phân loại các trace production, truy tìm nguyên nhân gốc rễ của sự cố, khởi tạo các bộ đánh giá, sau đó (tùy chọn)…
official
agent-observability-experiment-analyzer
datadog-labs
Phân tích kết quả thử nghiệm LLM. Xử lý các thử nghiệm đơn lẻ hoặc so sánh, chế độ khám phá hoặc hỏi đáp. Sử dụng khi người dùng nói "phân tích thử nghiệm", "so sánh…
official
agent-observability-replay-trace
datadog-labs
Sử dụng khi nhà phát triển muốn lặp lại trên MỘT trace Agent Observability / LLM Obs cụ thể mà họ không hài lòng với kết quả đầu ra — chạy lại trace đó với…
official
agent-observability-trace-rca
datadog-labs
Phân tích nguyên nhân gốc rễ trên các dấu vết LLM trong production. Chẩn đoán lý do ứng dụng LLM gặp lỗi — hoạt động từ phán quyết của bộ đánh giá, lỗi runtime, hoặc các vấn đề cấu trúc…
official