@@ -41,6 +41,8 @@ import (
41
41
"github.com/prometheus/client_golang/prometheus"
42
42
"github.com/prometheus/client_golang/prometheus/collectors"
43
43
"github.com/prometheus/client_golang/prometheus/promhttp"
44
+ "go.opentelemetry.io/otel"
45
+ "go.opentelemetry.io/otel/propagation"
44
46
"go.opentelemetry.io/otel/trace"
45
47
"golang.org/x/mod/semver"
46
48
"golang.org/x/oauth2"
@@ -78,6 +80,7 @@ import (
78
80
"github.com/coder/coder/v2/coderd/httpmw"
79
81
"github.com/coder/coder/v2/coderd/oauthpki"
80
82
"github.com/coder/coder/v2/coderd/prometheusmetrics"
83
+ "github.com/coder/coder/v2/coderd/prometheusmetrics/insights"
81
84
"github.com/coder/coder/v2/coderd/schedule"
82
85
"github.com/coder/coder/v2/coderd/telemetry"
83
86
"github.com/coder/coder/v2/coderd/tracing"
@@ -198,6 +201,21 @@ func enablePrometheus(
198
201
}
199
202
afterCtx (ctx , closeWorkspacesFunc )
200
203
204
+ insightsMetricsCollector , err := insights .NewMetricsCollector (options .Database , options .Logger , 0 , 0 )
205
+ if err != nil {
206
+ return nil , xerrors .Errorf ("unable to initialize insights metrics collector: %w" , err )
207
+ }
208
+ err = options .PrometheusRegistry .Register (insightsMetricsCollector )
209
+ if err != nil {
210
+ return nil , xerrors .Errorf ("unable to register insights metrics collector: %w" , err )
211
+ }
212
+
213
+ closeInsightsMetricsCollector , err := insightsMetricsCollector .Run (ctx )
214
+ if err != nil {
215
+ return nil , xerrors .Errorf ("unable to run insights metrics collector: %w" , err )
216
+ }
217
+ afterCtx (ctx , closeInsightsMetricsCollector )
218
+
201
219
if vals .Prometheus .CollectAgentStats {
202
220
closeAgentStatsFunc , err := prometheusmetrics .AgentStats (ctx , logger , options .PrometheusRegistry , options .Database , time .Now (), 0 )
203
221
if err != nil {
@@ -938,7 +956,7 @@ func (r *RootCmd) Server(newAPI func(context.Context, *coderd.Options) (*coderd.
938
956
autobuildTicker := time .NewTicker (vals .AutobuildPollInterval .Value ())
939
957
defer autobuildTicker .Stop ()
940
958
autobuildExecutor := autobuild .NewExecutor (
941
- ctx , options .Database , options .Pubsub , coderAPI .TemplateScheduleStore , & coderAPI .Auditor , logger , autobuildTicker .C )
959
+ ctx , options .Database , options .Pubsub , coderAPI .TemplateScheduleStore , & coderAPI .Auditor , coderAPI . AccessControlStore , logger , autobuildTicker .C )
942
960
autobuildExecutor .Run ()
943
961
944
962
hangDetectorTicker := time .NewTicker (vals .JobHangDetectorInterval .Value ())
@@ -2020,6 +2038,13 @@ func ConfigureTraceProvider(
2020
2038
sqlDriver = "postgres"
2021
2039
)
2022
2040
2041
+ otel .SetTextMapPropagator (
2042
+ propagation .NewCompositeTextMapPropagator (
2043
+ propagation.TraceContext {},
2044
+ propagation.Baggage {},
2045
+ ),
2046
+ )
2047
+
2023
2048
if cfg .Trace .Enable .Value () || cfg .Trace .DataDog .Value () || cfg .Trace .HoneycombAPIKey != "" {
2024
2049
sdkTracerProvider , _closeTracing , err := tracing .TracerProvider (ctx , "coderd" , tracing.TracerOpts {
2025
2050
Default : cfg .Trace .Enable .Value (),
0 commit comments