public BaggageSetterTests() { _metricsFactory = new InMemoryMetricsFactory(); _reporter = new InMemoryReporter(); _metrics = new MetricsImpl(_metricsFactory); _mgr = Substitute.For <IBaggageRestrictionManager>(); _setter = new BaggageSetter(_mgr, _metrics); _tracer = new Tracer.Builder(Service) .WithReporter(_reporter) .WithSampler(new ConstSampler(true)) .WithMetrics(_metrics) .Build(); _span = (Span)_tracer.BuildSpan("some-operation").Start(); }
public void TestSetAndGetBaggageItem() { string service = "SamplerTest"; IBaggageRestrictionManager mgr = Substitute.ForPartsOf <DefaultBaggageRestrictionManager>(); var tracer = new Tracer.Builder(service) .WithReporter(reporter) .WithSampler(new ConstSampler(true)) .WithClock(clock) .WithBaggageRestrictionManager(mgr) .Build(); var span = (Span)tracer.BuildSpan("some-operation").Start(); string key = "key"; string value = "value"; mgr.GetRestriction(service, key).Returns(new Restriction(true, 10)); span.SetBaggageItem(key, "value"); mgr.Received(1).GetRestriction(service, key); Assert.Equal(value, span.GetBaggageItem(key)); }
private Tracer( string serviceName, IReporter reporter, ISampler sampler, PropagationRegistry registry, IClock clock, IMetrics metrics, ILoggerFactory loggerFactory, Dictionary <string, object> tags, bool zipkinSharedRpcSpan, IScopeManager scopeManager, IBaggageRestrictionManager baggageRestrictionManager, bool expandExceptionLogs) { ServiceName = serviceName; Reporter = reporter; Sampler = sampler; Registry = registry; Clock = clock; Metrics = metrics; Logger = loggerFactory.CreateLogger <Tracer>(); ZipkinSharedRpcSpan = zipkinSharedRpcSpan; ScopeManager = scopeManager; _baggageSetter = new BaggageSetter(baggageRestrictionManager, metrics); ExpandExceptionLogs = expandExceptionLogs; Version = LoadVersion(); tags[Constants.JaegerClientVersionTagKey] = Version; string hostname = GetHostName(); if (!tags.ContainsKey(Constants.TracerHostnameTagKey)) { if (hostname != null) { tags[Constants.TracerHostnameTagKey] = hostname; } } if (tags.TryGetValue(Constants.TracerIpTagKey, out object ipTag)) { try { IPv4 = Utils.IpToInt(ipTag as string); } catch { } } else { try { IPAddress hostIPv4 = Dns.GetHostAddresses(hostname).First(ip => ip.AddressFamily == AddressFamily.InterNetwork); tags[Constants.TracerIpTagKey] = hostIPv4.ToString(); IPv4 = Utils.IpToInt(hostIPv4); } catch { } } Tags = tags; }
public Builder WithBaggageRestrictionManager(IBaggageRestrictionManager baggageRestrictionManager) { _baggageRestrictionManager = baggageRestrictionManager; return(this); }
public BaggageSetter(IBaggageRestrictionManager restrictionManager, IMetrics metrics) { _restrictionManager = restrictionManager ?? throw new ArgumentNullException(nameof(restrictionManager)); _metrics = metrics ?? throw new ArgumentNullException(nameof(metrics)); }