Skip to content

Commit

Permalink
update many more metrics
Browse files Browse the repository at this point in the history
Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
  • Loading branch information
codeboten committed Apr 3, 2024
1 parent aa93753 commit d37279d
Show file tree
Hide file tree
Showing 11 changed files with 98 additions and 98 deletions.
20 changes: 10 additions & 10 deletions component/componenttest/otelprometheuschecker.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ type prometheusChecker struct {
func (pc *prometheusChecker) checkScraperMetrics(receiver component.ID, scraper component.ID, scrapedMetricPoints, erroredMetricPoints int64) error {
scraperAttrs := attributesForScraperMetrics(receiver, scraper)
return multierr.Combine(
pc.checkCounter("scraper_scraped_metric_points", scrapedMetricPoints, scraperAttrs),
pc.checkCounter("scraper_errored_metric_points", erroredMetricPoints, scraperAttrs))
pc.checkCounter("otelcol_scraper_scraped_metric_points", scrapedMetricPoints, scraperAttrs),
pc.checkCounter("otelcol_scraper_errored_metric_points", erroredMetricPoints, scraperAttrs))
}

func (pc *prometheusChecker) checkReceiverTraces(receiver component.ID, protocol string, accepted, dropped int64) error {
Expand All @@ -44,8 +44,8 @@ func (pc *prometheusChecker) checkReceiverMetrics(receiver component.ID, protoco
func (pc *prometheusChecker) checkReceiver(receiver component.ID, datatype, protocol string, acceptedMetricPoints, droppedMetricPoints int64) error {
receiverAttrs := attributesForReceiverMetrics(receiver, protocol)
return multierr.Combine(
pc.checkCounter(fmt.Sprintf("receiver_accepted_%s", datatype), acceptedMetricPoints, receiverAttrs),
pc.checkCounter(fmt.Sprintf("receiver_refused_%s", datatype), droppedMetricPoints, receiverAttrs))
pc.checkCounter(fmt.Sprintf("otelcol_receiver_accepted_%s", datatype), acceptedMetricPoints, receiverAttrs),
pc.checkCounter(fmt.Sprintf("otelcol_receiver_refused_%s", datatype), droppedMetricPoints, receiverAttrs))
}

func (pc *prometheusChecker) checkProcessorTraces(processor component.ID, accepted, refused, dropped int64) error {
Expand All @@ -63,9 +63,9 @@ func (pc *prometheusChecker) checkProcessorLogs(processor component.ID, accepted
func (pc *prometheusChecker) checkProcessor(processor component.ID, datatype string, accepted, refused, dropped int64) error {
processorAttrs := attributesForProcessorMetrics(processor)
return multierr.Combine(
pc.checkCounter(fmt.Sprintf("processor_accepted_%s", datatype), accepted, processorAttrs),
pc.checkCounter(fmt.Sprintf("processor_refused_%s", datatype), refused, processorAttrs),
pc.checkCounter(fmt.Sprintf("processor_dropped_%s", datatype), dropped, processorAttrs))
pc.checkCounter(fmt.Sprintf("otelcol_processor_accepted_%s", datatype), accepted, processorAttrs),
pc.checkCounter(fmt.Sprintf("otelcol_processor_refused_%s", datatype), refused, processorAttrs),
pc.checkCounter(fmt.Sprintf("otelcol_processor_dropped_%s", datatype), dropped, processorAttrs))
}

func (pc *prometheusChecker) checkExporterTraces(exporter component.ID, sent, sendFailed int64) error {
Expand All @@ -82,10 +82,10 @@ func (pc *prometheusChecker) checkExporterMetrics(exporter component.ID, sent, s

func (pc *prometheusChecker) checkExporter(exporter component.ID, datatype string, sent, sendFailed int64) error {
exporterAttrs := attributesForExporterMetrics(exporter)
errs := pc.checkCounter(fmt.Sprintf("exporter_sent_%s", datatype), sent, exporterAttrs)
errs := pc.checkCounter(fmt.Sprintf("otelcol_exporter_sent_%s", datatype), sent, exporterAttrs)
if sendFailed > 0 {
errs = multierr.Append(errs,
pc.checkCounter(fmt.Sprintf("exporter_send_failed_%s", datatype), sendFailed, exporterAttrs))
pc.checkCounter(fmt.Sprintf("otelcol_exporter_send_failed_%s", datatype), sendFailed, exporterAttrs))
}
return errs
}
Expand All @@ -95,7 +95,7 @@ func (pc *prometheusChecker) checkExporterEnqueueFailed(exporter component.ID, d
return nil
}
exporterAttrs := attributesForExporterMetrics(exporter)
return pc.checkCounter(fmt.Sprintf("exporter_enqueue_failed_%s", datatype), enqueueFailed, exporterAttrs)
return pc.checkCounter(fmt.Sprintf("otelcol_exporter_enqueue_failed_%s", datatype), enqueueFailed, exporterAttrs)

Check warning on line 98 in component/componenttest/otelprometheuschecker.go

View check run for this annotation

Codecov / codecov/patch

component/componenttest/otelprometheuschecker.go#L98

Added line #L98 was not covered by tests
}

func (pc *prometheusChecker) checkExporterMetricGauge(exporter component.ID, metric string, val int64) error {
Expand Down
6 changes: 3 additions & 3 deletions component/componenttest/otelprometheuschecker_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@ func TestPromChecker(t *testing.T) {
transport := "fakeTransport"

assert.NoError(t,
pc.checkCounter("receiver_accepted_spans", 42, []attribute.KeyValue{attribute.String("receiver", receiver.String()), attribute.String("transport", transport)}),
pc.checkCounter("otelcol_receiver_accepted_spans", 42, []attribute.KeyValue{attribute.String("receiver", receiver.String()), attribute.String("transport", transport)}),
"correct assertion should return no error",
)

assert.Error(t,
pc.checkCounter("receiver_accepted_spans", 15, []attribute.KeyValue{attribute.String("receiver", receiver.String()), attribute.String("transport", transport)}),
pc.checkCounter("otelcol_receiver_accepted_spans", 15, []attribute.KeyValue{attribute.String("receiver", receiver.String()), attribute.String("transport", transport)}),
"invalid value should return error",
)

Expand All @@ -58,7 +58,7 @@ func TestPromChecker(t *testing.T) {
)

assert.Error(t,
pc.checkCounter("receiver_accepted_spans", 42, []attribute.KeyValue{attribute.String("receiver", "notFakeReceiver"), attribute.String("transport", transport)}),
pc.checkCounter("otelcol_receiver_accepted_spans", 42, []attribute.KeyValue{attribute.String("receiver", "notFakeReceiver"), attribute.String("transport", transport)}),
"invalid attributes should return error",
)

Expand Down
144 changes: 72 additions & 72 deletions component/componenttest/testdata/prometheus_response
Original file line number Diff line number Diff line change
@@ -1,72 +1,72 @@
# 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_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_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 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 gauge_metric A simple gauge metric
# TYPE gauge_metric gauge
gauge_metric 49
# 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_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_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_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 otelcol_gauge_metric A simple gauge metric
# TYPE otelcol_gauge_metric gauge
otelcol_gauge_metric 49
2 changes: 1 addition & 1 deletion internal/obsreportconfig/obsmetrics/obs_exporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const (

var (
ExporterPrefix = ExporterKey + SpanNameSep
ExporterMetricPrefix = ExporterKey + MetricNameSep
ExporterMetricPrefix = otelcolPrefix + MetricNameSep + ExporterKey + MetricNameSep
ExportTraceDataOperationSuffix = SpanNameSep + "traces"
ExportMetricsOperationSuffix = SpanNameSep + "metrics"
ExportLogsOperationSuffix = SpanNameSep + "logs"
Expand Down
2 changes: 1 addition & 1 deletion internal/obsreportconfig/obsmetrics/obs_processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ const (
)

var (
ProcessorMetricPrefix = ProcessorKey + MetricNameSep
ProcessorMetricPrefix = otelcolPrefix + MetricNameSep + ProcessorKey + MetricNameSep
)
2 changes: 1 addition & 1 deletion internal/obsreportconfig/obsmetrics/obs_receiver.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const (

var (
ReceiverPrefix = ReceiverKey + SpanNameSep
ReceiverMetricPrefix = ReceiverKey + MetricNameSep
ReceiverMetricPrefix = otelcolPrefix + MetricNameSep + ReceiverKey + MetricNameSep
ReceiveTraceDataOperationSuffix = SpanNameSep + "TraceDataReceived"
ReceiverMetricsOperationSuffix = SpanNameSep + "MetricsReceived"
ReceiverLogsOperationSuffix = SpanNameSep + "LogsReceived"
Expand Down
3 changes: 1 addition & 2 deletions internal/obsreportconfig/obsmetrics/obs_scraper.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ package obsmetrics // import "go.opentelemetry.io/collector/internal/obsreportco
const (
// ScraperKey used to identify scrapers in metrics and traces.
ScraperKey = "scraper"

// ScrapedMetricPointsKey used to identify metric points scraped by the
// Collector.
ScrapedMetricPointsKey = "scraped_metric_points"
Expand All @@ -17,6 +16,6 @@ const (

const (
ScraperPrefix = ScraperKey + SpanNameSep
ScraperMetricPrefix = ScraperKey + MetricNameSep
ScraperMetricPrefix = otelcolPrefix + MetricNameSep + ScraperKey + MetricNameSep
ScraperMetricsOperationSuffix = SpanNameSep + "MetricsScraped"
)
1 change: 1 addition & 0 deletions internal/obsreportconfig/obsmetrics/obsmetrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ const (
SpanNameSep = "/"
MetricNameSep = "_"
Scope = "go.opentelemetry.io/collector/obsreport"
otelcolPrefix = "otelcol"
)
8 changes: 4 additions & 4 deletions processor/batchprocessor/metrics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ func (tt *testTelemetry) assertMetrics(t *testing.T, expected expectedMetrics) {
require.NoError(t, err)

if expected.sendSizeBytesSum > 0 {
name := "processor_batch_batch_send_size_bytes"
name := "otelcol_processor_batch_batch_send_size_bytes"
metric := tt.getMetric(t, name, io_prometheus_client.MetricType_HISTOGRAM, metrics)

assertFloat(t, expected.sendSizeBytesSum, metric.GetHistogram().GetSampleSum(), name)
Expand All @@ -108,7 +108,7 @@ func (tt *testTelemetry) assertMetrics(t *testing.T, expected expectedMetrics) {
}

if expected.sendSizeSum > 0 {
name := "processor_batch_batch_send_size"
name := "otelcol_processor_batch_batch_send_size"
metric := tt.getMetric(t, name, io_prometheus_client.MetricType_HISTOGRAM, metrics)

assertFloat(t, expected.sendSizeSum, metric.GetHistogram().GetSampleSum(), name)
Expand All @@ -122,14 +122,14 @@ func (tt *testTelemetry) assertMetrics(t *testing.T, expected expectedMetrics) {
}

if expected.sizeTrigger > 0 {
name := "processor_batch_batch_size_trigger_send"
name := "otelcol_processor_batch_batch_size_trigger_send"
metric := tt.getMetric(t, name, io_prometheus_client.MetricType_COUNTER, metrics)

assertFloat(t, expected.sizeTrigger, metric.GetCounter().GetValue(), name)
}

if expected.timeoutTrigger > 0 {
name := "processor_batch_timeout_trigger_send"
name := "otelcol_processor_batch_timeout_trigger_send"
metric := tt.getMetric(t, name, io_prometheus_client.MetricType_COUNTER, metrics)

assertFloat(t, expected.timeoutTrigger, metric.GetCounter().GetValue(), name)
Expand Down
4 changes: 2 additions & 2 deletions processor/processorhelper/obsreport_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,11 @@ func TestBuildProcessorCustomMetricName(t *testing.T) {
}{
{
name: "firstMeasure",
want: "processor_test_type_firstMeasure",
want: "otelcol_processor_test_type_firstMeasure",
},
{
name: "secondMeasure",
want: "processor_test_type_secondMeasure",
want: "otelcol_processor_test_type_secondMeasure",
},
}
for _, tt := range tests {
Expand Down
4 changes: 2 additions & 2 deletions receiver/scraperhelper/obsreport.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,14 +78,14 @@ func (s *ObsReport) createOtelMetrics(cfg ObsReportSettings) error {
var errors, err error

s.scrapedMetricsPoints, err = meter.Int64Counter(
obsmetrics.ScraperPrefix+obsmetrics.ScrapedMetricPointsKey,
obsmetrics.ScraperMetricPrefix+obsmetrics.ScrapedMetricPointsKey,
metric.WithDescription("Number of metric points successfully scraped."),
metric.WithUnit("1"),
)
errors = multierr.Append(errors, err)

s.erroredMetricsPoints, err = meter.Int64Counter(
obsmetrics.ScraperPrefix+obsmetrics.ErroredMetricPointsKey,
obsmetrics.ScraperMetricPrefix+obsmetrics.ErroredMetricPointsKey,
metric.WithDescription("Number of metric points that were unable to be scraped."),
metric.WithUnit("1"),
)
Expand Down

0 comments on commit d37279d

Please sign in to comment.