Skip to content

update all metrics to include otelcol_ prefix #9759

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .chloggen/codeboten_update-all-metrics-with-prefix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Use this changelog template to create an entry for release notes.

# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: breaking

# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
component: service

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: "Update all metrics to include `otelcol_` prefix to ensure consistency across OTLP and Prometheus metrics"

# One or more tracking issues or pull requests related to the change
issues: [9759]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext: |
This change is marked as a breaking change as anyone that was using OTLP for metrics will
see the new prefix which was not present before. Prometheus generated metrics remain
unchanged.

# Optional: The change log or logs in which this entry should be included.
# e.g. '[user]' or '[user, api]'
# Include 'user' if the change is relevant to end users.
# Include 'api' if there is a change to a library API.
# Default: '[user]'
change_logs: []
8 changes: 4 additions & 4 deletions cmd/mdatagen/internal/samplereceiver/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,23 +117,23 @@ metrics:

The following telemetry is emitted by this component.

### batch_size_trigger_send
### otelcol_batch_size_trigger_send

Number of times the batch was sent due to a size trigger

| Unit | Metric Type | Value Type | Monotonic |
| ---- | ----------- | ---------- | --------- |
| 1 | Sum | Int | true |

### process_runtime_total_alloc_bytes
### otelcol_process_runtime_total_alloc_bytes

Cumulative bytes allocated for heap objects (see 'go doc runtime.MemStats.TotalAlloc')

| Unit | Metric Type | Value Type | Monotonic |
| ---- | ----------- | ---------- | --------- |
| By | Sum | Int | true |

### queue_length
### otelcol_queue_length

This metric is optional and therefore not initialized in NewTelemetryBuilder.

Expand All @@ -143,7 +143,7 @@ For example this metric only exists if feature A is enabled.
| ---- | ----------- | ---------- |
| 1 | Gauge | Int |

### request_duration
### otelcol_request_duration

