Problem
Two Prometheus metrics carry the ingestor subsystem in their names but are populated by both the ingestor and the collector:
adxmon_ingestor_active_connections (gauge) — Go var metrics.IngestorActiveConnections
adxmon_ingestor_dropped_connections_total (counter) — Go var metrics.IngestorDroppedConnectionsTotal
Both are incremented in pkg/limiter/listener.go, which is wired up by pkg/http.NewServer. That HTTP server is used by the collector as well as the ingestor, so both processes emit these metrics. The names are misleading and the collector's Status log line scans for them by their ingestor-prefixed names (see collector/metrics/service.go).
Proposal
Rename the metrics and variables to something process-neutral, e.g.:
adxmon_server_active_connections
adxmon_server_dropped_connections_total
Update the Go variable names (ServerActiveConnections, ServerDroppedConnectionsTotal) and the substring matches in collector/metrics/service.go and ingestor/metrics/service.go accordingly.
Compatibility
This is a breaking change for any dashboards or alerts that reference the existing metric names. We should:
- Audit dashboards under
dashboards/ and build/k8s/dashboards/ for references.
- Coordinate the rename with any external consumers / Kusto ingestion mappings if applicable.
Context
Discovered while cleaning up the per-process Status log lines (branch cleanup/remove-dead-ingestor-samples-logging). Decided to leave the rename for a separate change since the existing metric is populated correctly — only the name is misleading.
Problem
Two Prometheus metrics carry the
ingestorsubsystem in their names but are populated by both the ingestor and the collector:adxmon_ingestor_active_connections(gauge) — Go varmetrics.IngestorActiveConnectionsadxmon_ingestor_dropped_connections_total(counter) — Go varmetrics.IngestorDroppedConnectionsTotalBoth are incremented in
pkg/limiter/listener.go, which is wired up bypkg/http.NewServer. That HTTP server is used by the collector as well as the ingestor, so both processes emit these metrics. The names are misleading and the collector'sStatuslog line scans for them by their ingestor-prefixed names (seecollector/metrics/service.go).Proposal
Rename the metrics and variables to something process-neutral, e.g.:
adxmon_server_active_connectionsadxmon_server_dropped_connections_totalUpdate the Go variable names (
ServerActiveConnections,ServerDroppedConnectionsTotal) and the substring matches incollector/metrics/service.goandingestor/metrics/service.goaccordingly.Compatibility
This is a breaking change for any dashboards or alerts that reference the existing metric names. We should:
dashboards/andbuild/k8s/dashboards/for references.Context
Discovered while cleaning up the per-process Status log lines (branch
cleanup/remove-dead-ingestor-samples-logging). Decided to leave the rename for a separate change since the existing metric is populated correctly — only the name is misleading.