Skip to content

Commit

Permalink
make useOtelForInternalMetrics as beta
Browse files Browse the repository at this point in the history
The metrics are now consistent with the metrics produced by OpenCensus. We should move the featuregate forward.

Signed-off-by: Alex Boten <[email protected]>
  • Loading branch information
Alex Boten committed Dec 1, 2023
1 parent 6e2fdc7 commit 59516a6
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 24 deletions.
10 changes: 5 additions & 5 deletions exporter/exporterhelper/obsexporter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,11 @@ type testParams struct {

func testTelemetry(t *testing.T, id component.ID, testFunc func(t *testing.T, tt obsreporttest.TestTelemetry, useOtel bool)) {
t.Run("WithOC", func(t *testing.T) {
originalValue := obsreportconfig.UseOtelForInternalMetricsfeatureGate.IsEnabled()
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), false))
defer func() {
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), originalValue))
}()
tt, err := obsreporttest.SetupTelemetry(id)
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, tt.Shutdown(context.Background())) })
Expand All @@ -188,11 +193,6 @@ func testTelemetry(t *testing.T, id component.ID, testFunc func(t *testing.T, tt
})

t.Run("WithOTel", func(t *testing.T) {
originalValue := obsreportconfig.UseOtelForInternalMetricsfeatureGate.IsEnabled()
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), true))
defer func() {
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), originalValue))
}()
tt, err := obsreporttest.SetupTelemetry(id)
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, tt.Shutdown(context.Background())) })
Expand Down
8 changes: 8 additions & 0 deletions exporter/exporterhelper/obsreport_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import (

"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/exporter"
"go.opentelemetry.io/collector/featuregate"
"go.opentelemetry.io/collector/internal/obsreportconfig"
"go.opentelemetry.io/collector/obsreport/obsreporttest"
)

Expand All @@ -26,6 +28,12 @@ func TestExportEnqueueFailure(t *testing.T) {
})
require.NoError(t, err)

originalValue := obsreportconfig.UseOtelForInternalMetricsfeatureGate.IsEnabled()
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), false))
defer func() {
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), originalValue))
}()

logRecords := int64(7)
obsrep.recordEnqueueFailureWithOC(context.Background(), component.DataTypeLogs, logRecords)
require.NoError(t, tt.CheckExporterEnqueueFailedLogs(logRecords))
Expand Down
5 changes: 2 additions & 3 deletions exporter/exporterhelper/queue_sender_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ func setFeatureGateForTest(t testing.TB, gate *featuregate.Gate, enabled bool) f
}

func TestQueuedRetry_QueueMetricsReported(t *testing.T) {
resetFlag := setFeatureGateForTest(t, obsreportconfig.UseOtelForInternalMetricsfeatureGate, false)
defer resetFlag()
tt, err := obsreporttest.SetupTelemetry(defaultID)
require.NoError(t, err)

Expand All @@ -166,9 +168,6 @@ func TestQueuedRetry_QueueMetricsReported(t *testing.T) {
}

func TestQueuedRetry_QueueMetricsReportedUsingOTel(t *testing.T) {
resetFlag := setFeatureGateForTest(t, obsreportconfig.UseOtelForInternalMetricsfeatureGate, true)
defer resetFlag()

tt, err := obsreporttest.SetupTelemetry(defaultID)
require.NoError(t, err)

Expand Down
2 changes: 1 addition & 1 deletion internal/obsreportconfig/obsreportconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import (
// telemetrySettings for internal metrics.
var UseOtelForInternalMetricsfeatureGate = featuregate.GlobalRegistry().MustRegister(
"telemetry.useOtelForInternalMetrics",
featuregate.StageAlpha,
featuregate.StageBeta,
featuregate.WithRegisterDescription("controls whether the collector uses OpenTelemetry for internal metrics"))

// DisableHighCardinalityMetricsfeatureGate is the feature gate that controls whether the collector should enable
Expand Down
10 changes: 5 additions & 5 deletions processor/processorhelper/obsreport_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,11 @@ func TestProcessorLogRecords(t *testing.T) {

func testTelemetry(t *testing.T, id component.ID, testFunc func(t *testing.T, tt obsreporttest.TestTelemetry, useOtel bool)) {
t.Run("WithOC", func(t *testing.T) {
originalValue := obsreportconfig.UseOtelForInternalMetricsfeatureGate.IsEnabled()
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), false))
defer func() {
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), originalValue))
}()
tt, err := obsreporttest.SetupTelemetry(id)
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, tt.Shutdown(context.Background())) })
Expand All @@ -109,11 +114,6 @@ func testTelemetry(t *testing.T, id component.ID, testFunc func(t *testing.T, tt
})

t.Run("WithOTel", func(t *testing.T) {
originalValue := obsreportconfig.UseOtelForInternalMetricsfeatureGate.IsEnabled()
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), true))
defer func() {
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), originalValue))
}()
tt, err := obsreporttest.SetupTelemetry(id)
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, tt.Shutdown(context.Background())) })
Expand Down
10 changes: 5 additions & 5 deletions receiver/receiverhelper/obsreport_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,11 @@ func TestReceiveWithLongLivedCtx(t *testing.T) {

func testTelemetry(t *testing.T, id component.ID, testFunc func(t *testing.T, tt obsreporttest.TestTelemetry, useOtel bool)) {
t.Run("WithOC", func(t *testing.T) {
originalValue := obsreportconfig.UseOtelForInternalMetricsfeatureGate.IsEnabled()
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), false))
defer func() {
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), originalValue))
}()
tt, err := obsreporttest.SetupTelemetry(id)
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, tt.Shutdown(context.Background())) })
Expand All @@ -245,11 +250,6 @@ func testTelemetry(t *testing.T, id component.ID, testFunc func(t *testing.T, tt
})

t.Run("WithOTel", func(t *testing.T) {
originalValue := obsreportconfig.UseOtelForInternalMetricsfeatureGate.IsEnabled()
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), true))
defer func() {
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), originalValue))
}()
tt, err := obsreporttest.SetupTelemetry(id)
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, tt.Shutdown(context.Background())) })
Expand Down
10 changes: 5 additions & 5 deletions receiver/scraperhelper/obsreport_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,11 @@ func TestScrapeMetricsDataOp(t *testing.T) {

func testTelemetry(t *testing.T, id component.ID, testFunc func(t *testing.T, tt obsreporttest.TestTelemetry, useOtel bool)) {
t.Run("WithOC", func(t *testing.T) {
originalValue := obsreportconfig.UseOtelForInternalMetricsfeatureGate.IsEnabled()
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), false))
defer func() {
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), originalValue))
}()
tt, err := obsreporttest.SetupTelemetry(id)
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, tt.Shutdown(context.Background())) })
Expand All @@ -102,11 +107,6 @@ func testTelemetry(t *testing.T, id component.ID, testFunc func(t *testing.T, tt
})

t.Run("WithOTel", func(t *testing.T) {
originalValue := obsreportconfig.UseOtelForInternalMetricsfeatureGate.IsEnabled()
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), true))
defer func() {
require.NoError(t, featuregate.GlobalRegistry().Set(obsreportconfig.UseOtelForInternalMetricsfeatureGate.ID(), originalValue))
}()
tt, err := obsreporttest.SetupTelemetry(id)
require.NoError(t, err)
t.Cleanup(func() { require.NoError(t, tt.Shutdown(context.Background())) })
Expand Down

0 comments on commit 59516a6

Please sign in to comment.