public void Apply(Tracer.Builder builder) { // Replace existing TEXT_MAP and HTTP_HEADERS codec with one that represents the // configured propagation formats RegisterCodec(builder, BuiltinFormats.HttpHeaders); RegisterCodec(builder, BuiltinFormats.TextMap); }
public Tracer.Builder GetTracerBuilder() { if (ReporterConfig == null) { ReporterConfig = new ReporterConfiguration(_loggerFactory); } if (SamplerConfig == null) { SamplerConfig = new SamplerConfiguration(_loggerFactory); } if (_codecConfig == null) { _codecConfig = new CodecConfiguration(new Dictionary <IFormat <ITextMap>, List <Codec <ITextMap> > >()); } if (_metricsFactory == null) { _metricsFactory = NoopMetricsFactory.Instance; } IMetrics metrics = new MetricsImpl(_metricsFactory); IReporter reporter = ReporterConfig.GetReporter(metrics); ISampler sampler = SamplerConfig.CreateSampler(_serviceName, metrics); Tracer.Builder builder = new Tracer.Builder(_serviceName) .WithLoggerFactory(_loggerFactory) .WithSampler(sampler) .WithReporter(reporter) .WithMetrics(metrics) .WithTags(_tracerTags); _codecConfig.Apply(builder); return(builder); }
protected void RegisterCodec(Tracer.Builder builder, IFormat <ITextMap> format) { if (_codecs.ContainsKey(format)) { List <Codec <ITextMap> > codecsForFormat = _codecs[format]; Codec <ITextMap> codec = codecsForFormat.Count == 1 ? codecsForFormat[0] : new CompositeCodec <ITextMap>(codecsForFormat); builder.RegisterCodec(format, codec); } }