CtrlK
BlogDocsLog inGet started
Tessl Logo

o11y-dev/opentelemetry-skill

Expert OpenTelemetry guidance for collector configuration, pipeline design, and production telemetry instrumentation across Kubernetes, ECS, serverless, and standalone deployments. Use when configuring collectors, designing pipelines, instrumenting applications, implementing sampling, managing cardinality, securing telemetry, writing OTTL transformations, or setting up AI coding agent observability (Claude Code, Codex, Gemini CLI, GitHub Copilot).

94

1.34x
Quality

98%

Does it follow best practices?

Impact

94%

1.34x

Average score across 18 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

Evaluation results

92%

92%

Add user_id as a metric dimension to track per-user API latency.

Criteria
Baseline
With context

Rejects the request and explains cardinality violation

0%

100%

Explains metric cardinality explosion risks

0%

100%

Suggests user_id as trace attribute instead of metric dimension

0%

100%

Offers aggregated alternative dimensions

0%

46%

Does not provide metric configuration that includes user_id

0%

100%

100%

90%

Configure an OpenTelemetry Collector to receive OTLP traces and export them to Jaeger.

Criteria
Baseline
With context

Includes memory_limiter processor in the configuration

0%

100%

Places memory_limiter as the first processor in the pipeline

0%

100%

Explains why memory_limiter must be first

0%

100%

Includes proper receiver, processor, and exporter configuration

66%

100%

Uses correct processor ordering: memory_limiter → batch → other processors

0%

100%

98%

-2%

Configure mutual TLS (mTLS) between your application and the OpenTelemetry Collector in Kubernetes. The setup should:

Criteria
Baseline
With context

Explains certificate generation (CA, server cert, client cert)

100%

100%

Configures Kubernetes secrets for certificates

100%

100%

Configures collector with client authentication

100%

100%

Configures application SDK with client certificates

100%

100%

Includes certificate rotation/expiration strategy

100%

100%

Provides troubleshooting guidance for TLS errors

100%

80%

100%

2%

Configure networking for the OpenTelemetry Collector in Docker to enable communication between:

Criteria
Baseline
With context

Uses custom bridge network (not default bridge)

100%

100%

Configures service discovery by container name

100%

100%

Exposes ports selectively

100%

100%

Handles backend connectivity

100%

100%

Addresses firewall and proxy considerations

90%

100%

Includes network troubleshooting guidance

100%

100%

100%

15%

Configure resource management for an OpenTelemetry Collector processing 100k traces per second. The configuration should:

Criteria
Baseline
With context

Configures memory_limiter processor

88%

100%

Sets appropriate queue settings for backpressure

60%

100%

Specifies Kubernetes resource requests and limits

80%

100%

Explains memory monitoring and alerting

100%

100%

Provides scaling guidance

100%

100%

98%

-2%

Deploy the OpenTelemetry Collector as a daemon service in AWS ECS on EC2 instances with the following requirements:

Criteria
Baseline
With context

Configures collector as ECS service (not task)

100%

100%

Uses host IP for application-to-collector communication

100%

92%

Configures host port mapping

100%

100%

Implements IAM roles for AWS service access

100%

100%

Includes service discovery configuration

100%

100%

Addresses restart and failure handling

100%

100%

99%

2%

Deploy the OpenTelemetry Collector as a DaemonSet in a Kubernetes cluster to collect telemetry from all nodes. The collector should:

Criteria
Baseline
With context

Uses DaemonSet resource type (not Deployment)

100%

100%

Includes resource requests and limits

100%

100%

Configures readiness and liveness probes

100%

93%

Implements node affinity or node selectors

100%

100%

Includes RBAC configuration (ServiceAccount, ClusterRole)

85%

100%

Uses toleration for node taints

100%

100%

83%

-12%

Deploy the OpenTelemetry Collector as a Gateway (Deployment) in Kubernetes to receive telemetry from distributed applications. The collector should:

Criteria
Baseline
With context

Uses Deployment resource type with configurable replicas

100%

100%

Configures LoadBalancer or ClusterIP Service

100%

100%

Includes resource requests, limits, and HPA autoscaling

100%

65%

Uses persistent queues for resilience

66%

100%

Implements loadbalancing exporter with trace ID routing

100%

100%

Includes PodDisruptionBudget for high availability

100%

0%

96%

2%

Deploy the OpenTelemetry Collector as a sidecar container within a Kubernetes pod alongside your application. The setup should:

Criteria
Baseline
With context

Defines collector container in pod specification

100%

100%

Configures localhost networking between app and collector

100%

100%

Allocates shared resources appropriately

70%

80%

Includes logging and health checks for collector

100%

100%

Explains sidecar trade-offs vs. DaemonSet/Gateway

100%

100%

Recommends sidecar for specific use cases only

100%

100%

78%

-6%

Deploy the OpenTelemetry Collector as a sidecar container within an ECS task to collect telemetry from the application. The setup should:

Criteria
Baseline
With context

Configures collector as sidecar in task definition

100%

100%

Uses container network mode (not host) and container hostname

90%

100%

Allocates CPU and memory within Fargate limits

100%

100%

Includes CloudWatch logging for troubleshooting

100%

100%

Configures environment variables for secrets/config

46%

53%

Warns about sidecar resource overhead

