Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make all-in-one metric names match metrics from standalone components #5008

Merged
merged 1 commit into from Dec 17, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
24 changes: 13 additions & 11 deletions cmd/all-in-one/main.go
Expand Up @@ -95,18 +95,21 @@ by default uses only in-memory database.`,
return err
}
logger := svc.Logger // shortcut
metricsFactory := fork.New("internal",
baseFactory := fork.New("internal",
expvar.NewFactory(10), // backend for internal opts
svc.MetricsFactory.Namespace(metrics.NSOptions{Name: "jaeger"}))
version.NewInfoMetrics(metricsFactory)
version.NewInfoMetrics(baseFactory)
agentMetricsFactory := baseFactory.Namespace(metrics.NSOptions{Name: "agent"})
collectorMetricsFactory := baseFactory.Namespace(metrics.NSOptions{Name: "collector"})
queryMetricsFactory := baseFactory.Namespace(metrics.NSOptions{Name: "query"})

tracer, err := jtracer.New("jaeger-all-in-one")
if err != nil {
logger.Fatal("Failed to initialize tracer", zap.Error(err))
}

storageFactory.InitFromViper(v, logger)
if err := storageFactory.Initialize(metricsFactory, logger); err != nil {
if err := storageFactory.Initialize(baseFactory, logger); err != nil {
logger.Fatal("Failed to init storage factory", zap.Error(err))
}

Expand All @@ -123,7 +126,7 @@ by default uses only in-memory database.`,
logger.Fatal("Failed to create dependency reader", zap.Error(err))
}

metricsQueryService, err := createMetricsQueryService(metricsReaderFactory, v, logger, metricsFactory)
metricsQueryService, err := createMetricsQueryService(metricsReaderFactory, v, logger, queryMetricsFactory)
if err != nil {
logger.Fatal("Failed to create metrics reader", zap.Error(err))
}
Expand All @@ -134,7 +137,7 @@ by default uses only in-memory database.`,
}

strategyStoreFactory.InitFromViper(v, logger)
if err := strategyStoreFactory.Initialize(metricsFactory, ssFactory, logger); err != nil {
if err := strategyStoreFactory.Initialize(collectorMetricsFactory, ssFactory, logger); err != nil {
logger.Fatal("Failed to init sampling strategy store factory", zap.Error(err))
}
strategyStore, aggregator, err := strategyStoreFactory.CreateStrategyStore()
Expand Down Expand Up @@ -163,7 +166,7 @@ by default uses only in-memory database.`,
c := collectorApp.New(&collectorApp.CollectorParams{
ServiceName: "jaeger-collector",
Logger: logger,
MetricsFactory: metricsFactory,
MetricsFactory: collectorMetricsFactory,
SpanWriter: spanWriter,
StrategyStore: strategyStore,
Aggregator: aggregator,
Expand All @@ -179,7 +182,6 @@ by default uses only in-memory database.`,
if len(grpcBuilder.CollectorHostPorts) == 0 {
grpcBuilder.CollectorHostPorts = append(grpcBuilder.CollectorHostPorts, cOpts.GRPC.HostPort)
}
agentMetricsFactory := metricsFactory.Namespace(metrics.NSOptions{Name: "agent", Tags: nil})
builders := map[agentRep.Type]agentApp.CollectorProxyBuilder{
agentRep.GRPC: agentApp.GRPCCollectorProxyBuilder(grpcBuilder),
}
Expand All @@ -191,13 +193,13 @@ by default uses only in-memory database.`,
if err != nil {
logger.Fatal("Could not create collector proxy", zap.Error(err))
}
agent := startAgent(cp, aOpts, logger, metricsFactory)
agent := startAgent(cp, aOpts, logger, agentMetricsFactory)

// query
querySrv := startQuery(
svc, qOpts, qOpts.BuildQueryServiceOptions(storageFactory, logger),
spanReader, dependencyReader, metricsQueryService,
metricsFactory, tm, tracer,
queryMetricsFactory, tm, tracer,
)

svc.RunAndThen(func() {
Expand Down Expand Up @@ -271,11 +273,11 @@ func startQuery(
spanReader spanstore.Reader,
depReader dependencystore.Reader,
metricsQueryService querysvc.MetricsQueryService,
baseFactory metrics.Factory,
metricsFactory metrics.Factory,
tm *tenancy.Manager,
jt *jtracer.JTracer,
) *queryApp.Server {
spanReader = storageMetrics.NewReadMetricsDecorator(spanReader, baseFactory.Namespace(metrics.NSOptions{Name: "query"}))
spanReader = storageMetrics.NewReadMetricsDecorator(spanReader, metricsFactory)
qs := querysvc.NewQueryService(spanReader, depReader, *queryOpts)
server, err := queryApp.NewServer(svc.Logger, qs, metricsQueryService, qOpts, tm, jt)
if err != nil {
Expand Down