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.
89
85%
Does it follow best practices?
Impact
100%
1.85xAverage score across 3 eval scenarios
Passed
No known issues
Help users instrument Java, Python, Node.js, .NET, and Go applications with OpenTelemetry
SDKs and send traces, metrics, and logs to Coralogix. Use this skill when someone is adding
SDK instrumentation to their app — not when they are deploying or configuring the collector
(use opentelemetry-collector for that).
| 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 |
| User wants to deploy or configure the OTel Collector | Not in scope — use the opentelemetry-collector skill |
| User wants to write OTTL transform/filter statements | Not in scope — use the opentelemetry-ottl skill |
language-selector.md first to determine language, signal, mode, and export path.coralogix-endpoints.md whenever generating endpoint or region configuration.troubleshooting.md only for debugging / missing telemetry requests.output-templates.md whenever generating a final user-facing instrumentation answer.Direct OTLP export to Coralogix requires Authorization=Bearer <key> (Send-Your-Data type)
as an OTLP header, plus cx.application.name, cx.subsystem.name, and service.name as
resource attributes. The HTTP/protobuf traces endpoint is
https://ingress.<region>.coralogix.com:443/v1/traces; logs use /v1/logs. For gRPC the
required format depends on the language: Java and .NET require the full https:// URI
scheme (https://ingress.<region>.coralogix.com:443) because their OTLP exporters perform
URI parsing on the endpoint value. Python and Node.js examples should prefer bare
host:port (ingress.<region>.coralogix.com:443), but both SDKs also accept
https://host:port; do not flag that as incorrect in a user's config. Go WithEndpoint
uses bare host:port only. When exporting via a collector, the SDK sends unauthed to the
collector; the collector holds the key. Full region table and per-language formats:
references/coralogix-endpoints.md.
All three of service.name, cx.application.name, and cx.subsystem.name are required for
full APM functionality. Missing any one causes silent degradation — traces arrive but APM
features are incomplete or empty.
| Attribute | Required for |
|---|---|
service.name | APM Service Catalog entry, service map, APM transaction grouping |
cx.application.name + cx.subsystem.name | Data routing to team, TCO policy, APM grouping |
telemetry.sdk.language | Language icon in APM — set automatically by the OTel SDK; do not strip it |
k8s.pod.name, k8s.namespace.name | Infrastructure Explorer pod/namespace linking |
host.name | Infrastructure Explorer host view |
APM Transactions require CoralogixTransactionSampler in the SDK sampler chain — available
for Python, Node.js, and Go (see each language reference file). Node.js caveat: bundled
auto-instrumentation (@opentelemetry/auto-instrumentations-node via NODE_OPTIONS) does
NOT support Coralogix transactions — use individual instrumentation or manual instead.
Always include in generated answers:
cx.application.name + cx.subsystem.name + service.name. All three are required;
missing any one silently degrades APM features.OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_HEADERS, OTEL_SERVICE_NAME, and OTEL_RESOURCE_ATTRIBUTES in every setup answer. For HTTP/protobuf traces use https://ingress.<region>.coralogix.com:443/v1/traces; for gRPC use https://ingress.<region>.coralogix.com:443 (Java/.NET) or the standard Coralogix bare form ingress.<region>.coralogix.com:443 (Python/Node.js/Go). Python and Node.js also accept https://host:port; Go WithEndpoint does not.https://opentelemetry.io/docs/languages/<lang>/getting-started/ instead of writing install commands. Still name required package artifacts when they affect correctness.opentelemetry-collector skill. Do not answer collector configuration questions even partially — this skill covers SDK instrumentation only, ending at the exporter.language-selector.md → language ref + coralogix-endpoints.md → generate with output-templates.md.output-templates.md.troubleshooting.md first; escalate to language ref only if SDK-side cause confirmed.This skill does not cover:
opentelemetry-collector.Payload Too Large OTLP errors and response streaming
limitations are handled at the Lambda layer level, not by the OTel SDK. Refer customers
to the Coralogix Lambda layer documentation.6b2e359
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.