[mdatagen] only generate telemetry as needed (#10129)

This prevent unnecessary files from being generated if metadata.yaml
doesn't include any internal telemetry for a component.

Signed-off-by: Alex Boten <223565+codeboten@users.noreply.github.com>
This commit is contained in:
Alex Boten 2024-05-09 12:05:32 -07:00 committed by GitHub
parent aea26e1b1a
commit c555005fcc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 35 additions and 1003 deletions

View File

@ -69,14 +69,7 @@ func run(ymlPath string) error {
return err
}
}
if err = generateFile(filepath.Join(tmplDir, "telemetry.go.tmpl"),
filepath.Join(codeDir, "generated_telemetry.go"), md, "metadata"); err != nil {
return err
}
if err = generateFile(filepath.Join(tmplDir, "telemetry_test.go.tmpl"),
filepath.Join(codeDir, "generated_telemetry_test.go"), md, "metadata"); err != nil {
return err
}
if err = generateFile(filepath.Join(tmplDir, "package_test.go.tmpl"),
filepath.Join(ymlDir, "generated_package_test.go"), md, packageName); err != nil {
return err
@ -92,6 +85,17 @@ func run(ymlPath string) error {
}
}
if len(md.Telemetry.Metrics) != 0 {
if err = generateFile(filepath.Join(tmplDir, "telemetry.go.tmpl"),
filepath.Join(codeDir, "generated_telemetry.go"), md, "metadata"); err != nil {
return err
}
if err = generateFile(filepath.Join(tmplDir, "telemetry_test.go.tmpl"),
filepath.Join(codeDir, "generated_telemetry_test.go"), md, "metadata"); err != nil {
return err
}
}
if len(md.Metrics) == 0 && len(md.ResourceAttributes) == 0 {
return nil
}

View File

