( ctx context.Context, logger slog.Logger, cfg *codersdk.DeploymentValues, )
| 2739 | } |
| 2740 | |
| 2741 | func ConfigureTraceProvider( |
| 2742 | ctx context.Context, |
| 2743 | logger slog.Logger, |
| 2744 | cfg *codersdk.DeploymentValues, |
| 2745 | ) (trace.TracerProvider, string, func(context.Context) error) { |
| 2746 | var ( |
| 2747 | tracerProvider = trace.NewNoopTracerProvider() |
| 2748 | closeTracing = func(context.Context) error { return nil } |
| 2749 | sqlDriver = "postgres" |
| 2750 | ) |
| 2751 | |
| 2752 | otel.SetTextMapPropagator( |
| 2753 | propagation.NewCompositeTextMapPropagator( |
| 2754 | propagation.TraceContext{}, |
| 2755 | propagation.Baggage{}, |
| 2756 | ), |
| 2757 | ) |
| 2758 | |
| 2759 | if cfg.Trace.Enable.Value() || cfg.Trace.DataDog.Value() || cfg.Trace.HoneycombAPIKey != "" { |
| 2760 | sdkTracerProvider, _closeTracing, err := tracing.TracerProvider(ctx, "coderd", tracing.TracerOpts{ |
| 2761 | Default: cfg.Trace.Enable.Value(), |
| 2762 | DataDog: cfg.Trace.DataDog.Value(), |
| 2763 | Honeycomb: cfg.Trace.HoneycombAPIKey.String(), |
| 2764 | }) |
| 2765 | if err != nil { |
| 2766 | logger.Warn(ctx, "start telemetry exporter", slog.Error(err)) |
| 2767 | } else { |
| 2768 | d, err := tracing.PostgresDriver(sdkTracerProvider, "coderd.database") |
| 2769 | if err != nil { |
| 2770 | logger.Warn(ctx, "start postgres tracing driver", slog.Error(err)) |
| 2771 | } else { |
| 2772 | sqlDriver = d |
| 2773 | } |
| 2774 | |
| 2775 | tracerProvider = sdkTracerProvider |
| 2776 | closeTracing = _closeTracing |
| 2777 | } |
| 2778 | } |
| 2779 | return tracerProvider, sqlDriver, closeTracing |
| 2780 | } |
| 2781 | |
| 2782 | func ConfigureHTTPServers(logger slog.Logger, inv *serpent.Invocation, cfg *codersdk.DeploymentValues) (_ *HTTPServers, err error) { |
| 2783 | ctx := inv.Context() |
no test coverage detected