OpenTelemetry Collector deployment, instrumentation (Java/Python/Node.js/.NET/Go), and OTTL pipeline transforms for Coralogix — coralogix exporter config, Helm chart selection, Kubernetes topology, ECS/EKS/GKE deployments, SDK setup, APM transactions, and OTTL cardinality/PII/routing.
98
97%
Does it follow best practices?
Impact
99%
1.13xAverage score across 81 eval scenarios
Advisory
Suggest reviewing before use
| 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.
Before answering (agent mode):
list_references() first, then read_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.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
(plus OTEL_*_EXPORTER / OTEL_EXPORTER_OTLP_*_PROTOCOL when choosing signals/protocol). For exact per-language endpoint formats and the Python %20 env-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.
Keep this list short and only use it when the user’s symptom matches. For details, defer to the language references.
opentelemetry-javaagent.jar + JAVA_TOOL_OPTIONS="-javaagent:/path/to/opentelemetry-javaagent.jar".https://ingress.<region>.coralogix.com:443 (URI parsing breaks bare host:port).%20 (Authorization=Bearer%20<KEY>); programmatic headers use a tuple sequence with lowercase key + literal space (("authorization", f"Bearer {token}")).url must include /v1/traces (https://ingress.<region>.coralogix.com:443/v1/traces); gRPC doesn’t.credentials.NewTLS(nil) and bare endpoint ingress.<region>.coralogix.com:443 (no https:// in WithEndpoint).CoralogixTransactionSampler (Node.js: @coralogix/opentelemetry); bundled NODE_OPTIONS auto-instr doesn’t support Transactions.SimpleSpanProcessor vs BatchSpanProcessor; metrics need PeriodicExportingMetricReader flush/wait.OpenTelemetry.Instrumentation.AspNet + AddAspNetInstrumentation().opentelemetry-collector or opentelemetry-ottl.Payload Too Large OTLP errors are Lambda-layer concerns, not SDK.Native Coralogix SDKs are EOL June 30, 2026 — redirect to OTel and do not provide configuration for legacy packages.
Coralogix OTel instrumentation: Java · Python · Node.js · .NET · Go
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
scenario-36
scenario-37
scenario-38
scenario-39
scenario-40
scenario-41
scenario-42
scenario-43
scenario-44
scenario-45
scenario-46
scenario-47
scenario-48
scenario-49
scenario-50
scenario-51
scenario-52
scenario-53
scenario-54
scenario-55
scenario-56
scenario-57
scenario-58
scenario-59
scenario-60
scenario-61
scenario-62
scenario-63
scenario-64
scenario-65
scenario-66
scenario-67
scenario-68
scenario-69
scenario-70
scenario-71
scenario-72
scenario-73
scenario-74
scenario-75
scenario-76
scenario-77
scenario-78
scenario-79
scenario-80
scenario-81
skills
opentelemetry
opentelemetry-collector
references
opentelemetry-instrumentation
opentelemetry-ottl