Duration of request

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions cmd/mdatagen/internal/samplereceiver/metrics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func TestComponentTelemetry(t *testing.T) {
require.NoError(t, err)
tt.assertMetrics(t, []metricdata.Metrics{
{
Name: "batch_size_trigger_send",
Name: "otelcol_batch_size_trigger_send",
Description: "Number of times the batch was sent due to a size trigger",
Unit: "1",
Data: metricdata.Sum[int64]{
Expand All @@ -44,7 +44,7 @@ func TestComponentTelemetry(t *testing.T) {
},
},
{
Name: "process_runtime_total_alloc_bytes",
Name: "otelcol_process_runtime_total_alloc_bytes",
Description: "Cumulative bytes allocated for heap objects (see 'go doc runtime.MemStats.TotalAlloc')",
Unit: "By",
Data: metricdata.Sum[int64]{
Expand All @@ -63,7 +63,7 @@ func TestComponentTelemetry(t *testing.T) {
rcv.initOptionalMetric()
tt.assertMetrics(t, []metricdata.Metrics{
{
Name: "batch_size_trigger_send",
Name: "otelcol_batch_size_trigger_send",
Description: "Number of times the batch was sent due to a size trigger",
Unit: "1",
Data: metricdata.Sum[int64]{
Expand All @@ -77,7 +77,7 @@ func TestComponentTelemetry(t *testing.T) {
},
},
{
Name: "process_runtime_total_alloc_bytes",
Name: "otelcol_process_runtime_total_alloc_bytes",
Description: "Cumulative bytes allocated for heap objects (see 'go doc runtime.MemStats.TotalAlloc')",
Unit: "By",
Data: metricdata.Sum[int64]{
Expand All @@ -91,7 +91,7 @@ func TestComponentTelemetry(t *testing.T) {
},
},
{
Name: "queue_length",
Name: "otelcol_queue_length",
Description: "This metric is optional and therefore not initialized in NewTelemetryBuilder.",
Unit: "1",
Data: metricdata.Gauge[int64]{
Expand Down
2 changes: 1 addition & 1 deletion cmd/mdatagen/templates/documentation.md.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
{{- $metricName := . }}
{{- $metric := $metricName | telemetryInfo -}}

### {{ $metricName }}
### otelcol_{{ $metricName }}

{{ $metric.Description }}

Expand Down
4 changes: 2 additions & 2 deletions cmd/mdatagen/templates/telemetry.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ func WithAttributeSet(set attribute.Set) telemetryBuilderOption {
func (builder *TelemetryBuilder) Init{{ $name.Render }}({{ if $metric.Data.Async -}}cb func() {{ $metric.Data.BasicType }}{{- end }}) error {
var err error
builder.{{ $name.Render }}, err = builder.meter.{{ $metric.Data.Instrument }}(
"{{ $name }}",
"otelcol_{{ $name }}",
metric.WithDescription("{{ $metric.Description }}"),
metric.WithUnit("{{ $metric.Unit }}"),
{{- if eq $metric.Data.Type "Histogram" -}}
Expand Down Expand Up @@ -114,7 +114,7 @@ func NewTelemetryBuilder(settings component.TelemetrySettings, options ...teleme
{{- range $name, $metric := .Telemetry.Metrics }}
{{- if not $metric.Optional }}
builder.{{ $name.Render }}, err = builder.meter.{{ $metric.Data.Instrument }}(
"{{ $name }}",
"otelcol_{{ $name }}",
metric.WithDescription("{{ $metric.Description }}"),
metric.WithUnit("{{ $metric.Unit }}"),
{{- if eq $metric.Data.Type "Histogram" -}}
Expand Down
3 changes: 1 addition & 2 deletions component/componenttest/otelprometheuschecker.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,7 @@ func (pc *prometheusChecker) checkExporterMetricGauge(exporter component.ID, met
}

func (pc *prometheusChecker) checkCounter(expectedMetric string, value int64, attrs []attribute.KeyValue) error {

ts, err := pc.getMetric(expectedMetric, io_prometheus_client.MetricType_COUNTER, attrs)
ts, err := pc.getMetric(fmt.Sprintf("otelcol_%s", expectedMetric), io_prometheus_client.MetricType_COUNTER, attrs)
if err != nil {
return err
}
Expand Down
156 changes: 78 additions & 78 deletions component/componenttest/testdata/prometheus_response
Original file line number Diff line number Diff line change
@@ -1,81 +1,81 @@
# HELP exporter_send_failed_spans Number of spans in failed attempts to send to destination.
# TYPE exporter_send_failed_spans counter
exporter_send_failed_spans{exporter="fakeExporter"} 14
# HELP exporter_sent_spans Number of spans successfully sent to destination.
# TYPE exporter_sent_spans counter
exporter_sent_spans{exporter="fakeExporter"} 43
# HELP exporter_send_failed_metric_points Number of metrics in failed attempts to send to destination.
# TYPE exporter_send_failed_metric_points counter
exporter_send_failed_metric_points{exporter="fakeExporter"} 42
# HELP exporter_sent_metric_points Number of metrics successfully sent to destination.
# TYPE exporter_sent_metric_points counter
exporter_sent_metric_points{exporter="fakeExporter"} 8
# HELP exporter_send_failed_log_records Number of logs in failed attempts to send to destination.
# TYPE exporter_send_failed_log_records counter
exporter_send_failed_log_records{exporter="fakeExporter"} 36
# HELP exporter_sent_log_records Number of logs successfully sent to destination.
# TYPE exporter_sent_log_records counter
exporter_sent_log_records{exporter="fakeExporter"} 103
# HELP processor_accepted_spans Number of spans successfully pushed into the next component in the pipeline.
# TYPE processor_accepted_spans counter
processor_accepted_spans{processor="fakeProcessor"} 42
# HELP processor_refused_spans Number of spans that were rejected by the next component in the pipeline.
# TYPE processor_refused_spans counter
processor_refused_spans{processor="fakeProcessor"} 13
# HELP processor_dropped_spans Number of spans that were dropped.
# TYPE processor_dropped_spans counter
processor_dropped_spans{processor="fakeProcessor"} 7
# HELP processor_inserted_spans Number of spans that were inserted.
# TYPE processor_inserted_spans counter
processor_inserted_spans{processor="fakeProcessor"} 5
# HELP processor_accepted_metric_points Number of metric points successfully pushed into the next component in the pipeline.
# TYPE processor_accepted_metric_points counter
processor_accepted_metric_points{processor="fakeProcessor"} 7
# HELP processor_refused_metric_points Number of metric points that were rejected by the next component in the pipeline.
# TYPE processor_refused_metric_points counter
processor_refused_metric_points{processor="fakeProcessor"} 41
# HELP processor_dropped_metric_points Number of metric points that were dropped.
# TYPE processor_dropped_metric_points counter
processor_dropped_metric_points{processor="fakeProcessor"} 13
# HELP processor_inserted_metric_points Number of metric points that were inserted.
# TYPE processor_inserted_metric_points counter
processor_inserted_metric_points{processor="fakeProcessor"} 4
# HELP processor_accepted_log_records Number of log records successfully pushed into the next component in the pipeline.
# TYPE processor_accepted_log_records counter
processor_accepted_log_records{processor="fakeProcessor"} 102
# HELP processor_refused_log_records Number of log records that were rejected by the next component in the pipeline.
# TYPE processor_refused_log_records counter
processor_refused_log_records{processor="fakeProcessor"} 35
# HELP processor_dropped_log_records Number of log records that were dropped.
# TYPE processor_dropped_log_records counter
processor_dropped_log_records{processor="fakeProcessor"} 14
# HELP processor_inserted_log_records Number of log records that were inserted.
# TYPE processor_inserted_log_records counter
processor_inserted_log_records{processor="fakeProcessor"} 3
# HELP receiver_accepted_log_records Number of log records successfully pushed into the pipeline.
# TYPE receiver_accepted_log_records counter
receiver_accepted_log_records{receiver="fakeReceiver",transport="fakeTransport"} 102
# HELP receiver_accepted_metric_points Number of metric points successfully pushed into the pipeline.
# TYPE receiver_accepted_metric_points counter
receiver_accepted_metric_points{receiver="fakeReceiver",transport="fakeTransport"} 7
# HELP receiver_accepted_spans Number of spans successfully pushed into the pipeline.
# TYPE receiver_accepted_spans counter
receiver_accepted_spans{receiver="fakeReceiver",transport="fakeTransport"} 42
# HELP receiver_refused_log_records Number of log records that could not be pushed into the pipeline.
# TYPE receiver_refused_log_records counter
receiver_refused_log_records{receiver="fakeReceiver",transport="fakeTransport"} 35
# HELP receiver_refused_metric_points Number of metric points that could not be pushed into the pipeline.
# TYPE receiver_refused_metric_points counter
receiver_refused_metric_points{receiver="fakeReceiver",transport="fakeTransport"} 41
# HELP receiver_refused_spans Number of spans that could not be pushed into the pipeline.
# TYPE receiver_refused_spans counter
receiver_refused_spans{receiver="fakeReceiver",transport="fakeTransport"} 13
# HELP scraper_scraped_metric_points Number of metric points successfully scraped.
# TYPE scraper_scraped_metric_points counter
scraper_scraped_metric_points{receiver="fakeReceiver",scraper="fakeScraper"} 7
# HELP scraper_errored_metric_points Number of metric points that were unable to be scraped.
# TYPE scraper_errored_metric_points counter
scraper_errored_metric_points{receiver="fakeReceiver",scraper="fakeScraper"} 41
# HELP otelcol_exporter_send_failed_spans Number of spans in failed attempts to send to destination.
# TYPE otelcol_exporter_send_failed_spans counter
otelcol_exporter_send_failed_spans{exporter="fakeExporter"} 14
# HELP otelcol_exporter_sent_spans Number of spans successfully sent to destination.
# TYPE otelcol_exporter_sent_spans counter
otelcol_exporter_sent_spans{exporter="fakeExporter"} 43
# HELP otelcol_exporter_send_failed_metric_points Number of metrics in failed attempts to send to destination.
# TYPE otelcol_exporter_send_failed_metric_points counter
otelcol_exporter_send_failed_metric_points{exporter="fakeExporter"} 42
# HELP otelcol_exporter_sent_metric_points Number of metrics successfully sent to destination.
# TYPE otelcol_exporter_sent_metric_points counter
otelcol_exporter_sent_metric_points{exporter="fakeExporter"} 8
# HELP otelcol_exporter_send_failed_log_records Number of logs in failed attempts to send to destination.
# TYPE otelcol_exporter_send_failed_log_records counter
otelcol_exporter_send_failed_log_records{exporter="fakeExporter"} 36
# HELP otelcol_exporter_sent_log_records Number of logs successfully sent to destination.
# TYPE otelcol_exporter_sent_log_records counter
otelcol_exporter_sent_log_records{exporter="fakeExporter"} 103
# HELP otelcol_processor_accepted_spans Number of spans successfully pushed into the next component in the pipeline.
# TYPE otelcol_processor_accepted_spans counter
otelcol_processor_accepted_spans{processor="fakeProcessor"} 42
# HELP otelcol_processor_refused_spans Number of spans that were rejected by the next component in the pipeline.
# TYPE otelcol_processor_refused_spans counter
otelcol_processor_refused_spans{processor="fakeProcessor"} 13
# HELP otelcol_processor_dropped_spans Number of spans that were dropped.
# TYPE otelcol_processor_dropped_spans counter
otelcol_processor_dropped_spans{processor="fakeProcessor"} 7
# HELP otelcol_processor_inserted_spans Number of spans that were inserted.
# TYPE otelcol_processor_inserted_spans counter
otelcol_processor_inserted_spans{processor="fakeProcessor"} 5
# HELP otelcol_processor_accepted_metric_points Number of metric points successfully pushed into the next component in the pipeline.
# TYPE otelcol_processor_accepted_metric_points counter
otelcol_processor_accepted_metric_points{processor="fakeProcessor"} 7
# HELP otelcol_processor_refused_metric_points Number of metric points that were rejected by the next component in the pipeline.
# TYPE otelcol_processor_refused_metric_points counter
otelcol_processor_refused_metric_points{processor="fakeProcessor"} 41
# HELP otelcol_processor_dropped_metric_points Number of metric points that were dropped.
# TYPE otelcol_processor_dropped_metric_points counter
otelcol_processor_dropped_metric_points{processor="fakeProcessor"} 13
# HELP otelcol_processor_inserted_metric_points Number of metric points that were inserted.
# TYPE otelcol_processor_inserted_metric_points counter
otelcol_processor_inserted_metric_points{processor="fakeProcessor"} 4
# HELP otelcol_processor_accepted_log_records Number of log records successfully pushed into the next component in the pipeline.
# TYPE otelcol_processor_accepted_log_records counter
otelcol_processor_accepted_log_records{processor="fakeProcessor"} 102
# HELP otelcol_processor_refused_log_records Number of log records that were rejected by the next component in the pipeline.
# TYPE otelcol_processor_refused_log_records counter
otelcol_processor_refused_log_records{processor="fakeProcessor"} 35
# HELP otelcol_processor_dropped_log_records Number of log records that were dropped.
# TYPE otelcol_processor_dropped_log_records counter
otelcol_processor_dropped_log_records{processor="fakeProcessor"} 14
# HELP otelcol_processor_inserted_log_records Number of log records that were inserted.
# TYPE otelcol_processor_inserted_log_records counter
otelcol_processor_inserted_log_records{processor="fakeProcessor"} 3
# HELP otelcol_receiver_accepted_log_records Number of log records successfully pushed into the pipeline.
# TYPE otelcol_receiver_accepted_log_records counter
otelcol_receiver_accepted_log_records{receiver="fakeReceiver",transport="fakeTransport"} 102
# HELP otelcol_receiver_accepted_metric_points Number of metric points successfully pushed into the pipeline.
# TYPE otelcol_receiver_accepted_metric_points counter
otelcol_receiver_accepted_metric_points{receiver="fakeReceiver",transport="fakeTransport"} 7
# HELP otelcol_receiver_accepted_spans Number of spans successfully pushed into the pipeline.
# TYPE otelcol_receiver_accepted_spans counter
otelcol_receiver_accepted_spans{receiver="fakeReceiver",transport="fakeTransport"} 42
# HELP otelcol_receiver_refused_log_records Number of log records that could not be pushed into the pipeline.
# TYPE otelcol_receiver_refused_log_records counter
otelcol_receiver_refused_log_records{receiver="fakeReceiver",transport="fakeTransport"} 35
# HELP otelcol_receiver_refused_metric_points Number of metric points that could not be pushed into the pipeline.
# TYPE otelcol_receiver_refused_metric_points counter
otelcol_receiver_refused_metric_points{receiver="fakeReceiver",transport="fakeTransport"} 41
# HELP otelcol_receiver_refused_spans Number of spans that could not be pushed into the pipeline.
# TYPE otelcol_receiver_refused_spans counter
otelcol_receiver_refused_spans{receiver="fakeReceiver",transport="fakeTransport"} 13
# HELP otelcol_scraper_scraped_metric_points Number of metric points successfully scraped.
# TYPE otelcol_scraper_scraped_metric_points counter
otelcol_scraper_scraped_metric_points{receiver="fakeReceiver",scraper="fakeScraper"} 7
# HELP otelcol_scraper_errored_metric_points Number of metric points that were unable to be scraped.
# TYPE otelcol_scraper_errored_metric_points counter
otelcol_scraper_errored_metric_points{receiver="fakeReceiver",scraper="fakeScraper"} 41
# HELP gauge_metric A simple gauge metric
# TYPE gauge_metric gauge
gauge_metric 49
Loading
Loading