
opentelemetry-instrumentation
Instruments Java, Python, Node.js, .NET, and Go applications with OpenTelemetry SDKs to send traces, metrics, and logs to Coralogix. Use for SDK-side OTel setup, OTLP exporter env vars, Coralogix resource attributes, APM transaction samplers, Kubernetes Operator injection, or debugging missing traces, metrics, logs, or no telemetry from an application. Not for OTel Collector config (use opentelemetry-collector), OTTL authoring (use opentelemetry-ottl), eBPF instrumentation, or Lambda layers.
- Installs
- 39
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/coralogix/cx-skills --skill opentelemetry-instrumentation- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads opentelemetry-instrumentation automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
OpenTelemetry SDK Instrumentation for Coralogix
When to Use This Skill
| Use case | What to do |
|---|---|
| Choose a language / decide where to start | Load language-selector.md first — it has the decision tree for language, signal, mode, and export path |
| Generate setup for a specific language | Load the language reference after confirming the SDK: java.md, python.md, nodejs.md, dotnet.md, go.md |
| Configure OTLP endpoint, region, or authentication | Load coralogix-endpoints.md — covers regional domains, OTLP host:port, auth header format |
| Generate a complete user-facing answer | Load output-templates.md — checklist structure with assumptions, code, validation steps |
| Diagnose missing traces, metrics, or logs from the SDK | Load troubleshooting.md — symptom → root-cause table for SDK-side failures |
Load order: language-selector.md → language ref → coralogix-endpoints.md → output-templates.md (always last). Load troubleshooting.md only for debugging.
Answer Rules
Before answering (agent mode):
- Always call
list_references()first, thenread_reference(...)for the relevant files (language selector + the target language + endpoints; add troubleshooting only when debugging). Do not answer from memory if the references could affect correctness. - Use the structure/checklists in output-templates.md for any user-facing response; keep your own prose minimal and actionable.
Always include in generated answers:
-
Required env vars (names only) — include these in any “copy/paste” setup:
OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_HEADERS,OTEL_SERVICE_NAME,OTEL_RESOURCE_ATTRIBUTES(plusOTEL_*_EXPORTER/OTEL_EXPORTER_OTLP_*_PROTOCOLwhen choosing signals/protocol). For exact per-language endpoint formats and the Python%20env-var rule, use coralogix-endpoints.md. -
Required resource attributes —
service.name(APM catalog/transactions),cx.application.name+cx.subsystem.name(routing, TCO, APM grouping),telemetry.sdk.language(auto-set; do not strip). Missing any silently degrades APM. Additional k8s/host attributes are covered in each language reference. -
Telemetry quality. Low-cardinality span names, no sensitive data, bounded metric attributes, structured single-line logs with trace/span IDs, validation steps for the signal. Never approve user-scoped values (
user_id,tenant_id,request_id,session_id) as metric labels — they cause unbounded cardinality and will explode metric storage. -
Direct vs collector routing rule: Default to direct OTLP for dev/test environments, simple single-service production deployments, or when no collector infrastructure exists. Default to via-collector for Kubernetes workloads needing pod/namespace enrichment (
k8sattributes), tail sampling, multi-service shared key management, or buffered retry/file persistence requirements. When the deployment context is unknown, show both options using the tradeoff table in language-selector.md. -
Collector config is out of scope. Redirect to
opentelemetry-collector— do not partially answer pipeline or processor questions.
High-Risk Gotchas (Do Not Guess)
Keep this list short and only use it when the user’s symptom matches. For details, defer to the language references.
- Java agent:
opentelemetry-javaagent.jar+JAVA_TOOL_OPTIONS="-javaagent:/path/to/opentelemetry-javaagent.jar". - Java/.NET gRPC endpoint: must be a full URI
https://ingress.<region>.coralogix.com:443(URI parsing breaks barehost:port). - Python auth header: env var needs
%20(Authorization=Bearer%20<KEY>); programmatic headers use a tuple sequence with lowercase key + literal space (("authorization", f"Bearer {token}")). - Node.js HTTP/proto: exporter
urlmust include/v1/traces(https://ingress.<region>.coralogix.com:443/v1/traces); gRPC doesn’t. - Go gRPC:
credentials.NewTLS(nil)and bare endpointingress.<region>.coralogix.com:443(nohttps://inWithEndpoint). - Go metrics cardinality:
sdk/metricdefaults to a cardinality limit of2000; useWithCardinalityLimit(0)only when you intentionally need unlimited series, and expectotel.metric.overflow=truewhen the limit is hit. - .NET OTLP disk retry:
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=disknow requiresOTEL_DOTNET_EXPERIMENTAL_OTLP_DISK_RETRY_DIRECTORY_PATH; do not rely on an implicit temp-directory fallback. - Transactions: require
CoralogixTransactionSampler(Node.js:@coralogix/opentelemetry); bundledNODE_OPTIONSauto-instr doesn’t support Transactions. - Short-lived Python scripts:
SimpleSpanProcessorvsBatchSpanProcessor; metrics needPeriodicExportingMetricReaderflush/wait. - .NET Framework incoming propagation:
OpenTelemetry.Instrumentation.AspNet+AddAspNetInstrumentation().
Workflow
- New setup: language-selector.md → language ref + coralogix-endpoints.md → generate with output-templates.md.
- Code review: language ref → review checklist in output-templates.md.
- Debugging: troubleshooting.md first; escalate to language ref only if SDK-side cause confirmed.
Limitations
- OTel Collector / OTTL — use
opentelemetry-collectororopentelemetry-ottl. - Lambda / serverless — use Coralogix Lambda layer docs;
Payload Too LargeOTLP errors are Lambda-layer concerns, not SDK. - PHP, eBPF auto-instrumentation — not covered.
- Coralogix platform internals (data routing, index policies, APM UI config) — platform topics.
Deprecated native SDKs
Native Coralogix SDKs are EOL June 30, 2026 — redirect to OTel and do not provide configuration for legacy packages.
Upstream references
Coralogix OTel instrumentation: Java · Python · Node.js · .NET · Go
FAQ
What does the opentelemetry-instrumentation skill do?
Instruments Java, Python, Node.js, .NET, and Go applications with OpenTelemetry SDKs to send traces, metrics, and logs to Coralogix. Use for SDK-side OTel setup, OTLP exporter env vars, Coralogix resource attributes, APM transaction samplers, Kubernetes Operator injection, or debugging missing traces, metrics, logs, or no telemetry from an application. Not for OTel Collector config (use opentelemetry-collector), OTTL authoring (use opentelemetry-ottl), eBPF instrumentation, or Lambda layers.
How do I install opentelemetry-instrumentation?
Run npx skills add https://github.com/coralogix/cx-skills --skill opentelemetry-instrumentation in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/opentelemetry-instrumentation/ (personal) or .claude/skills/opentelemetry-instrumentation/ (project).
Which AI agents can use opentelemetry-instrumentation?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is opentelemetry-instrumentation safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains opentelemetry-instrumentation?
It is published by coralogix in coralogix/cx-skills. It has 39 recorded installs.
More from coralogix/cx-skills
opentelemetry-collector
coralogix/cx-skills
Open the skill to read its SKILL.md instructions.
opentelemetry-ottl
coralogix/cx-skills
OpenTelemetry Transformation Language (OTTL) for OTel Collector pipelines. Use when writing or debugging OTTL statements in the transform processor, filter processor, or routing connector in any collector configuration — context selection, path expression mistakes (attributes vs resource.attributes), errormode, cardinality reduction with keepkeys, JSON body handling with ParseJSON, PII redaction with SHA256 / replacepattern, and span naming. Not for receiver/exporter connectivity, DNS, pipeline wiring, or telemetry that never reaches the processor — those are infra problems, not OTTL problems.
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.