mirror of
https://github.com/1f349/dendrite.git
synced 2025-04-02 02:05:06 +01:00
85 lines
2.5 KiB
Go
85 lines
2.5 KiB
Go
// Copyright (c) 2017 Uber Technologies, Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package config_test
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/uber/jaeger-lib/metrics"
|
|
|
|
"github.com/uber/jaeger-client-go"
|
|
jaegercfg "github.com/uber/jaeger-client-go/config"
|
|
jaegerlog "github.com/uber/jaeger-client-go/log"
|
|
)
|
|
|
|
func ExampleConfiguration_InitGlobalTracer_testing() {
|
|
// Sample configuration for testing. Use constant sampling to sample every trace
|
|
// and enable LogSpan to log every span via configured Logger.
|
|
cfg := jaegercfg.Configuration{
|
|
Sampler: &jaegercfg.SamplerConfig{
|
|
Type: jaeger.SamplerTypeConst,
|
|
Param: 1,
|
|
},
|
|
Reporter: &jaegercfg.ReporterConfig{
|
|
LogSpans: true,
|
|
},
|
|
}
|
|
|
|
// Example logger and metrics factory. Use github.com/uber/jaeger-client-go/log
|
|
// and github.com/uber/jaeger-lib/metrics respectively to bind to real logging and metrics
|
|
// frameworks.
|
|
jLogger := jaegerlog.StdLogger
|
|
jMetricsFactory := metrics.NullFactory
|
|
|
|
// Initialize tracer with a logger and a metrics factory
|
|
closer, err := cfg.InitGlobalTracer(
|
|
"serviceName",
|
|
jaegercfg.Logger(jLogger),
|
|
jaegercfg.Metrics(jMetricsFactory),
|
|
)
|
|
if err != nil {
|
|
log.Printf("Could not initialize jaeger tracer: %s", err.Error())
|
|
return
|
|
}
|
|
defer closer.Close()
|
|
|
|
// continue main()
|
|
}
|
|
|
|
func ExampleConfiguration_InitGlobalTracer_production() {
|
|
// Recommended configuration for production.
|
|
cfg := jaegercfg.Configuration{}
|
|
|
|
// Example logger and metrics factory. Use github.com/uber/jaeger-client-go/log
|
|
// and github.com/uber/jaeger-lib/metrics respectively to bind to real logging and metrics
|
|
// frameworks.
|
|
jLogger := jaegerlog.StdLogger
|
|
jMetricsFactory := metrics.NullFactory
|
|
|
|
// Initialize tracer with a logger and a metrics factory
|
|
closer, err := cfg.InitGlobalTracer(
|
|
"serviceName",
|
|
jaegercfg.Logger(jLogger),
|
|
jaegercfg.Metrics(jMetricsFactory),
|
|
)
|
|
if err != nil {
|
|
log.Printf("Could not initialize jaeger tracer: %s", err.Error())
|
|
return
|
|
}
|
|
defer closer.Close()
|
|
|
|
// continue main()
|
|
}
|