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.
92
96%
Does it follow best practices?
Impact
92%
1.10xAverage score across 127 eval scenarios
Advisory
Suggest reviewing before use
Use these recurring rules when the topic comes up in a customer question.
For exact field lists in final answers, also read
final-answer-checklists.md.
| Topic | Rule |
|---|---|
service.name | Resource scope only; generated labels such as service_name are not span attributes. Collector span filters should read resource.attributes["service.name"], not attributes["service.name"]. |
| APM operations | Need resource service.name, real top-level span kind, and a low-cardinality operation attribute such as http.route, db.operation, rpc.method, or messaging.operation. |
| HTTP / Transactions | url.full is for outbound HTTP client spans, not inbound server spans; server spans should use url.path / url.scheme plus templated http.route. Route-aware names must exist before CoralogixTransactionSampler derives cgx.transaction. |
| Error Tracking | Needs status dimensions such as http.response.status_code / rpc.grpc.status_code; exception-to-status mapping is a product workaround, not generic OTel semconv. |
| Database Monitoring | Emit stable DB semconv first, but mirror into the current Coralogix compatibility names until backend support is confirmed. |
| OTel upgrades | Classify the break before OTTL: name rename, value rename, generated metric change, scope mismatch, or topology gap. |
| Helm / Fleet | The bridge must render into the path the product consumes, often top-level spanMetrics.transformStatements before normal Span Metrics. |
| Span Metrics | For collector-side sampling, run spanmetrics before the sampler for full RED coverage. SDK head sampling is source-side loss: sampled-out spans never reach the collector, so disable/raise SDK sampling or accept sampled RED metrics. Preserve required labels and writer identity, and treat overflow as expected cardinality-limit fallback behavior. |
| Span Metrics status codes | Generated RED metric label changes belong in the metrics pipeline after spanmetrics, not trace transforms or the traces pipeline before spanmetrics. |
| Infra Explorer | Needs consistent resource-scope k8s.*, host.*, and cloud.*; ownership labels are not the same as APM service.name. |
| Custom Metrics | Keep labels low-cardinality, handle OTLP temporality deliberately, and avoid conflicting dotted/underscore label identities. For multi-writer delta sums, preserve writer identity or aggregate first; use deltatocumulative only after identity/aggregation is correct and a cumulative path is needed. |
| AI Center | Requires GenAI trace spans with gen_ai.system, gen_ai.provider.name, or gen_ai.input.messages in the AI Center trace/archive path; for newer GenAI semconv, check OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental and message-content capture settings. Do not claim the collector can infer or hardcode authoritative GenAI detection attributes from generic HTTP proxy spans. |
| Logs/serverless | Distinguish log-record attributes, resource attributes, and Coralogix-specific cx_metadata.*; removing built-in metadata can affect serverless product behavior. |
| Resource Catalog | Correlation attributes are not inventory. Inventory freshness and self-managed metadata ingestion need the dedicated Resource Catalog path. |
.claude-plugin
.codex-plugin
.cursor-plugin
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
scenario-82
scenario-83
scenario-84
scenario-85
scenario-86
scenario-87
scenario-88
scenario-89
scenario-90
scenario-91
scenario-92
scenario-93
scenario-94
scenario-95
scenario-96
scenario-97
scenario-98
scenario-99
scenario-100
scenario-101
scenario-102
scenario-103
scenario-104
scenario-105
scenario-106
scenario-107
scenario-108
scenario-109
scenario-110
scenario-111
scenario-112
scenario-113
scenario-114
scenario-115
scenario-116
scenario-117
scenario-118
scenario-119
scenario-120
scenario-121
scenario-122
scenario-123
scenario-124
scenario-125
scenario-126
scenario-127
skills
opentelemetry
opentelemetry-collector
references
opentelemetry-instrumentation
opentelemetry-ottl