@ -9,8 +9,6 @@ require (
go.opentelemetry.io/collector/connector v0.100.0
go.opentelemetry.io/collector/consumer v0.100.0
go.opentelemetry.io/collector/pdata v1.7.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
)
@ -40,8 +38,10 @@ require (
go.opentelemetry.io/collector/config/configtelemetry v0.100.0 // indirect
go.opentelemetry.io/otel v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/net v0.24.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/connector/forwardconnector")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/connector/forwardconnector")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/connector/forwardconnector", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/connector/forwardconnector", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -10,8 +10,6 @@ require (
go.opentelemetry.io/collector/consumer v0.100.0
go.opentelemetry.io/collector/exporter v0.100.0
go.opentelemetry.io/collector/pdata v1.7.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
go.uber.org/zap v1.27.0
)
@ -45,8 +43,10 @@ require (
go.opentelemetry.io/collector/receiver v0.100.0 // indirect
go.opentelemetry.io/otel v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.24.0 // indirect
golang.org/x/sys v0.20.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/exporter/debugexporter")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/exporter/debugexporter")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/exporter/debugexporter", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/exporter/debugexporter", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -10,8 +10,6 @@ require (
go.opentelemetry.io/collector/confmap v0.100.0
go.opentelemetry.io/collector/exporter v0.100.0
go.opentelemetry.io/collector/pdata v1.7.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
go.uber.org/zap v1.27.0
)
@ -46,8 +44,10 @@ require (
go.opentelemetry.io/collector/receiver v0.100.0 // indirect
go.opentelemetry.io/otel v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.24.0 // indirect
golang.org/x/sys v0.20.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/exporter/loggingexporter")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/exporter/loggingexporter")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/exporter/loggingexporter", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/exporter/loggingexporter", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -11,8 +11,6 @@ require (
go.opentelemetry.io/collector/consumer v0.100.0
go.opentelemetry.io/collector/exporter v0.100.0
go.opentelemetry.io/collector/pdata v1.7.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
)
@ -42,8 +40,10 @@ require (
go.opentelemetry.io/collector/receiver v0.100.0 // indirect
go.opentelemetry.io/otel v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/net v0.24.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/exporter/nopexporter")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/exporter/nopexporter")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/exporter/nopexporter", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/exporter/nopexporter", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -17,8 +17,6 @@ require (
go.opentelemetry.io/collector/exporter v0.100.0
go.opentelemetry.io/collector/pdata v1.7.0
go.opentelemetry.io/collector/pdata/testdata v0.100.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
go.uber.org/zap v1.27.0
google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda
@ -73,8 +71,10 @@ require (
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.26.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.opentelemetry.io/proto/otlp v1.2.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.24.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/exporter/otlpexporter")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/exporter/otlpexporter")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/exporter/otlpexporter", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/exporter/otlpexporter", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -15,8 +15,6 @@ require (
go.opentelemetry.io/collector/consumer v0.100.0
go.opentelemetry.io/collector/exporter v0.100.0
go.opentelemetry.io/collector/pdata v1.7.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
go.uber.org/zap v1.27.0
google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda
@ -72,8 +70,10 @@ require (
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.26.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.opentelemetry.io/proto/otlp v1.2.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.25.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/exporter/otlphttpexporter")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/exporter/otlphttpexporter")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/exporter/otlphttpexporter", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/exporter/otlphttpexporter", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -9,8 +9,6 @@ require (
go.opentelemetry.io/collector/component v0.100.0
go.opentelemetry.io/collector/confmap v0.100.0
go.opentelemetry.io/collector/extension v0.100.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
go.uber.org/zap v1.27.0
)
@ -45,8 +43,10 @@ require (
go.opentelemetry.io/collector/pdata v1.7.0 // indirect
go.opentelemetry.io/otel v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.24.0 // indirect
golang.org/x/sys v0.19.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/extension/ballastextension")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/extension/ballastextension")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/extension/ballastextension", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/extension/ballastextension", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -8,8 +8,6 @@ require (
go.opentelemetry.io/collector/component v0.100.0
go.opentelemetry.io/collector/confmap v0.100.0
go.opentelemetry.io/collector/extension v0.100.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
go.uber.org/zap v1.27.0
)
@ -44,8 +42,10 @@ require (
go.opentelemetry.io/collector/pdata v1.7.0 // indirect
go.opentelemetry.io/otel v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.24.0 // indirect
golang.org/x/sys v0.19.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/extension/memorylimiterextension")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/extension/memorylimiterextension")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/extension/memorylimiterextension", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/extension/memorylimiterextension", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -10,7 +10,6 @@ require (
go.opentelemetry.io/collector/confmap v0.100.0
go.opentelemetry.io/collector/extension v0.100.0
go.opentelemetry.io/contrib/zpages v0.51.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/sdk v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
@ -50,6 +49,7 @@ require (
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.26.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/proto/otlp v1.2.0 // indirect
go.uber.org/multierr v1.11.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/extension/zpagesextension")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/extension/zpagesextension")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/extension/zpagesextension", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/extension/zpagesextension", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -10,8 +10,6 @@ require (
go.opentelemetry.io/collector/consumer v0.100.0
go.opentelemetry.io/collector/pdata v1.7.0
go.opentelemetry.io/collector/processor v0.100.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
)
@ -48,8 +46,10 @@ require (
go.opentelemetry.io/collector/pdata/testdata v0.100.0 // indirect
go.opentelemetry.io/otel v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/net v0.24.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/processor/memorylimiterprocessor")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/processor/memorylimiterprocessor")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/processor/memorylimiterprocessor", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/processor/memorylimiterprocessor", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -10,8 +10,6 @@ require (
go.opentelemetry.io/collector/confmap v0.100.0
go.opentelemetry.io/collector/consumer v0.100.0
go.opentelemetry.io/collector/receiver v0.100.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
)
@ -41,8 +39,10 @@ require (
go.opentelemetry.io/collector/pdata v1.7.0 // indirect
go.opentelemetry.io/otel v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/net v0.24.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/receiver/nopreceiver")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/receiver/nopreceiver")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/receiver/nopreceiver", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/receiver/nopreceiver", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}

View File

@ -17,8 +17,6 @@ require (
go.opentelemetry.io/collector/pdata v1.7.0
go.opentelemetry.io/collector/pdata/testdata v0.100.0
go.opentelemetry.io/collector/receiver v0.100.0
go.opentelemetry.io/otel/metric v1.26.0
go.opentelemetry.io/otel/trace v1.26.0
go.uber.org/goleak v1.3.0
go.uber.org/zap v1.27.0
google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda
@ -75,8 +73,10 @@ require (
go.opentelemetry.io/otel/exporters/prometheus v0.48.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.26.0 // indirect
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.26.0 // indirect
go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/sdk v1.26.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.opentelemetry.io/proto/otlp v1.2.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/net v0.25.0 // indirect

View File

@ -1,18 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/collector/component"
)
func Meter(settings component.TelemetrySettings) metric.Meter {
return settings.MeterProvider.Meter("go.opentelemetry.io/collector/receiver/otlpreceiver")
}
func Tracer(settings component.TelemetrySettings) trace.Tracer {
return settings.TracerProvider.Tracer("go.opentelemetry.io/collector/receiver/otlpreceiver")
}

View File

@ -1,63 +0,0 @@
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/metric"
embeddedmetric "go.opentelemetry.io/otel/metric/embedded"
noopmetric "go.opentelemetry.io/otel/metric/noop"
"go.opentelemetry.io/otel/trace"
embeddedtrace "go.opentelemetry.io/otel/trace/embedded"
nooptrace "go.opentelemetry.io/otel/trace/noop"
"go.opentelemetry.io/collector/component"
)
type mockMeter struct {
noopmetric.Meter
name string
}
type mockMeterProvider struct {
embeddedmetric.MeterProvider
}
func (m mockMeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter {
return mockMeter{name: name}
}
type mockTracer struct {
nooptrace.Tracer
name string
}
type mockTracerProvider struct {
embeddedtrace.TracerProvider
}
func (m mockTracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return mockTracer{name: name}
}
func TestProviders(t *testing.T) {
set := component.TelemetrySettings{
MeterProvider: mockMeterProvider{},
TracerProvider: mockTracerProvider{},
}
meter := Meter(set)
if m, ok := meter.(mockMeter); ok {
require.Equal(t, "go.opentelemetry.io/collector/receiver/otlpreceiver", m.name)
} else {
require.Fail(t, "returned Meter not mockMeter")
}
tracer := Tracer(set)
if m, ok := tracer.(mockTracer); ok {
require.Equal(t, "go.opentelemetry.io/collector/receiver/otlpreceiver", m.name)
} else {
require.Fail(t, "returned Meter not mockTracer")
}
}