Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var KitchenSink = fx.Options( configfx.Module, loggerfx.Provider, OtelModule, contextfx.ContextDecoratorOption, )
KitchenSink holds a common dependency for the application.
View Source
var OtelModule = fx.Module( "otel", fx.Provide( fx.Annotate( func(ctx context.Context, cfg config.ServerConfig) (otel.OpenTelemetry, error) { return otel.NewOrNoop(ctx, cfg.ServiceName) }, fx.OnStop(func(ctx context.Context, ot otel.OpenTelemetry) error { return ot.Shutdown(ctx) }), ), func(ot otel.OpenTelemetry) (otelmetric.MeterProvider, oteltrace.TracerProvider) { return ot.MeterProvider(), ot.TracerProvider() }, ), fx.Provide( func(cfg config.ServerConfig, mp otelmetric.MeterProvider) (*metric.RecorderProvider, error) { return metric.New(cfg.ServiceName, mp) }, func(rp *metric.RecorderProvider) metric.Recorder { return rp.DefaultRecorder() }, func(cfg config.ServerConfig, tp oteltrace.TracerProvider) *trace.TracerProvider { return trace.New(cfg.ServiceName, tp) }, func(tp *trace.TracerProvider) trace.Tracer { return tp.Tracer() }, ), contextfx.Provider(func(tracer trace.Tracer) contextx.ContextDecoratorFn { return func(ctx context.Context) context.Context { return trace.WithContext(ctx, tracer) } }), contextfx.Provider(func(mr metric.Recorder) contextx.ContextDecoratorFn { return func(ctx context.Context) context.Context { return metric.WithContext(ctx, mr) } }), )
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.