Skip to content
Back to skills

Open Telemetry Distributed Tracing

ASecurity

Use when implementing OpenTelemetry for observability.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 10, 2026
ai-agentspythongodjangoflaskbackend

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add LoopyLuci/Skills --skill open-telemetry-distributed-tracing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Open Telemetry Distributed Tracing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Open Telemetry Distributed Tracing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/loopyluci-open-telemetry-distributed-tracing/badge)](https://www.skillsdirectory.com/skills/loopyluci-open-telemetry-distributed-tracing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: open-telemetry-distributed-tracing
description: "Use when implementing OpenTelemetry for observability."
version: 1.0.0
author: Hermes Agent
license: MIT
metadata:
  hermes:
    tags: [OpenTelemetry, observability, tracing, metrics, logs, distributed-tracing]
    related_skills: [site-reliability-engineering, logging-observability-patterns, model-monitoring-drift, incident-management-on-call]
---

# OpenTelemetry and Distributed Tracing

Implementing OpenTelemetry for observability — from traces, metrics, and logs through instrumentation, sampling, collectors, and backend integration.

## When to Use

- Building comprehensive observability for distributed systems
- Implementing distributed tracing (trace across microservices)
- Unified metrics, traces, and logs with OpenTelemetry standard
- Reducing observability vendor lock-in

## OpenTelemetry Setup

```python
from opentelemetry import trace, metrics
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter

# Initialize tracer
provider = TracerProvider()
provider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))
trace.set_tracer_provider(provider)
tracer = trace.get_tracer(__name__)

# Instrument code
with tracer.start_as_current_span("process_order") as span:
    span.set_attribute("order.id", "12345")
    span.add_event("payment_processed", {"amount": 99.99, "currency": "USD"})
    result = process_payment()
    if result.status_code != 200:
        span.set_status(trace.Status(trace.StatusCode.ERROR))
```

## Verification Checklist

- [ ] OTLP exporter configured for traces, metrics, logs
- [ ] Auto-instrumentation for common frameworks (Flask, Django, gRPC)
- [ ] Custom spans for business-critical operations
- [ ] Sampling strategy (head-based, tail-based) configured
- [ ] Collector (otel-collector) for batching and processing
- [ ] Backend integration (Jaeger, Tempo, Grafana, Datadog)
- [ ] Trace context propagation across services (W3C TraceContext)
- [ ] Metrics (RED metrics: Rate, Errors, Duration) for each service

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…