mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-13 01:19:02 +08:00
54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
package instrumentationtest
|
|
|
|
import (
|
|
"io"
|
|
"log/slog"
|
|
|
|
"github.com/SigNoz/signoz/pkg/factory"
|
|
"github.com/SigNoz/signoz/pkg/instrumentation"
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
sdkmetric "go.opentelemetry.io/otel/metric"
|
|
noopmetric "go.opentelemetry.io/otel/metric/noop"
|
|
sdktrace "go.opentelemetry.io/otel/trace"
|
|
nooptrace "go.opentelemetry.io/otel/trace/noop"
|
|
)
|
|
|
|
type noopInstrumentation struct {
|
|
logger *slog.Logger
|
|
meterProvider sdkmetric.MeterProvider
|
|
tracerProvider sdktrace.TracerProvider
|
|
}
|
|
|
|
func New() instrumentation.Instrumentation {
|
|
return &noopInstrumentation{
|
|
logger: slog.New(slog.NewTextHandler(io.Discard, nil)),
|
|
meterProvider: noopmetric.NewMeterProvider(),
|
|
tracerProvider: nooptrace.NewTracerProvider(),
|
|
}
|
|
}
|
|
|
|
func (i *noopInstrumentation) Logger() *slog.Logger {
|
|
return i.logger
|
|
}
|
|
|
|
func (i *noopInstrumentation) MeterProvider() sdkmetric.MeterProvider {
|
|
return i.meterProvider
|
|
}
|
|
|
|
func (i *noopInstrumentation) TracerProvider() sdktrace.TracerProvider {
|
|
return i.tracerProvider
|
|
}
|
|
|
|
func (i *noopInstrumentation) PrometheusRegisterer() prometheus.Registerer {
|
|
return prometheus.NewRegistry()
|
|
}
|
|
|
|
func (i *noopInstrumentation) ToProviderSettings() factory.ProviderSettings {
|
|
return factory.ProviderSettings{
|
|
Logger: i.Logger(),
|
|
MeterProvider: i.MeterProvider(),
|
|
TracerProvider: i.TracerProvider(),
|
|
PrometheusRegisterer: i.PrometheusRegisterer(),
|
|
}
|
|
}
|