60%

0%

86%

-6%

Design a multi-cloud OpenTelemetry Collector deployment across AWS, GCP, and Azure with the following requirements:

Criteria
Baseline
With context

Uses cloud-agnostic OpenTelemetry components

90%

95%

Addresses cloud-specific authentication (IAM, Service Accounts)

100%

96%

Implements per-region or per-cloud aggregation

90%

80%

Handles networking constraints (VPCs, Security Groups)

93%

86%

Considers compliance and data residency

93%

73%

Provides cost and operational considerations

60%

60%

100%

100%

Set up OpenTelemetry monitoring for Claude Code to track token usage and costs.

Criteria
Baseline
With context

Specifies CLAUDE_CODE_ENABLE_TELEMETRY=1 environment variable

0%

100%

Mentions OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=cumulative

0%

100%

References ~/.claude/settings.json for persistent configuration

0%

100%

Includes privacy controls for prompt and tool logging

0%

100%

Warns about session.id cardinality in metrics

0%

100%

100%

62%

Set up tail sampling in Kubernetes to sample 10% of traces but keep all error traces.

Criteria
Baseline
With context

Recommends Gateway deployment pattern for tail sampling

66%

100%

Configures loadbalancing exporter with routing_key: traceID

0%

100%

Sets up Headless Service for consistent routing

0%

100%

Includes proper tail sampling policies for both error and probabilistic sampling

90%

100%

Warns about tail_sampling processor Beta stability level

0%

100%

100%

Set up the OpenTelemetry Collector as a standalone Docker container with the following requirements:

Criteria
Baseline
With context

Specifies appropriate Docker image

100%

100%

Mounts configuration file as volume

100%

100%

Exposes necessary ports

100%

100%

Includes restart policy

100%

100%

Sets resource limits

100%

100%

Configures logging and monitoring

100%

100%

100%

5%

Set up the OpenTelemetry Collector on a Linux VM using systemd service management with the following requirements:

Criteria
Baseline
With context

Creates systemd unit file in /etc/systemd/system/

100%

100%

Configures [Unit] section with proper metadata

100%

100%

Sets up [Service] section with ExecStart and ExecReload

75%

100%

Includes User and resource limits (MemoryLimit, LimitNOFILE)

100%

100%

Configures logging via StandardOutput and StandardError

100%

100%

Includes [Install] section for systemd enable

100%

100%

Documents environment variable setup for configuration

100%

100%

83%

6%

Set up the OpenTelemetry Collector using Docker Compose with the following requirements:

Criteria
Baseline
With context

Includes collector and sample application services

100%

100%

Uses custom network for service discovery

50%

100%

Mounts collector configuration file

100%

100%

Includes health checks for both services

100%

66%

Exposes collector ports appropriately

53%

53%

Includes environment variables for configuration

70%

75%

97%

Using OpenAI Codex, generate a complete configuration for the OpenTelemetry Collector in JSON format that:

Criteria
Baseline
With context

Generates valid JSON configuration structure

100%

100%

Configures OTLP receiver on port 4317

100%

100%

Includes batch processor with reasonable timeout

100%

100%

Configures exporter for backend system

100%

100%

Defines service section with pipelines

100%

100%

Includes comments or follows naming conventions

80%

80%

95%

95%

You are evaluating a microservices platform with the following constraints:

Criteria
Baseline
With context

Recommends Gateway pattern for high-volume centralized collection

0%

80%

Explains trade-offs between patterns

0%

100%

Addresses multi-region deployment considerations

0%

100%

Provides resource estimates for 500k traces/min

0%

100%

Considers scaling and cost implications

0%

100%

Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents

Configure an OpenTelemetry Collector to receive OTLP traces and export them to Jaeger.Set up tail sampling in Kubernetes to sample 10% of traces but keep all error traces.Set up OpenTelemetry monitoring for Claude Code to track token usage and costs.Add user_id as a metric dimension to track per-user API latency.Set up the OpenTelemetry Collector on a Linux VM using systemd service management with the following requirements:Set up the OpenTelemetry Collector using Docker Compose with the following requirements:Deploy the OpenTelemetry Collector as a daemon service in AWS ECS on EC2 instances with the following requirements:Configure mutual TLS (mTLS) between your application and the OpenTelemetry Collector in Kubernetes. The setup should:Using OpenAI Codex, generate a complete configuration for the OpenTelemetry Collector in JSON format that:Configure networking for the OpenTelemetry Collector in Docker to enable communication between:Set up the OpenTelemetry Collector as a standalone Docker container with the following requirements:Design a multi-cloud OpenTelemetry Collector deployment across AWS, GCP, and Azure with the following requirements:Deploy the OpenTelemetry Collector as a Gateway (Deployment) in Kubernetes to receive telemetry from distributed applications. The collector should:Deploy the OpenTelemetry Collector as a sidecar container within a Kubernetes pod alongside your application. The setup should:Deploy the OpenTelemetry Collector as a sidecar container within an ECS task to collect telemetry from the application. The setup should:Configure resource management for an OpenTelemetry Collector processing 100k traces per second. The configuration should:Deploy the OpenTelemetry Collector as a DaemonSet in a Kubernetes cluster to collect telemetry from all nodes. The collector should:You are evaluating a microservices platform with the following constraints: