mirror of
https://github.com/hanzoai/telemetry.git
synced 2026-10-30 20:01:49 +00:00
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description Add per-signal `otelcol_exporter_in_flight_requests` metrics to track the number of export requests currently in-flight per exporter. This helps operators detect when an exporter is saturating its worker pool or when a slow backend is causing request buildup. <!-- Issue number if applicable --> #### Link to tracking issue Fixes #15009 <!--Describe what testing was performed and which tests were added.--> #### Testing <!--Describe the documentation added.--> #### Documentation
100 lines
4.1 KiB
Go
100 lines
4.1 KiB
Go
// Code generated by mdatagen. DO NOT EDIT.
|
|
|
|
package metadatatest
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
"go.opentelemetry.io/otel/metric"
|
|
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
|
"go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest"
|
|
|
|
"go.opentelemetry.io/collector/component/componenttest"
|
|
"go.opentelemetry.io/collector/exporter/exporterhelper/internal/metadata"
|
|
)
|
|
|
|
func TestSetupTelemetry(t *testing.T) {
|
|
testTel := componenttest.NewTelemetry()
|
|
tb, err := metadata.NewTelemetryBuilder(testTel.NewTelemetrySettings())
|
|
require.NoError(t, err)
|
|
defer tb.Shutdown()
|
|
require.NoError(t, tb.RegisterExporterQueueCapacityCallback(func(_ context.Context, observer metric.Int64Observer) error {
|
|
observer.Observe(1)
|
|
return nil
|
|
}))
|
|
require.NoError(t, tb.RegisterExporterQueueSizeCallback(func(_ context.Context, observer metric.Int64Observer) error {
|
|
observer.Observe(1)
|
|
return nil
|
|
}))
|
|
tb.ExporterEnqueueFailedLogRecords.Add(context.Background(), 1)
|
|
tb.ExporterEnqueueFailedMetricPoints.Add(context.Background(), 1)
|
|
tb.ExporterEnqueueFailedProfileSamples.Add(context.Background(), 1)
|
|
tb.ExporterEnqueueFailedSpans.Add(context.Background(), 1)
|
|
tb.ExporterInFlightRequests.Add(context.Background(), 1)
|
|
tb.ExporterQueueBatchSendSize.Record(context.Background(), 1)
|
|
tb.ExporterQueueBatchSendSizeBytes.Record(context.Background(), 1)
|
|
tb.ExporterSendFailedLogRecords.Add(context.Background(), 1)
|
|
tb.ExporterSendFailedMetricPoints.Add(context.Background(), 1)
|
|
tb.ExporterSendFailedProfileSamples.Add(context.Background(), 1)
|
|
tb.ExporterSendFailedSpans.Add(context.Background(), 1)
|
|
tb.ExporterSentLogRecords.Add(context.Background(), 1)
|
|
tb.ExporterSentMetricPoints.Add(context.Background(), 1)
|
|
tb.ExporterSentProfileSamples.Add(context.Background(), 1)
|
|
tb.ExporterSentSpans.Add(context.Background(), 1)
|
|
AssertEqualExporterEnqueueFailedLogRecords(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterEnqueueFailedMetricPoints(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterEnqueueFailedProfileSamples(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterEnqueueFailedSpans(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterInFlightRequests(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterQueueBatchSendSize(t, testTel,
|
|
[]metricdata.HistogramDataPoint[int64]{{}}, metricdatatest.IgnoreValue(),
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterQueueBatchSendSizeBytes(t, testTel,
|
|
[]metricdata.HistogramDataPoint[int64]{{}}, metricdatatest.IgnoreValue(),
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterQueueCapacity(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterQueueSize(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterSendFailedLogRecords(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterSendFailedMetricPoints(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterSendFailedProfileSamples(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterSendFailedSpans(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterSentLogRecords(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterSentMetricPoints(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterSentProfileSamples(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
AssertEqualExporterSentSpans(t, testTel,
|
|
[]metricdata.DataPoint[int64]{{Value: 1}},
|
|
metricdatatest.IgnoreTimestamp())
|
|
|
|
require.NoError(t, testTel.Shutdown(context.Background()))
|
|
}
|