Help us improve
Share bugs, ideas, or general feedback.
From cx-skills
Use when a Coralogix/OpenTelemetry issue depends on telemetry semantics: resource/span/metric/log attribute names, values, scopes, schemas, generated metric labels, or collection topology affecting product behavior. Trigger for missing or empty APM Service Catalog, Transactions, Error/API Error Tracking, Database Catalog/DB Monitoring, Span Metrics RED metrics, Infrastructure Explorer/Resource Catalog, AI Center/GenAI, Custom Metrics, or logs/serverless metadata, especially with service.name, http.route, http.response.status_code, db.system / db.system.name, db.namespace, k8s.*, host.*, cloud.*, gen_ai.*, resource_ttl, interval, otel.entity.interval, url.full, service.instance.id, label/cardinality, or temporality questions. Do not use for pure OTTL syntax, collector/Helm wiring, SDK install, cx.application.name/cx.subsystem.name routing, dashboards, Jira, or version-upgrade planning.
npx claudepluginhub coralogix/cx-skills --plugin coralogixHow this skill is triggered — by the user, by Claude, or both
Slash command
/cx-skills:opentelemetry-semantic-conventionsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Map Coralogix product behavior to the resource/span/metric/log attributes
evals/ai-center-genai-detection/capability.txtevals/ai-center-genai-detection/criteria.jsonevals/ai-center-genai-detection/task.mdevals/ai-center-litellm-proxy/capability.txtevals/ai-center-litellm-proxy/criteria.jsonevals/ai-center-litellm-proxy/task.mdevals/apm-url-pod-cardinality/capability.txtevals/apm-url-pod-cardinality/criteria.jsonevals/apm-url-pod-cardinality/task.mdevals/auto-injection-service-name/capability.txtevals/auto-injection-service-name/criteria.jsonevals/auto-injection-service-name/task.mdevals/cloud-platform-value-rename/capability.txtevals/cloud-platform-value-rename/criteria.jsonevals/cloud-platform-value-rename/task.mdevals/custom-metrics-normalized-labels/capability.txtevals/custom-metrics-normalized-labels/criteria.jsonevals/custom-metrics-normalized-labels/task.mdevals/custom-metrics-temporality/capability.txtevals/custom-metrics-temporality/criteria.jsonGuides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
Map Coralogix product behavior to the resource/span/metric/log attributes
it consumes. This top-level file routes to focused references and gives the
cross-product triage workflow; detailed product rules live in references/.
| Use case | What to do |
|---|---|
| Pick attributes for a new HTTP / DB / RPC / messaging span | apm-service-catalog.md — what each Coralogix APM feature reads; for stable/current/new HTTP metrics use http.request.method |
| Diagnose a missing operation in APM Service Catalog | apm-service-catalog.md — service.name + span kind + operation-name attribute checklist |
| Diagnose a missing database in Database Monitoring | database-monitoring.md — target span attributes are db.system, db.name, db.operation, db.statement, net.peer.name; newer names are bridge inputs |
Handle new DB semantic-convention names such as db.system.name / db.query.text | database-monitoring.md and spanmetrics.md — DB bridge: db.name first, then server.address, network.peer.name, net.peer.name, network.peer.address, final db.system; include db_calls_total vs calls_total / db_namespace symptoms |
| Diagnose recurring cross-product gotchas | high-signal-rules.md — common scope, topology, cardinality, and product-path rules |
| Answer a specific "which fields / exact names" question | Always read final-answer-checklists.md first — short-answer anchors that must not be inferred or paraphrased away |
| Triage a new OTel semantic-convention breaking change after an SDK / Collector upgrade | triage-workflow.md — classify attribute-name, attribute-value, metric data-point, scope, or topology changes before choosing a bridge |
| Configure Span Metrics labels or cardinality | spanmetrics.md — minimum labels include span_name, service_name, span_kind, status_code, collector_instance_id, http_method, host_name, k8s_cluster_name, cgx.transaction, cgx.transaction.root, db_namespace, db_operation_name, db_collection_name, db_system, application_name, cx_subsystem_name; use k8s.pod.name only for collision cases, not blanket defaults |
| Diagnose Span Metrics writer identity or topology | spanmetrics.md and associated-boundaries.md — restore service.instance.id for resource-key collisions; for gateways name traceID / trace ID load balancing |
Diagnose otel.metric.overflow="true" / otel_metric_overflow="true" series | spanmetrics.md — expected overflow fallback, not a bug; raw OTLP vs PromQL labels; reduce source cardinality; qualify aggregation_cardinality_limit: 0 vs Helm v0.0.203+ 100,000 default |
| Diagnose missing pods / hosts in Infrastructure Explorer | infrastructure-explorer.md — resource-scope k8s.cluster.name, k8s.namespace.name, k8s.pod.name, k8s.node.name, k8s.container.name, service.name, plus owner k8s.deployment.name / k8s.statefulset.name / k8s.daemonset.name / k8s.job.name / k8s.cronjob.name / k8s.replicaset.name; EC2 tag target is host.name |
| Diagnose resource metadata lifetime / Resource Catalog inventory issues | infrastructure-explorer.md — resource_ttl, interval, otel.entity.interval, schema_url, coralogix/resource_catalog, x-coralogix-ingress: metadata-as-otlp-logs/v1 |
| Diagnose AI Center missing LLM rows | ai-center-genai.md — legacy/new gen_ai.* detection attributes and trace/archive requirements |
Diagnose custom metric temporality, duplicate labels, or _1_total names | custom-metrics.md — delta temporality, writer identity, Prometheus normalization, and low-cardinality labels |
| Diagnose Lambda/log metadata scope or EC2 tag enrichment | logs-serverless.md — log-record vs resource scope, cx_metadata.*, dashboard/correlation warning, and host identity enrichment |
| Decide when semconv should hand off to another skill | associated-boundaries.md — core owns cx.application.name / cx.subsystem.name; Javaagent setup including OTEL_RESOURCE_ATTRIBUTES and JMX receiver belongs to instrumentation; exact set(...) / where / context belongs to opentelemetry-ottl |
| Decide whether an attribute belongs on resource, span, or metric | Attribute placement below |
Scope mismatches are a common reason Coralogix features stay empty while telemetry is flowing.
| Level | Use for | Examples |
|---|---|---|
| Resource | producer identity / environment | service.name, service.instance.id, deployment.environment.name, host.name, k8s.pod.name, cloud.region |
| Span | per-operation context | http.route, db.system, db.operation, db.statement, net.peer.name, rpc.method |
| Metric data point | bounded dimensions | http.request.method, http.response.status_code, db.system, generated labels such as span_kind |
| Log record | per-log-event fields | parsed body fields, filelog parser output, request IDs |
| Span event | point-in-time span details | exception.type, exception.message, exception.stacktrace |
Exporter application_name_attributes and subsystem_name_attributes read
resource attributes only; for exact routing answers read
final-answer-checklists.md.
Use this flow when a Coralogix surface is empty or changed after an OTel SDK / instrumentation / Collector upgrade.
schema_url when present.debug exporter.spanmetrics;opentelemetry-ottl for transform syntax, opentelemetry-collector for
pipeline/Helm/Fleet wiring, opentelemetry-instrumentation for SDK and
sampler setup, and core for Coralogix app/subsystem routing.Minimal evidence-only collector config for step 3:
receivers:
otlp:
protocols:
grpc: {}
http: {}
exporters:
debug:
verbosity: detailed
service:
pipelines:
traces:
receivers: [otlp]
exporters: [debug]
metrics:
receivers: [otlp]
exporters: [debug]
logs:
receivers: [otlp]
exporters: [debug]
Use this only to inspect raw scopes and attribute names; production pipeline
wiring still belongs to opentelemetry-collector.
For worked diagnosis examples, read triage-workflow.md.
This skill diagnoses telemetry semantics. Hand off implementation details:
core: cx.application.name, cx.subsystem.name, regional domains, and
application/subsystem routing order.opentelemetry-instrumentation: SDK env vars, sampler chains,
CoralogixTransactionSampler, GenAI proxy/library setup, and manual span
code.opentelemetry-ottl: exact set(...), replace_pattern(...), contexts,
and where clauses.opentelemetry-collector: collector pipeline wiring, Helm/Fleet values,
rendered ConfigMaps, exporter queues, Resource Catalog paths, and profile
pipeline setup.