Add helper to get a metric for componentest.Telemetry (#12215)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This commit is contained in:
parent
c119b2a55e
commit
fb8bb93121
|
|
@ -0,0 +1,25 @@
|
|||
# Use this changelog template to create an entry for release notes.
|
||||
|
||||
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
|
||||
change_type: enhancement
|
||||
|
||||
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
|
||||
component: componenttest
|
||||
|
||||
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
|
||||
note: Add helper to get a metric for componentest.Telemetry
|
||||
|
||||
# One or more tracking issues or pull requests related to the change
|
||||
issues: [12215]
|
||||
|
||||
# (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:
|
||||
|
||||
# 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: [api]
|
||||
|
|
@ -55,7 +55,8 @@ func AssertEqualBatchSizeTriggerSend(t *testing.T, tt componenttest.Telemetry, d
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_batch_size_trigger_send")
|
||||
got, err := tt.GetMetric("otelcol_batch_size_trigger_send")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +71,8 @@ func AssertEqualProcessRuntimeTotalAllocBytes(t *testing.T, tt componenttest.Tel
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_process_runtime_total_alloc_bytes")
|
||||
got, err := tt.GetMetric("otelcol_process_runtime_total_alloc_bytes")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -83,7 +85,8 @@ func AssertEqualQueueCapacity(t *testing.T, tt componenttest.Telemetry, dps []me
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_queue_capacity")
|
||||
got, err := tt.GetMetric("otelcol_queue_capacity")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -96,7 +99,8 @@ func AssertEqualQueueLength(t *testing.T, tt componenttest.Telemetry, dps []metr
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_queue_length")
|
||||
got, err := tt.GetMetric("otelcol_queue_length")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -110,16 +114,11 @@ func AssertEqualRequestDuration(t *testing.T, tt componenttest.Telemetry, dps []
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_request_duration")
|
||||
got, err := tt.GetMetric("otelcol_request_duration")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
func getMetric(t *testing.T, tt componenttest.Telemetry, name string) metricdata.Metrics {
|
||||
var md metricdata.ResourceMetrics
|
||||
require.NoError(t, tt.Reader.Collect(context.Background(), &md))
|
||||
return getMetricFromResource(name, md)
|
||||
}
|
||||
|
||||
func getMetricFromResource(name string, got metricdata.ResourceMetrics) metricdata.Metrics {
|
||||
for _, sm := range got.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
|
|
|
|||
|
|
@ -67,18 +67,13 @@ func AssertEqual{{ $name.Render }}(t *testing.T, tt componenttest.Telemetry, dps
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_{{ $name }}")
|
||||
got, err := tt.GetMetric("otelcol_{{ $name }}")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
{{- end }}
|
||||
|
||||
func getMetric(t *testing.T, tt componenttest.Telemetry, name string) metricdata.Metrics {
|
||||
var md metricdata.ResourceMetrics
|
||||
require.NoError(t, tt.Reader.Collect(context.Background(), &md))
|
||||
return getMetricFromResource(name, md)
|
||||
}
|
||||
|
||||
func getMetricFromResource(name string, got metricdata.ResourceMetrics) metricdata.Metrics {
|
||||
for _, sm := range got.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
|
|
|
|||
|
|
@ -33,55 +33,55 @@ type TestTelemetry struct {
|
|||
// Deprecated: [v0.119.0] use the metadatatest.AssertEqualMetric series of functions instead.
|
||||
// CheckExporterTraces checks that for the current exported values for trace exporter metrics match given values.
|
||||
func (tts *TestTelemetry) CheckExporterTraces(sentSpans, sendFailedSpans int64) error {
|
||||
return checkExporterTraces(tts.Reader, tts.id, sentSpans, sendFailedSpans)
|
||||
return checkExporterTraces(&tts.Telemetry, tts.id, sentSpans, sendFailedSpans)
|
||||
}
|
||||
|
||||
// Deprecated: [v0.119.0] use the metadatatest.AssertEqualMetric series of functions instead.
|
||||
// CheckExporterMetrics checks that for the current exported values for metrics exporter metrics match given values.
|
||||
func (tts *TestTelemetry) CheckExporterMetrics(sentMetricsPoints, sendFailedMetricsPoints int64) error {
|
||||
return checkExporterMetrics(tts.Reader, tts.id, sentMetricsPoints, sendFailedMetricsPoints)
|
||||
return checkExporterMetrics(&tts.Telemetry, tts.id, sentMetricsPoints, sendFailedMetricsPoints)
|
||||
}
|
||||
|
||||
// Deprecated: [v0.119.0] use the metadatatest.AssertEqualMetric series of functions instead.
|
||||
func (tts *TestTelemetry) CheckExporterEnqueueFailedMetrics(enqueueFailed int64) error {
|
||||
return checkExporterEnqueueFailed(tts.Reader, tts.id, "metric_points", enqueueFailed)
|
||||
return checkExporterEnqueueFailed(&tts.Telemetry, tts.id, "metric_points", enqueueFailed)
|
||||
}
|
||||
|
||||
// Deprecated: [v0.119.0] use the metadatatest.AssertEqualMetric series of functions instead.
|
||||
func (tts *TestTelemetry) CheckExporterEnqueueFailedTraces(enqueueFailed int64) error {
|
||||
return checkExporterEnqueueFailed(tts.Reader, tts.id, "spans", enqueueFailed)
|
||||
return checkExporterEnqueueFailed(&tts.Telemetry, tts.id, "spans", enqueueFailed)
|
||||
}
|
||||
|
||||
// Deprecated: [v0.119.0] use the metadatatest.AssertEqualMetric series of functions instead.
|
||||
func (tts *TestTelemetry) CheckExporterEnqueueFailedLogs(enqueueFailed int64) error {
|
||||
return checkExporterEnqueueFailed(tts.Reader, tts.id, "log_records", enqueueFailed)
|
||||
return checkExporterEnqueueFailed(&tts.Telemetry, tts.id, "log_records", enqueueFailed)
|
||||
}
|
||||
|
||||
// Deprecated: [v0.119.0] use the metadatatest.AssertEqualMetric series of functions instead.
|
||||
// CheckExporterLogs checks that for the current exported values for logs exporter metrics match given values.
|
||||
func (tts *TestTelemetry) CheckExporterLogs(sentLogRecords, sendFailedLogRecords int64) error {
|
||||
return checkExporterLogs(tts.Reader, tts.id, sentLogRecords, sendFailedLogRecords)
|
||||
return checkExporterLogs(&tts.Telemetry, tts.id, sentLogRecords, sendFailedLogRecords)
|
||||
}
|
||||
|
||||
func (tts *TestTelemetry) CheckExporterMetricGauge(metric string, val int64, extraAttrs ...attribute.KeyValue) error {
|
||||
attrs := attributesForExporterMetrics(tts.id, extraAttrs...)
|
||||
return checkIntGauge(tts.Reader, metric, val, attrs)
|
||||
return checkIntGauge(&tts.Telemetry, metric, val, attrs)
|
||||
}
|
||||
|
||||
// CheckReceiverTraces checks that for the current exported values for trace receiver metrics match given values.
|
||||
func (tts *TestTelemetry) CheckReceiverTraces(protocol string, acceptedSpans, droppedSpans int64) error {
|
||||
return checkReceiverTraces(tts.Reader, tts.id, protocol, acceptedSpans, droppedSpans)
|
||||
return checkReceiverTraces(&tts.Telemetry, tts.id, protocol, acceptedSpans, droppedSpans)
|
||||
}
|
||||
|
||||
// Deprecated: [v0.119.0] use the metadatatest.AssertEqualMetric series of functions instead.
|
||||
// CheckReceiverLogs checks that for the current exported values for logs receiver metrics match given values.
|
||||
func (tts *TestTelemetry) CheckReceiverLogs(protocol string, acceptedLogRecords, droppedLogRecords int64) error {
|
||||
return checkReceiverLogs(tts.Reader, tts.id, protocol, acceptedLogRecords, droppedLogRecords)
|
||||
return checkReceiverLogs(&tts.Telemetry, tts.id, protocol, acceptedLogRecords, droppedLogRecords)
|
||||
}
|
||||
|
||||
// CheckReceiverMetrics checks that for the current exported values for metrics receiver metrics match given values.
|
||||
func (tts *TestTelemetry) CheckReceiverMetrics(protocol string, acceptedMetricPoints, droppedMetricPoints int64) error {
|
||||
return checkReceiverMetrics(tts.Reader, tts.id, protocol, acceptedMetricPoints, droppedMetricPoints)
|
||||
return checkReceiverMetrics(&tts.Telemetry, tts.id, protocol, acceptedMetricPoints, droppedMetricPoints)
|
||||
}
|
||||
|
||||
// TelemetrySettings returns the TestTelemetry's TelemetrySettings
|
||||
|
|
|
|||
|
|
@ -4,68 +4,66 @@
|
|||
package componenttest // import "go.opentelemetry.io/collector/component/componenttest"
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
sdkmetric "go.opentelemetry.io/otel/sdk/metric"
|
||||
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
||||
"go.uber.org/multierr"
|
||||
|
||||
"go.opentelemetry.io/collector/component"
|
||||
)
|
||||
|
||||
func checkReceiverTraces(reader *sdkmetric.ManualReader, receiver component.ID, protocol string, accepted, dropped int64) error {
|
||||
return checkReceiver(reader, receiver, "spans", protocol, accepted, dropped)
|
||||
func checkReceiverTraces(tel *Telemetry, receiver component.ID, protocol string, accepted, dropped int64) error {
|
||||
return checkReceiver(tel, receiver, "spans", protocol, accepted, dropped)
|
||||
}
|
||||
|
||||
func checkReceiverLogs(reader *sdkmetric.ManualReader, receiver component.ID, protocol string, accepted, dropped int64) error {
|
||||
return checkReceiver(reader, receiver, "log_records", protocol, accepted, dropped)
|
||||
func checkReceiverLogs(tel *Telemetry, receiver component.ID, protocol string, accepted, dropped int64) error {
|
||||
return checkReceiver(tel, receiver, "log_records", protocol, accepted, dropped)
|
||||
}
|
||||
|
||||
func checkReceiverMetrics(reader *sdkmetric.ManualReader, receiver component.ID, protocol string, accepted, dropped int64) error {
|
||||
return checkReceiver(reader, receiver, "metric_points", protocol, accepted, dropped)
|
||||
func checkReceiverMetrics(tel *Telemetry, receiver component.ID, protocol string, accepted, dropped int64) error {
|
||||
return checkReceiver(tel, receiver, "metric_points", protocol, accepted, dropped)
|
||||
}
|
||||
|
||||
func checkReceiver(reader *sdkmetric.ManualReader, receiver component.ID, datatype, protocol string, acceptedMetricPoints, droppedMetricPoints int64) error {
|
||||
func checkReceiver(tel *Telemetry, receiver component.ID, datatype, protocol string, acceptedMetricPoints, droppedMetricPoints int64) error {
|
||||
receiverAttrs := attributesForReceiverMetrics(receiver, protocol)
|
||||
return multierr.Combine(
|
||||
checkIntSum(reader, "otelcol_receiver_accepted_"+datatype, acceptedMetricPoints, receiverAttrs),
|
||||
checkIntSum(reader, "otelcol_receiver_refused_"+datatype, droppedMetricPoints, receiverAttrs))
|
||||
checkIntSum(tel, "otelcol_receiver_accepted_"+datatype, acceptedMetricPoints, receiverAttrs),
|
||||
checkIntSum(tel, "otelcol_receiver_refused_"+datatype, droppedMetricPoints, receiverAttrs))
|
||||
}
|
||||
|
||||
func checkExporterTraces(reader *sdkmetric.ManualReader, exporter component.ID, sent, sendFailed int64) error {
|
||||
return checkExporter(reader, exporter, "spans", sent, sendFailed)
|
||||
func checkExporterTraces(tel *Telemetry, exporter component.ID, sent, sendFailed int64) error {
|
||||
return checkExporter(tel, exporter, "spans", sent, sendFailed)
|
||||
}
|
||||
|
||||
func checkExporterLogs(reader *sdkmetric.ManualReader, exporter component.ID, sent, sendFailed int64) error {
|
||||
return checkExporter(reader, exporter, "log_records", sent, sendFailed)
|
||||
func checkExporterLogs(tel *Telemetry, exporter component.ID, sent, sendFailed int64) error {
|
||||
return checkExporter(tel, exporter, "log_records", sent, sendFailed)
|
||||
}
|
||||
|
||||
func checkExporterMetrics(reader *sdkmetric.ManualReader, exporter component.ID, sent, sendFailed int64) error {
|
||||
return checkExporter(reader, exporter, "metric_points", sent, sendFailed)
|
||||
func checkExporterMetrics(tel *Telemetry, exporter component.ID, sent, sendFailed int64) error {
|
||||
return checkExporter(tel, exporter, "metric_points", sent, sendFailed)
|
||||
}
|
||||
|
||||
func checkExporter(reader *sdkmetric.ManualReader, exporter component.ID, datatype string, sent, sendFailed int64) error {
|
||||
func checkExporter(tel *Telemetry, exporter component.ID, datatype string, sent, sendFailed int64) error {
|
||||
exporterAttrs := attributesForExporterMetrics(exporter)
|
||||
errs := checkIntSum(reader, "otelcol_exporter_sent_"+datatype, sent, exporterAttrs)
|
||||
errs := checkIntSum(tel, "otelcol_exporter_sent_"+datatype, sent, exporterAttrs)
|
||||
if sendFailed > 0 {
|
||||
errs = multierr.Append(errs,
|
||||
checkIntSum(reader, "otelcol_exporter_send_failed_"+datatype, sendFailed, exporterAttrs))
|
||||
checkIntSum(tel, "otelcol_exporter_send_failed_"+datatype, sendFailed, exporterAttrs))
|
||||
}
|
||||
return errs
|
||||
}
|
||||
|
||||
func checkExporterEnqueueFailed(reader *sdkmetric.ManualReader, exporter component.ID, datatype string, enqueueFailed int64) error {
|
||||
func checkExporterEnqueueFailed(tel *Telemetry, exporter component.ID, datatype string, enqueueFailed int64) error {
|
||||
if enqueueFailed == 0 {
|
||||
return nil
|
||||
}
|
||||
exporterAttrs := attributesForExporterMetrics(exporter)
|
||||
return checkIntSum(reader, "otelcol_exporter_enqueue_failed_"+datatype, enqueueFailed, exporterAttrs)
|
||||
return checkIntSum(tel, "otelcol_exporter_enqueue_failed_"+datatype, enqueueFailed, exporterAttrs)
|
||||
}
|
||||
|
||||
func checkIntGauge(reader *sdkmetric.ManualReader, metric string, expected int64, expectedAttrs attribute.Set) error {
|
||||
dp, err := getGaugeDataPoint[int64](reader, metric, expectedAttrs)
|
||||
func checkIntGauge(tel *Telemetry, metric string, expected int64, expectedAttrs attribute.Set) error {
|
||||
dp, err := getGaugeDataPoint[int64](tel, metric, expectedAttrs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -77,8 +75,8 @@ func checkIntGauge(reader *sdkmetric.ManualReader, metric string, expected int64
|
|||
return nil
|
||||
}
|
||||
|
||||
func checkIntSum(reader *sdkmetric.ManualReader, expectedMetric string, expected int64, expectedAttrs attribute.Set) error {
|
||||
dp, err := getSumDataPoint[int64](reader, expectedMetric, expectedAttrs)
|
||||
func checkIntSum(tel *Telemetry, expectedMetric string, expected int64, expectedAttrs attribute.Set) error {
|
||||
dp, err := getSumDataPoint[int64](tel, expectedMetric, expectedAttrs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -90,8 +88,8 @@ func checkIntSum(reader *sdkmetric.ManualReader, expectedMetric string, expected
|
|||
return nil
|
||||
}
|
||||
|
||||
func getSumDataPoint[N int64 | float64](reader *sdkmetric.ManualReader, expectedName string, expectedAttrs attribute.Set) (metricdata.DataPoint[N], error) {
|
||||
m, err := getMetric(reader, expectedName)
|
||||
func getSumDataPoint[N int64 | float64](tel *Telemetry, expectedName string, expectedAttrs attribute.Set) (metricdata.DataPoint[N], error) {
|
||||
m, err := tel.GetMetric(expectedName)
|
||||
if err != nil {
|
||||
return metricdata.DataPoint[N]{}, err
|
||||
}
|
||||
|
|
@ -104,8 +102,8 @@ func getSumDataPoint[N int64 | float64](reader *sdkmetric.ManualReader, expected
|
|||
}
|
||||
}
|
||||
|
||||
func getGaugeDataPoint[N int64 | float64](reader *sdkmetric.ManualReader, expectedName string, expectedAttrs attribute.Set) (metricdata.DataPoint[N], error) {
|
||||
m, err := getMetric(reader, expectedName)
|
||||
func getGaugeDataPoint[N int64 | float64](tel *Telemetry, expectedName string, expectedAttrs attribute.Set) (metricdata.DataPoint[N], error) {
|
||||
m, err := tel.GetMetric(expectedName)
|
||||
if err != nil {
|
||||
return metricdata.DataPoint[N]{}, err
|
||||
}
|
||||
|
|
@ -127,22 +125,6 @@ func getDataPoint[N int64 | float64](dps []metricdata.DataPoint[N], expectedName
|
|||
return metricdata.DataPoint[N]{}, fmt.Errorf("metric '%s' doesn't have a data point with the given attributes: %s", expectedName, expectedAttrs.Encoded(attribute.DefaultEncoder()))
|
||||
}
|
||||
|
||||
func getMetric(reader *sdkmetric.ManualReader, expectedName string) (metricdata.Metrics, error) {
|
||||
var rm metricdata.ResourceMetrics
|
||||
if err := reader.Collect(context.Background(), &rm); err != nil {
|
||||
return metricdata.Metrics{}, err
|
||||
}
|
||||
|
||||
for _, sm := range rm.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
if m.Name == expectedName {
|
||||
return m, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return metricdata.Metrics{}, fmt.Errorf("metric '%s' not found", expectedName)
|
||||
}
|
||||
|
||||
// attributesForReceiverMetrics returns the attributes that are needed for the receiver metrics.
|
||||
func attributesForReceiverMetrics(receiver component.ID, transport string) attribute.Set {
|
||||
return attribute.NewSet(
|
||||
|
|
|
|||
|
|
@ -6,8 +6,10 @@ package componenttest // import "go.opentelemetry.io/collector/component/compone
|
|||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
sdkmetric "go.opentelemetry.io/otel/sdk/metric"
|
||||
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/sdk/trace/tracetest"
|
||||
|
||||
|
|
@ -73,6 +75,22 @@ func (tt *Telemetry) NewTelemetrySettings() component.TelemetrySettings {
|
|||
return set
|
||||
}
|
||||
|
||||
func (tt *Telemetry) GetMetric(name string) (metricdata.Metrics, error) {
|
||||
var rm metricdata.ResourceMetrics
|
||||
if err := tt.Reader.Collect(context.Background(), &rm); err != nil {
|
||||
return metricdata.Metrics{}, err
|
||||
}
|
||||
|
||||
for _, sm := range rm.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
if m.Name == name {
|
||||
return m, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
return metricdata.Metrics{}, fmt.Errorf("metric '%s' not found", name)
|
||||
}
|
||||
|
||||
func (tt *Telemetry) Shutdown(ctx context.Context) error {
|
||||
return errors.Join(
|
||||
tt.meterProvider.Shutdown(ctx),
|
||||
|
|
|
|||
|
|
@ -55,7 +55,8 @@ func AssertEqualExporterEnqueueFailedLogRecords(t *testing.T, tt componenttest.T
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_enqueue_failed_log_records")
|
||||
got, err := tt.GetMetric("otelcol_exporter_enqueue_failed_log_records")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +71,8 @@ func AssertEqualExporterEnqueueFailedMetricPoints(t *testing.T, tt componenttest
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_enqueue_failed_metric_points")
|
||||
got, err := tt.GetMetric("otelcol_exporter_enqueue_failed_metric_points")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -85,7 +87,8 @@ func AssertEqualExporterEnqueueFailedSpans(t *testing.T, tt componenttest.Teleme
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_enqueue_failed_spans")
|
||||
got, err := tt.GetMetric("otelcol_exporter_enqueue_failed_spans")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -98,7 +101,8 @@ func AssertEqualExporterQueueCapacity(t *testing.T, tt componenttest.Telemetry,
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_queue_capacity")
|
||||
got, err := tt.GetMetric("otelcol_exporter_queue_capacity")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -111,7 +115,8 @@ func AssertEqualExporterQueueSize(t *testing.T, tt componenttest.Telemetry, dps
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_queue_size")
|
||||
got, err := tt.GetMetric("otelcol_exporter_queue_size")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -126,7 +131,8 @@ func AssertEqualExporterSendFailedLogRecords(t *testing.T, tt componenttest.Tele
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_send_failed_log_records")
|
||||
got, err := tt.GetMetric("otelcol_exporter_send_failed_log_records")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -141,7 +147,8 @@ func AssertEqualExporterSendFailedMetricPoints(t *testing.T, tt componenttest.Te
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_send_failed_metric_points")
|
||||
got, err := tt.GetMetric("otelcol_exporter_send_failed_metric_points")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -156,7 +163,8 @@ func AssertEqualExporterSendFailedSpans(t *testing.T, tt componenttest.Telemetry
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_send_failed_spans")
|
||||
got, err := tt.GetMetric("otelcol_exporter_send_failed_spans")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -171,7 +179,8 @@ func AssertEqualExporterSentLogRecords(t *testing.T, tt componenttest.Telemetry,
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_sent_log_records")
|
||||
got, err := tt.GetMetric("otelcol_exporter_sent_log_records")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -186,7 +195,8 @@ func AssertEqualExporterSentMetricPoints(t *testing.T, tt componenttest.Telemetr
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_sent_metric_points")
|
||||
got, err := tt.GetMetric("otelcol_exporter_sent_metric_points")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -201,16 +211,11 @@ func AssertEqualExporterSentSpans(t *testing.T, tt componenttest.Telemetry, dps
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_exporter_sent_spans")
|
||||
got, err := tt.GetMetric("otelcol_exporter_sent_spans")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
func getMetric(t *testing.T, tt componenttest.Telemetry, name string) metricdata.Metrics {
|
||||
var md metricdata.ResourceMetrics
|
||||
require.NoError(t, tt.Reader.Collect(context.Background(), &md))
|
||||
return getMetricFromResource(name, md)
|
||||
}
|
||||
|
||||
func getMetricFromResource(name string, got metricdata.ResourceMetrics) metricdata.Metrics {
|
||||
for _, sm := range got.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
|
|
|
|||
|
|
@ -54,7 +54,8 @@ func AssertEqualProcessorBatchBatchSendSize(t *testing.T, tt componenttest.Telem
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_batch_batch_send_size")
|
||||
got, err := tt.GetMetric("otelcol_processor_batch_batch_send_size")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -68,7 +69,8 @@ func AssertEqualProcessorBatchBatchSendSizeBytes(t *testing.T, tt componenttest.
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_batch_batch_send_size_bytes")
|
||||
got, err := tt.GetMetric("otelcol_processor_batch_batch_send_size_bytes")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -83,7 +85,8 @@ func AssertEqualProcessorBatchBatchSizeTriggerSend(t *testing.T, tt componenttes
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_batch_batch_size_trigger_send")
|
||||
got, err := tt.GetMetric("otelcol_processor_batch_batch_size_trigger_send")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -98,7 +101,8 @@ func AssertEqualProcessorBatchMetadataCardinality(t *testing.T, tt componenttest
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_batch_metadata_cardinality")
|
||||
got, err := tt.GetMetric("otelcol_processor_batch_metadata_cardinality")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -113,16 +117,11 @@ func AssertEqualProcessorBatchTimeoutTriggerSend(t *testing.T, tt componenttest.
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_batch_timeout_trigger_send")
|
||||
got, err := tt.GetMetric("otelcol_processor_batch_timeout_trigger_send")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
func getMetric(t *testing.T, tt componenttest.Telemetry, name string) metricdata.Metrics {
|
||||
var md metricdata.ResourceMetrics
|
||||
require.NoError(t, tt.Reader.Collect(context.Background(), &md))
|
||||
return getMetricFromResource(name, md)
|
||||
}
|
||||
|
||||
func getMetricFromResource(name string, got metricdata.ResourceMetrics) metricdata.Metrics {
|
||||
for _, sm := range got.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
|
|
|
|||
|
|
@ -55,7 +55,8 @@ func AssertEqualProcessorAcceptedLogRecords(t *testing.T, tt componenttest.Telem
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_accepted_log_records")
|
||||
got, err := tt.GetMetric("otelcol_processor_accepted_log_records")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +71,8 @@ func AssertEqualProcessorAcceptedMetricPoints(t *testing.T, tt componenttest.Tel
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_accepted_metric_points")
|
||||
got, err := tt.GetMetric("otelcol_processor_accepted_metric_points")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -85,7 +87,8 @@ func AssertEqualProcessorAcceptedSpans(t *testing.T, tt componenttest.Telemetry,
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_accepted_spans")
|
||||
got, err := tt.GetMetric("otelcol_processor_accepted_spans")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -100,7 +103,8 @@ func AssertEqualProcessorRefusedLogRecords(t *testing.T, tt componenttest.Teleme
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_refused_log_records")
|
||||
got, err := tt.GetMetric("otelcol_processor_refused_log_records")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -115,7 +119,8 @@ func AssertEqualProcessorRefusedMetricPoints(t *testing.T, tt componenttest.Tele
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_refused_metric_points")
|
||||
got, err := tt.GetMetric("otelcol_processor_refused_metric_points")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -130,16 +135,11 @@ func AssertEqualProcessorRefusedSpans(t *testing.T, tt componenttest.Telemetry,
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_refused_spans")
|
||||
got, err := tt.GetMetric("otelcol_processor_refused_spans")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
func getMetric(t *testing.T, tt componenttest.Telemetry, name string) metricdata.Metrics {
|
||||
var md metricdata.ResourceMetrics
|
||||
require.NoError(t, tt.Reader.Collect(context.Background(), &md))
|
||||
return getMetricFromResource(name, md)
|
||||
}
|
||||
|
||||
func getMetricFromResource(name string, got metricdata.ResourceMetrics) metricdata.Metrics {
|
||||
for _, sm := range got.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
|
|
|
|||
|
|
@ -55,7 +55,8 @@ func AssertEqualProcessorIncomingItems(t *testing.T, tt componenttest.Telemetry,
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_incoming_items")
|
||||
got, err := tt.GetMetric("otelcol_processor_incoming_items")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -70,16 +71,11 @@ func AssertEqualProcessorOutgoingItems(t *testing.T, tt componenttest.Telemetry,
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_processor_outgoing_items")
|
||||
got, err := tt.GetMetric("otelcol_processor_outgoing_items")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
func getMetric(t *testing.T, tt componenttest.Telemetry, name string) metricdata.Metrics {
|
||||
var md metricdata.ResourceMetrics
|
||||
require.NoError(t, tt.Reader.Collect(context.Background(), &md))
|
||||
return getMetricFromResource(name, md)
|
||||
}
|
||||
|
||||
func getMetricFromResource(name string, got metricdata.ResourceMetrics) metricdata.Metrics {
|
||||
for _, sm := range got.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
|
|
|
|||
|
|
@ -55,7 +55,8 @@ func AssertEqualReceiverAcceptedLogRecords(t *testing.T, tt componenttest.Teleme
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_receiver_accepted_log_records")
|
||||
got, err := tt.GetMetric("otelcol_receiver_accepted_log_records")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +71,8 @@ func AssertEqualReceiverAcceptedMetricPoints(t *testing.T, tt componenttest.Tele
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_receiver_accepted_metric_points")
|
||||
got, err := tt.GetMetric("otelcol_receiver_accepted_metric_points")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -85,7 +87,8 @@ func AssertEqualReceiverAcceptedSpans(t *testing.T, tt componenttest.Telemetry,
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_receiver_accepted_spans")
|
||||
got, err := tt.GetMetric("otelcol_receiver_accepted_spans")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -100,7 +103,8 @@ func AssertEqualReceiverRefusedLogRecords(t *testing.T, tt componenttest.Telemet
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_receiver_refused_log_records")
|
||||
got, err := tt.GetMetric("otelcol_receiver_refused_log_records")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -115,7 +119,8 @@ func AssertEqualReceiverRefusedMetricPoints(t *testing.T, tt componenttest.Telem
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_receiver_refused_metric_points")
|
||||
got, err := tt.GetMetric("otelcol_receiver_refused_metric_points")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -130,16 +135,11 @@ func AssertEqualReceiverRefusedSpans(t *testing.T, tt componenttest.Telemetry, d
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_receiver_refused_spans")
|
||||
got, err := tt.GetMetric("otelcol_receiver_refused_spans")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
func getMetric(t *testing.T, tt componenttest.Telemetry, name string) metricdata.Metrics {
|
||||
var md metricdata.ResourceMetrics
|
||||
require.NoError(t, tt.Reader.Collect(context.Background(), &md))
|
||||
return getMetricFromResource(name, md)
|
||||
}
|
||||
|
||||
func getMetricFromResource(name string, got metricdata.ResourceMetrics) metricdata.Metrics {
|
||||
for _, sm := range got.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
|
|
|
|||
|
|
@ -45,7 +45,8 @@ func AssertEqualScraperErroredLogRecords(t *testing.T, tt componenttest.Telemetr
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_scraper_errored_log_records")
|
||||
got, err := tt.GetMetric("otelcol_scraper_errored_log_records")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -60,7 +61,8 @@ func AssertEqualScraperErroredMetricPoints(t *testing.T, tt componenttest.Teleme
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_scraper_errored_metric_points")
|
||||
got, err := tt.GetMetric("otelcol_scraper_errored_metric_points")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -75,7 +77,8 @@ func AssertEqualScraperScrapedLogRecords(t *testing.T, tt componenttest.Telemetr
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_scraper_scraped_log_records")
|
||||
got, err := tt.GetMetric("otelcol_scraper_scraped_log_records")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -90,16 +93,11 @@ func AssertEqualScraperScrapedMetricPoints(t *testing.T, tt componenttest.Teleme
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_scraper_scraped_metric_points")
|
||||
got, err := tt.GetMetric("otelcol_scraper_scraped_metric_points")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
func getMetric(t *testing.T, tt componenttest.Telemetry, name string) metricdata.Metrics {
|
||||
var md metricdata.ResourceMetrics
|
||||
require.NoError(t, tt.Reader.Collect(context.Background(), &md))
|
||||
return getMetricFromResource(name, md)
|
||||
}
|
||||
|
||||
func getMetricFromResource(name string, got metricdata.ResourceMetrics) metricdata.Metrics {
|
||||
for _, sm := range got.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
|
|
|
|||
|
|
@ -45,7 +45,8 @@ func AssertEqualProcessCPUSeconds(t *testing.T, tt componenttest.Telemetry, dps
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_process_cpu_seconds")
|
||||
got, err := tt.GetMetric("otelcol_process_cpu_seconds")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -58,7 +59,8 @@ func AssertEqualProcessMemoryRss(t *testing.T, tt componenttest.Telemetry, dps [
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_process_memory_rss")
|
||||
got, err := tt.GetMetric("otelcol_process_memory_rss")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +73,8 @@ func AssertEqualProcessRuntimeHeapAllocBytes(t *testing.T, tt componenttest.Tele
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_process_runtime_heap_alloc_bytes")
|
||||
got, err := tt.GetMetric("otelcol_process_runtime_heap_alloc_bytes")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -86,7 +89,8 @@ func AssertEqualProcessRuntimeTotalAllocBytes(t *testing.T, tt componenttest.Tel
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_process_runtime_total_alloc_bytes")
|
||||
got, err := tt.GetMetric("otelcol_process_runtime_total_alloc_bytes")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -99,7 +103,8 @@ func AssertEqualProcessRuntimeTotalSysMemoryBytes(t *testing.T, tt componenttest
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_process_runtime_total_sys_memory_bytes")
|
||||
got, err := tt.GetMetric("otelcol_process_runtime_total_sys_memory_bytes")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
|
|
@ -114,16 +119,11 @@ func AssertEqualProcessUptime(t *testing.T, tt componenttest.Telemetry, dps []me
|
|||
DataPoints: dps,
|
||||
},
|
||||
}
|
||||
got := getMetric(t, tt, "otelcol_process_uptime")
|
||||
got, err := tt.GetMetric("otelcol_process_uptime")
|
||||
require.NoError(t, err)
|
||||
metricdatatest.AssertEqual(t, want, got, opts...)
|
||||
}
|
||||
|
||||
func getMetric(t *testing.T, tt componenttest.Telemetry, name string) metricdata.Metrics {
|
||||
var md metricdata.ResourceMetrics
|
||||
require.NoError(t, tt.Reader.Collect(context.Background(), &md))
|
||||
return getMetricFromResource(name, md)
|
||||
}
|
||||
|
||||
func getMetricFromResource(name string, got metricdata.ResourceMetrics) metricdata.Metrics {
|
||||
for _, sm := range got.ScopeMetrics {
|
||||
for _, m := range sm.Metrics {
|
||||
|
|
|
|||
Loading…
Reference in New Issue