infra-opentelemetry-instrumentation

Instrument Python ETL pipelines with OpenTelemetry and export traces via OTLP.

14|1|Updated May 5, 2026
One-click install
npx skills add https://github.com/ivanshamaev/de-agent-skills --skill infra-opentelemetry-instrumentation
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: infra-opentelemetry-instrumentation
Source: https://github.com/ivanshamaev/de-agent-skills/tree/main/group_skills/infra_dataops_group_skills/infra_opentelemetry_instrumentation
Command: npx skills add https://github.com/ivanshamaev/de-agent-skills --skill infra-opentelemetry-instrumentation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you instrument data engineering pipelines so you can see end-to-end latency, pinpoint where time is spent, and correlate traces across Airflow, Spark, dbt, and Kafka.

Core Features & Use Cases

  • Zero-code Python auto-instrumentation: bootstrap OpenTelemetry instrumentation for common libraries (HTTP, SQLAlchemy, Kafka clients, and more) without manual code changes.
  • Manual spans for ETL phases: create and annotate spans for extract/transform/load so row counts, partition dates, and target tables become searchable telemetry.
  • Context propagation across services: propagate trace context and baggage (e.g., partition date, run id) from Airflow tasks through downstream tasks and via Kafka headers.
  • OTLP exporter + Collector pipeline tuning: route telemetry to an OpenTelemetry Collector and apply tail sampling (keep errors and slow traces) to control cost.
  • Trace/log correlation: inject trace_id and span_id into logs to link log events back to the corresponding trace in backends like Grafana Tempo.
  • Use Case: When an ETL run is slow or failing, follow one pipeline run through Airflow task execution, into Spark/dbt-related spans, and across Kafka messaging to identify the exact bottleneck and affected partitions.

Quick Start

Instrument your ETL Python code by setting OTEL_SERVICE_NAME and OTLP exporter environment variables, then run your pipeline using opentelemetry-instrument so traces are exported to your OpenTelemetry Collector.

Frequently Asked Questions about infra-opentelemetry-instrumentation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I trace ETL pipeline latency across Airflow tasks and Kafka messages?▼

Yes, Python auto-instrumentation bootstraps OpenTelemetry for common libraries like HTTP, SQLAlchemy, and Kafka clients without requiring manual code changes to your data pipelines.

How do I add searchable telemetry data to my extract, transform, and load phases?▼

You create and annotate manual OpenTelemetry spans for your extract, transform, and load phases so row counts, partition dates, and target tables become searchable telemetry attributes.

How do I control observability costs when exporting OpenTelemetry traces?▼

You control observability costs by routing telemetry via the OTLP exporter to an OpenTelemetry Collector and applying tail sampling to keep only errors and slow traces.

Can I correlate my application logs with OpenTelemetry traces in Grafana Tempo?▼

Yes, you can inject trace_id and span_id into your application logs to link log events back to their corresponding traces in backends like Grafana Tempo for easier debugging.

Do I need an OpenTelemetry Collector to use this instrumentation for my data platform?▼

Yes, an OpenTelemetry Collector is required to receive OTLP exported telemetry, apply tail sampling, and route the observability data to your configured backend.