Skip to content

Commit 22366d4

Browse files
committed
fix: cAdvisor validation model
1 parent 64df9e7 commit 22366d4

2 files changed

Lines changed: 4 additions & 9 deletions

File tree

internal/collector/cadvisor/cadvisor.go

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,6 @@ import (
4040

4141
const collectorName = "cadvisor"
4242

43-
func init() {
44-
// prometheus/common v0.67+ requires an explicit validation scheme.
45-
// Without this, TextParser.TextToMetricFamilies panics with
46-
// "Invalid name validation scheme requested: unset".
47-
model.NameValidationScheme = model.LegacyValidation
48-
}
49-
5043
// CAdvisorCollector scrapes container metrics from a cAdvisor Prometheus endpoint.
5144
// It implements the collector.Collector interface.
5245
type CAdvisorCollector struct {
@@ -213,8 +206,9 @@ func (c *CAdvisorCollector) Collect(ctx context.Context) ([]collector.Metric, er
213206
}
214207

215208
// parsePrometheusText parses Prometheus text format from a reader.
209+
// Uses LegacyValidation to support traditional metric names (e.g., container_cpu_usage_seconds_total).
216210
func parsePrometheusText(r io.Reader) (map[string]*dto.MetricFamily, error) {
217-
var parser expfmt.TextParser
211+
parser := expfmt.NewTextParser(model.LegacyValidation)
218212
return parser.TextToMetricFamilies(r)
219213
}
220214

internal/collector/scraper/parser.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525

2626
dto "github.com/prometheus/client_model/go"
2727
"github.com/prometheus/common/expfmt"
28+
"github.com/prometheus/common/model"
2829

2930
"github.com/telemetryflow/telemetryflow-agent/internal/collector"
3031
)
@@ -40,7 +41,7 @@ import (
4041
// HISTOGRAM→ MetricTypeHistogram (one metric per bucket + _sum + _count)
4142
// SUMMARY → MetricTypeSummary (one metric per quantile + _sum + _count)
4243
func parsePrometheusText(r io.Reader) ([]collector.Metric, error) {
43-
var parser expfmt.TextParser
44+
parser := expfmt.NewTextParser(model.LegacyValidation)
4445
families, err := parser.TextToMetricFamilies(r)
4546
if err != nil {
4647
// TextToMetricFamilies returns a partial result alongside the error;

0 commit comments

Comments
 (0)