agentleFS
G1JoshiG1Joshi/Agent-Skills/skills/devops/datadog/SKILL.md

datadog

Skill15 starsChanged 42 days agoMITView on GitHub

Expert Datadog monitoring assistance covering APM tracing, custom metrics, log collection, dashboards, and monitors. Use when instrumenting production infrastructure and observability.

  • Reads credentials
  • Installs packages

9 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use commit and code-review.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • SentrySkill

    commit

    Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.

    Also in 3 projects that use this

  • GoogleSkill

    code-review

    Adversarial systems, concurrency, memory-model, and architecture code review protocol. Use this skill whenever asked to review code, PRs, diffs, or branches in Filament.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 9 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use DogStatsD over local UDP to submit high-frequency metrics without blocking application request threads.

    line 142

“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Datadog

Datadog is a unified SaaS observability and security platform providing full-stack APM tracing, infrastructure monitoring, log aggregation, and real-time anomaly detection.

When to Use

  • Enterprise Full-Stack Observability: Unified APM tracing, infrastructure metrics, log aggregation, and real-user monitoring (RUM).
  • Distributed Microservice Tracing (APM): Visualizing request flow, latency bottlenecks, and database query timings across services.
  • Automated Anomaly Detection & Alerting: Machine learning-powered alert monitors detecting traffic spikes, errors, and memory leaks.
  • Cloud Cost & Security Posture Management: Tracking cloud resource misconfigurations, compliance, and container security.

Quick Start

1. Install Datadog Agent (Linux/macOS)

DD_API_KEY="<YOUR_DATADOG_API_KEY>" DD_SITE="datadoghq.com" \
  bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script.sh)"

2. Auto-Instrument Node.js Application

npm install dd-trace --save
// At the absolute top of your entrypoint file (index.js)
import tracer from "dd-trace";
tracer.init({
  service: "order-service",
  env: "production",
  logInjection: true,
  runtimeMetrics: true,
});

Core Concepts

Auto-Instrumenting Applications with dd-trace

Adding distributed tracing to a Node.js microservice:

// Must be initialized before any other module imports!
import tracer from "dd-trace";

tracer.init({
  env: "production",
  service: "order-processing-service",
  version: "2026.1.0",
  logInjection: true, // Automatically inject trace IDs into logs
  runtimeMetrics: true, // Collect GC and event loop latency metrics
});

export default tracer;

Custom Business Metrics & StatsD

Submitting custom business KPIs with high performance over UDP:

from datadog import initialize, statsd

initialize(statsd_host="127.0.0.1", statsd_port=8125)

# Increment transaction counter with tags
statsd.increment(
    'ecommerce.checkout.success',
    tags=['payment_method:apple_pay', 'region:us_east']
)

# Record latency histogram
statsd.histogram(
    'ecommerce.checkout.duration_ms',
    value=245.5,
    tags=['tier:premium']
)

Correlating Logs with Distributed Traces

Formatting structured logs with active Datadog trace context:

{
  "timestamp": "2026-03-27T10:15:30.123Z",
  "level": "error",
  "message": "Payment authorization timed out with gateway",
  "dd": {
    "trace_id": "847291038472918374",
    "span_id": "1928374650192834",
    "service": "order-processing-service",
    "version": "2026.1.0",
    "env": "production"
  }
}

Common Patterns

Distributed APM Tracing with Custom Spans

Problem: Pinpointing exact latency bottlenecks within deeply nested asynchronous service methods.

Solution: Wrap business logic in custom Datadog tracer spans:

import tracer from "dd-trace";
tracer.init(); // Initialize tracer before importing other packages

async function processOrder(orderId) {
  return tracer.trace(
    "order.process",
    { resource: "checkout" },
    async (span) => {
      span.setTag("order.id", orderId);

      const inventory = await checkInventory(orderId);
      span.setTag("inventory.status", inventory.status);

      const charge = await chargeCard(orderId);
      return { inventory, charge };
    },
  );
}

Best Practices

Do:

  • Enforce Unified Service Tagging across all systems: env, service, and version tags must match everywhere.
  • Enable logInjection: true in APM tracers to link logs and traces together automatically in the UI.
  • Use DogStatsD over local UDP to submit high-frequency metrics without blocking application request threads.
  • Configure log sampling and exclusion filters in datadog.yaml to control ingestion costs.

Don't:

  • Initialize APM tracers after importing HTTP or database modules; tracer must load first to patch libraries.
  • Emit high-cardinality tags (e.g. user IDs, order UUIDs, timestamps) as custom metric tag dimensions; use logs/spans.
  • Log sensitive PII or credentials; configure Datadog log scrub rules (log_processing_rules).

Troubleshooting

ErrorCauseSolution
Datadog Agent: API Key invalidDD_API_KEY contains typo or belongs to wrong Datadog site (e.g. EU vs US).Verify API key and ensure DD_SITE is configured correctly (datadoghq.com vs datadoghq.eu).
Traces not showing in APM dashboardApplication tracer unable to reach Datadog agent on port 8126.Set DD_AGENT_HOST=127.0.0.1 and verify agent container port mapping.
Too many metrics: Custom metric cardinality explosionUsing dynamic UUIDs or timestamps as custom metric tag values.Move high-cardinality values from metric tags to log attributes.

References

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.