public void TestActivityWithListenerNoActivityCreate() { RemoteExecutor.Invoke(() => { using (ActivitySource aSource = new ActivitySource("SourceActivityListener")) { Assert.False(aSource.HasListeners()); using (ActivityListener listener = new ActivityListener { ActivityStarted = activity => Assert.NotNull(activity), ActivityStopped = activity => Assert.NotNull(activity), ShouldListenTo = (activitySource) => object.ReferenceEquals(aSource, activitySource), GetRequestedDataUsingParentId = (ref ActivityCreationOptions <string> activityOptions) => ActivityDataRequest.None, GetRequestedDataUsingContext = (ref ActivityCreationOptions <ActivityContext> activityOptions) => ActivityDataRequest.None } ) { ActivitySource.AddActivityListener(listener); Assert.True(aSource.HasListeners()); // The listener is not allowing to create a new Activity. Assert.Null(aSource.StartActivity("nullActivity")); } } }).Dispose(); }
public async Task Should_start_and_log_activity() { var startCalled = false; using var listener = new ActivityListener { ShouldListenTo = source => source.Name == "NServiceBus.Extensions.Diagnostics", Sample = (ref ActivityCreationOptions <ActivityContext> _) => ActivitySamplingResult.AllDataAndRecorded, ActivityStarted = activity => { startCalled = true; activity.ShouldNotBeNull(); activity.OperationName.ShouldBe(ActivityNames.OutgoingPhysicalMessage); }, }; ActivitySource.AddActivityListener(listener); var context = new TestableOutgoingPhysicalMessageContext(); var behavior = new OutgoingPhysicalMessageDiagnostics(new FakeActivityEnricher()); await behavior.Invoke(context, () => Task.CompletedTask); startCalled.ShouldBeTrue(); }
/// <summary> <see cref="IPipe{T}"/> implementation </summary> public async Task Execute(IContext ctx, string[] value) { using var listener = new ActivityListener() { Sample = (ref ActivityCreationOptions <ActivityContext> options) => ActivitySamplingResult.AllDataAndRecorded, SampleUsingParentId = (ref ActivityCreationOptions <string> options) => ActivitySamplingResult.AllDataAndRecorded, ShouldListenTo = x => true, ActivityStarted = ActivityStarted, ActivityStopped = ActivityStopped, }; ActivitySource.AddActivityListener(listener); var rpc = await Pipe.Builder <string[]>() .UseDiagnosticsActivity("rpc.request", ActivityKind.Client, getTags: (_, args) => args.Select((a, index) => new KeyValuePair <string, object?>($"arg{index}", a))) .WithRpcProvider(this, new RpcOptions { Timeout = TimeSpan.FromSeconds(5) }) .OnRpcResponse <string>(pipe => pipe .UseDiagnosticsActivity("rpc.response") .Use((_, rsp) => Console.WriteLine("Response received: {0}", string.Join(",", rsp)))) .OnRpcError <Exception>(pipe => pipe .UseDiagnosticsActivity("rpc.error", getTags: GetExceptionTags) .Use((_, ex) => Console.WriteLine("Handled exception: {0}", ex.Message))) .Build(); try { await rpc.Execute(ctx, value); } catch { // ignore, tracing will show the exception } }
public void ActivityListenersAreCalled() { var hostingApplication = CreateApplication(out var features); using var listener = new ActivityListener { ShouldListenTo = activitySource => true, Sample = (ref ActivityCreationOptions <ActivityContext> _) => ActivitySamplingResult.AllData, ActivityStarted = activity => { Assert.Equal("0123456789abcdef", Activity.Current.ParentSpanId.ToHexString()); } }; ActivitySource.AddActivityListener(listener); features.Set <IHttpRequestFeature>(new HttpRequestFeature() { Headers = new HeaderDictionary() { { "traceparent", "00-0123456789abcdef0123456789abcdef-0123456789abcdef-01" }, { "tracestate", "TraceState1" }, { "baggage", "Key1=value1, Key2=value2" } } }); hostingApplication.CreateContext(features); }
public EventuousMetrics() { _meter = EventuousDiagnostics.GetMeter(MeterName); var eventStoreMetric = _meter.CreateHistogram <double>( Constants.Components.EventStore, "ms", "Event store operation duration, milliseconds" ); var appServiceMetric = _meter.CreateHistogram <double>( Constants.Components.AppService, "ms", "Application service operation duration, milliseconds" ); _listener = new ActivityListener { ShouldListenTo = x => x.Name == EventuousDiagnostics.InstrumentationName, Sample = (ref ActivityCreationOptions <ActivityContext> _) => ActivitySamplingResult.AllData, ActivityStopped = Record }; ActivitySource.AddActivityListener(_listener); void Record(Activity activity) { var dot = activity.OperationName.IndexOf('.'); if (dot == -1) { return; } var prefix = activity.OperationName[..dot];
public async Task CanConvertValueAndContextInPipe() { ActivitySource.AddActivityListener(new ActivityListener() { Sample = (ref ActivityCreationOptions <ActivityContext> options) => ActivitySamplingResult.AllDataAndRecorded, ShouldListenTo = x => true, ActivityStarted = activity => Console.WriteLine($"{activity.DisplayName} {activity.Id} started at {activity.StartTimeUtc}"), ActivityStopped = obj => Console.WriteLine($"{obj.DisplayName} {obj.Id} took {obj.Duration:g}"), }); var id = Guid.NewGuid(); var builder = Pipe.Builder <int>() .UseDiagnosticsActivity("TestActivity") .UseTransform().Value(data => data.ToString()); var output = new Output(); var pipe = await builder.Build(output); int count = 0; while (count++ < 20) { await pipe.Execute(Context.Background, 1); } Assert.AreEqual("1", output.Value); }
public void Should_fire_activity_start_stop_when_sampling() { var stopFired = false; var startFired = false; using var listener = new ActivityListener { ShouldListenTo = source => source.Name == "MongoDB.Driver.Core.Extensions.DiagnosticSources", Sample = (ref ActivityCreationOptions <ActivityContext> _) => ActivitySamplingResult.PropagationData, ActivityStarted = _ => startFired = true, ActivityStopped = _ => stopFired = true }; ActivitySource.AddActivityListener(listener); var behavior = new DiagnosticsActivityEventSubscriber(); behavior.TryGetEventHandler <CommandStartedEvent>(out var startEvent).ShouldBeTrue(); behavior.TryGetEventHandler <CommandSucceededEvent>(out var stopEvent).ShouldBeTrue(); startEvent(new CommandStartedEvent()); stopEvent(new CommandSucceededEvent()); startFired.ShouldBeTrue(); stopFired.ShouldBeTrue(); Activity.Current.ShouldBeNull(); }
public void TestActivitySourceAttachedObject() { RemoteExecutor.Invoke(() => { // All Activities created through the constructor should have same source. Assert.True(object.ReferenceEquals(new Activity("a1").Source, new Activity("a2").Source)); Assert.Equal("", new Activity("a3").Source.Name); Assert.Equal(string.Empty, new Activity("a4").Source.Version); using (ActivitySource aSource = new ActivitySource("SourceToTest", "1.2.3.4")) { //Ensure at least we have a listener to allow Activity creation using (ActivityListener listener = new ActivityListener { ActivityStarted = activity => Assert.NotNull(activity), ActivityStopped = activity => Assert.NotNull(activity), ShouldListenTo = (activitySource) => object.ReferenceEquals(aSource, activitySource), GetRequestedDataUsingParentId = (ref ActivityCreationOptions <string> activityOptions) => ActivityDataRequest.AllData, GetRequestedDataUsingContext = (ref ActivityCreationOptions <ActivityContext> activityOptions) => ActivityDataRequest.AllData } ) { ActivitySource.AddActivityListener(listener); using (Activity activity = aSource.StartActivity("ActivityToTest")) { Assert.True(object.ReferenceEquals(aSource, activity.Source)); } } } }).Dispose(); }
public void IHttpActivityFeatureIsPopulated() { var testSource = new ActivitySource(Path.GetRandomFileName()); var dummySource = new ActivitySource(Path.GetRandomFileName()); using var listener = new ActivityListener { ShouldListenTo = activitySource => (ReferenceEquals(activitySource, testSource) || ReferenceEquals(activitySource, dummySource)), Sample = (ref ActivityCreationOptions <ActivityContext> _) => ActivitySamplingResult.AllData }; ActivitySource.AddActivityListener(listener); var hostingApplication = CreateApplication(activitySource: testSource); var httpContext = new DefaultHttpContext(); var context = hostingApplication.CreateContext(httpContext.Features); var activityFeature = context.HttpContext.Features.Get <IHttpActivityFeature>(); Assert.NotNull(activityFeature); Assert.NotNull(activityFeature.Activity); Assert.Equal(HostingApplicationDiagnostics.ActivityName, activityFeature.Activity.DisplayName); var initialActivity = Activity.Current; // Create nested dummy Activity using var _ = dummySource.StartActivity("DummyActivity"); Assert.Same(initialActivity, activityFeature.Activity); Assert.NotEqual(Activity.Current, activityFeature.Activity); // Act/Assert hostingApplication.DisposeContext(context, null); }
public void SamplersReceiveCorrectParentAndTraceIds() { var testSource = new ActivitySource(Path.GetRandomFileName()); var hostingApplication = CreateApplication(out var features, activitySource: testSource); var parentId = ""; var parentSpanId = ""; var traceId = ""; using var listener = new ActivityListener { ShouldListenTo = activitySource => ReferenceEquals(activitySource, testSource), Sample = (ref ActivityCreationOptions <ActivityContext> options) => ComputeActivitySamplingResult(ref options), ActivityStarted = activity => { parentId = activity.ParentId; parentSpanId = activity.ParentSpanId.ToHexString(); traceId = activity.TraceId.ToHexString(); } }; ActivitySource.AddActivityListener(listener); features.Set <IHttpRequestFeature>(new HttpRequestFeature() { Headers = new HeaderDictionary() { { "traceparent", "00-35aae61e3e99044eb5ea5007f2cd159b-40a8bd87c078cb4c-00" }, } }); hostingApplication.CreateContext(features); Assert.Equal("00-35aae61e3e99044eb5ea5007f2cd159b-40a8bd87c078cb4c-00", parentId); Assert.Equal("40a8bd87c078cb4c", parentSpanId); Assert.Equal("35aae61e3e99044eb5ea5007f2cd159b", traceId);
public async Task Should_add_headers_to_tags() { var startCalled = false; using var listener = new ActivityListener { ShouldListenTo = source => source.Name == "NServiceBus.Extensions.Diagnostics", Sample = (ref ActivityCreationOptions <ActivityContext> _) => ActivitySamplingResult.AllDataAndRecorded, ActivityStarted = activity => { startCalled = true; activity.ShouldNotBeNull(); activity.Tags.ShouldNotContain(kvp => kvp.Key == "foo"); }, }; ActivitySource.AddActivityListener(listener); var context = new TestableIncomingPhysicalMessageContext { MessageHeaders = { { "foo", "bar" }, } }; var behavior = new IncomingPhysicalMessageDiagnostics(new FakeActivityEnricher()); await behavior.Invoke(context, () => Task.CompletedTask); startCalled.ShouldBeTrue(); }
public void Should_not_fire_activity_start_stop_when_no_listener_attached() { var stopFired = false; var startFired = false; using var listener = new ActivityListener { ShouldListenTo = source => source.Name == "Nonsense", ActivityStarted = _ => startFired = true, ActivityStopped = _ => stopFired = true }; ActivitySource.AddActivityListener(listener); var behavior = new DiagnosticsActivityEventSubscriber(); behavior.TryGetEventHandler <CommandStartedEvent>(out var startEvent).ShouldBeTrue(); behavior.TryGetEventHandler <CommandSucceededEvent>(out var stopEvent).ShouldBeTrue(); startEvent(new CommandStartedEvent()); stopEvent(new CommandSucceededEvent()); startFired.ShouldBeFalse(); stopFired.ShouldBeFalse(); }
public TestActivitySourceListener(Func <ActivitySource, bool> sourceSelector) { _listener = new ActivityListener { ShouldListenTo = sourceSelector, ActivityStarted = activity => { lock (Activities) { Activities.Enqueue(activity); } }, Sample = (ref ActivityCreationOptions <ActivityContext> options) => { if (options.Tags.Any(t => t.Key == "sampled-out" && bool.TrueString == t.Value.ToString())) { return(ActivitySamplingResult.None); } return(ActivitySamplingResult.AllDataAndRecorded); } }; ActivitySource.AddActivityListener(_listener); }
public TestActivityListener() { _listener = new ActivityListener(); _listener.ShouldListenTo = _ => true; _listener.ActivityStarted = activity => _activites.Add(activity); _listener.Sample = (ref ActivityCreationOptions <ActivityContext> _) => ActivitySamplingResult.AllDataAndRecorded; ActivitySource.AddActivityListener(_listener); }
public static void ListenForRebus() { ActivitySource.AddActivityListener(new ActivityListener { ShouldListenTo = source => source.Name == RebusDiagnosticConstants.ActivitySourceName, Sample = (ref ActivityCreationOptions <ActivityContext> _) => ActivitySamplingResult.AllData }); }
protected override Task ExecuteAsync(CancellationToken stoppingToken) { ActivitySource.AddActivityListener(_listener); var completion = new TaskCompletionSource(); stoppingToken.Register(() => completion.SetResult()); return(completion.Task); }
public void TestActivityWithListenerActivityCreateAndAllDataRequested() { RemoteExecutor.Invoke(() => { using (ActivitySource aSource = new ActivitySource("SourceActivityListener")) { int counter = 0; Assert.False(aSource.HasListeners()); using (ActivityListener listener = new ActivityListener { ActivityStarted = activity => counter++, ActivityStopped = activity => counter--, ShouldListenTo = (activitySource) => object.ReferenceEquals(aSource, activitySource), GetRequestedDataUsingParentId = (ref ActivityCreationOptions <string> activityOptions) => ActivityDataRequest.AllDataAndRecorded, GetRequestedDataUsingContext = (ref ActivityCreationOptions <ActivityContext> activityOptions) => ActivityDataRequest.AllDataAndRecorded } ) { ActivitySource.AddActivityListener(listener); Assert.True(aSource.HasListeners()); using (Activity activity = aSource.StartActivity("AllDataRequestedActivity")) { Assert.NotNull(activity); Assert.True(activity.IsAllDataRequested); Assert.Equal(1, counter); Assert.Equal(0, activity.Tags.Count()); Assert.Equal(0, activity.Baggage.Count()); Assert.True(object.ReferenceEquals(activity, activity.AddTag("key", "value"))); Assert.True(object.ReferenceEquals(activity, activity.AddBaggage("key", "value"))); Assert.Equal(1, activity.Tags.Count()); Assert.Equal(1, activity.Baggage.Count()); using (Activity activity1 = aSource.StartActivity("AllDataRequestedActivity1")) { Assert.NotNull(activity1); Assert.True(activity1.IsAllDataRequested); Assert.Equal(2, counter); Assert.Equal(0, activity1.Links.Count()); Assert.Equal(0, activity1.Events.Count()); Assert.True(object.ReferenceEquals(activity1, activity1.AddEvent(new ActivityEvent("e1")))); Assert.Equal(1, activity1.Events.Count()); } Assert.Equal(1, counter); } Assert.Equal(0, counter); } } }).Dispose(); }
/// <summary> /// Creates ActivitySource that would for activity creation for specific ActivitySource /// </summary> public TestActivityListener(string?sourceName = null) { Activities = new List <Activity>(); m_listener = new ActivityListener(); m_listener.ShouldListenTo += source => sourceName == null || source.Name.Equals(sourceName, StringComparison.Ordinal); m_listener.Sample += (ref ActivityCreationOptions <ActivityContext> options) => ActivitySamplingResult.AllDataAndRecorded; m_listener.SampleUsingParentId += (ref ActivityCreationOptions <string> options) => ActivitySamplingResult.AllDataAndRecorded; m_listener.ActivityStarted += activity => Activities.Add(activity); ActivitySource.AddActivityListener(m_listener); }
public GenericHostingTests(ITestOutputHelper outputHelper) { _listener = new ActivityListener { ShouldListenTo = source => source.Name == OpenTelemetryOptions.DefaultActivitySourceName, Sample = (ref ActivityCreationOptions <ActivityContext> _) => ActivitySamplingResult.AllDataAndRecorded, ActivityStarted = _ => { outputHelper.WriteLine("test"); }, }; ActivitySource.AddActivityListener(_listener); }
static MyTelemetry() { Source = new ActivitySource(ApplicationEnvironment.AppName); ActivitySource.AddActivityListener(new ActivityListener { ShouldListenTo = s => true, SampleUsingParentId = (ref ActivityCreationOptions <string> activityOptions) => ActivitySamplingResult.AllData, Sample = (ref ActivityCreationOptions <ActivityContext> activityOptions) => ActivitySamplingResult.AllData }); }
/// <summary> /// Enables OpenTelemetry. /// </summary> /// <param name="configureOpenTelemetryBuilder">Function that configures OpenTelemetryBuilder.</param> /// <returns><see cref="OpenTelemetrySdk"/> instance which can be disposed on application shutdown.</returns> /// <remarks> /// Basic implementation only. Most logic from TracerBuilder will be ported here. /// </remarks> public static OpenTelemetrySdk EnableOpenTelemetry(Action <OpenTelemetryBuilder> configureOpenTelemetryBuilder) { var openTelemetryBuilder = new OpenTelemetryBuilder(); configureOpenTelemetryBuilder(openTelemetryBuilder); var openTelemetrySDK = new OpenTelemetrySdk(); ActivitySampler sampler = openTelemetryBuilder.Sampler ?? new AlwaysOnActivitySampler(); ActivityProcessor activityProcessor; if (openTelemetryBuilder.ProcessingPipeline == null) { // if there are no pipelines are configured, use noop processor activityProcessor = new NoopActivityProcessor(); } else { activityProcessor = openTelemetryBuilder.ProcessingPipeline.Build(); } if (openTelemetryBuilder.InstrumentationFactories != null) { foreach (var instrumentation in openTelemetryBuilder.InstrumentationFactories) { openTelemetrySDK.instrumentations.Add(instrumentation.Factory()); } } // This is what subscribes to Activities. // Think of this as the replacement for DiagnosticListener.AllListeners.Subscribe(onNext => diagnosticListener.Subscribe(..)); openTelemetrySDK.listener = new ActivityListener { // Callback when Activity is started. ActivityStarted = activityProcessor.OnStart, // Callback when Activity is started. ActivityStopped = activityProcessor.OnEnd, // Function which takes ActivitySource and returns true/false to indicate if it should be subscribed to // or not ShouldListenTo = (activitySource) => openTelemetryBuilder.ActivitySourceNames?.Contains(activitySource.Name.ToUpperInvariant()) ?? false, // The following parameter is not used now. GetRequestedDataUsingParentId = (ref ActivityCreationOptions <string> options) => ActivityDataRequest.AllData, // This delegate informs ActivitySource about sampling decision when the parent context is an ActivityContext. GetRequestedDataUsingContext = (ref ActivityCreationOptions <ActivityContext> options) => ComputeActivityDataRequest(options, sampler), }; ActivitySource.AddActivityListener(openTelemetrySDK.listener); return(openTelemetrySDK); }
public void TestActivityTriggeringCallerMemberNameAttribute() { RemoteExecutor.Invoke(() => { using (ActivitySource aSource = new ActivitySource("SourceActivityTriggeringCallerMemberNameAttribute")) { using ActivityListener listener = new ActivityListener(); listener.ShouldListenTo = (activitySource) => object.ReferenceEquals(aSource, activitySource); listener.Sample = (ref ActivityCreationOptions <ActivityContext> activityOptions) => ActivitySamplingResult.AllData; ActivitySource.AddActivityListener(listener); string methodName = MethodBase.GetCurrentMethod().Name; using (Activity activity = aSource.StartActivity()) // passing default name should trigger CallerMemberName attribute. { Assert.NotNull(activity); Assert.True(methodName.IndexOf(activity.OperationName, StringComparison.Ordinal) >= 0); using (Activity activity1 = aSource.StartActivity(ActivityKind.Client)) // passing default name should trigger CallerMemberName attribute. { Assert.NotNull(activity1); Assert.True(methodName.IndexOf(activity1.OperationName, StringComparison.Ordinal) >= 0); Assert.Equal(ActivityKind.Client, activity1.Kind); } ActivityContext parentContext = new ActivityContext(ActivityTraceId.CreateRandom(), ActivitySpanId.CreateRandom(), ActivityTraceFlags.None); List <KeyValuePair <string, object> > tags = new List <KeyValuePair <string, object> >() { new KeyValuePair <string, object>("Key", "Value") }; List <ActivityLink> links = new List <ActivityLink>() { new ActivityLink(new ActivityContext(ActivityTraceId.CreateRandom(), ActivitySpanId.CreateRandom(), ActivityTraceFlags.None, "key-value")) }; DateTimeOffset startTime = DateTimeOffset.UtcNow; using (Activity activity2 = aSource.StartActivity(ActivityKind.Server, parentContext, tags, links, startTime)) { Assert.NotNull(activity2); Assert.True(methodName.IndexOf(activity2.OperationName, StringComparison.Ordinal) >= 0); Assert.Equal(ActivityKind.Server, activity2.Kind); Assert.Equal(tags, activity2.TagObjects); Assert.Equal(links, activity2.Links); Assert.Equal(startTime, activity2.StartTimeUtc); Assert.Equal(parentContext.TraceId, activity2.TraceId); Assert.Equal(parentContext.SpanId, activity2.ParentSpanId); Assert.Equal(parentContext.TraceFlags, activity2.ActivityTraceFlags); Assert.Equal(parentContext.TraceState, activity2.TraceStateString); } } } }).Dispose(); }
static ActivityBenchmarks() { using ActivitySource activitySource = new ActivitySource("Benchmarks"); ActivitySource.AddActivityListener( new ActivityListener { ShouldListenTo = (source) => true, Sample = (ref ActivityCreationOptions <ActivityContext> options) => ActivitySamplingResult.AllData, }); var activityLinks = new[]
public TraceBenchmark() { Activity.DefaultIdFormat = ActivityIdFormat.W3C; ActivitySource.AddActivityListener(new ActivityListener { ActivityStarted = null, ActivityStopped = null, ShouldListenTo = (activitySource) => activitySource.Name == this.sourceWithPropagationDataListner.Name, GetRequestedDataUsingParentId = (ref ActivityCreationOptions <string> options) => ActivityDataRequest.PropagationData, GetRequestedDataUsingContext = (ref ActivityCreationOptions <ActivityContext> options) => ActivityDataRequest.PropagationData, }); ActivitySource.AddActivityListener(new ActivityListener { ActivityStarted = null, ActivityStopped = null, ShouldListenTo = (activitySource) => activitySource.Name == this.sourceWithAllDataListner.Name, GetRequestedDataUsingParentId = (ref ActivityCreationOptions <string> options) => ActivityDataRequest.AllData, GetRequestedDataUsingContext = (ref ActivityCreationOptions <ActivityContext> options) => ActivityDataRequest.AllData, }); ActivitySource.AddActivityListener(new ActivityListener { ActivityStarted = null, ActivityStopped = null, ShouldListenTo = (activitySource) => activitySource.Name == this.sourceWithAllDataAndRecordedListner.Name, GetRequestedDataUsingParentId = (ref ActivityCreationOptions <string> options) => ActivityDataRequest.AllDataAndRecorded, GetRequestedDataUsingContext = (ref ActivityCreationOptions <ActivityContext> options) => ActivityDataRequest.AllDataAndRecorded, }); Sdk.CreateTracerProviderBuilder() .SetSampler(new AlwaysOnSampler()) .AddSource(this.sourceWithOneProcessor.Name) .AddProcessor(new DummyActivityProcessor()) .Build(); Sdk.CreateTracerProviderBuilder() .SetSampler(new AlwaysOnSampler()) .AddSource(this.sourceWithTwoProcessors.Name) .AddProcessor(new DummyActivityProcessor()) .AddProcessor(new DummyActivityProcessor()) .Build(); Sdk.CreateTracerProviderBuilder() .SetSampler(new AlwaysOnSampler()) .AddSource(this.sourceWithThreeProcessors.Name) .AddProcessor(new DummyActivityProcessor()) .AddProcessor(new DummyActivityProcessor()) .AddProcessor(new DummyActivityProcessor()) .Build(); }
public Task StartAsync(CancellationToken cancellationToken) { m_listener = new ActivityListener(); m_listener.ActivityStarted += ActivityStart; m_listener.ActivityStopped += ActivityStopped; m_listener.Sample += Sample; m_listener.SampleUsingParentId += SampleUsingParentId; m_listener.ShouldListenTo += ShouldListenTo; ActivitySource.AddActivityListener(m_listener); return(Task.CompletedTask); }
static ZipkinExporterTests() { Activity.DefaultIdFormat = ActivityIdFormat.W3C; Activity.ForceDefaultIdFormat = true; var listener = new ActivityListener { ShouldListenTo = _ => true, Sample = (ref ActivityCreationOptions <ActivityContext> options) => ActivitySamplingResult.AllData, }; ActivitySource.AddActivityListener(listener); }
public GenericHostingTests(RabbitMQFixture fixture, ITestOutputHelper outputHelper) { _outputHelper = outputHelper; _listener = new ActivityListener { ShouldListenTo = source => source.Name == typeof(TracingDelegatingMessageHandler <>).FullName, Sample = (ref ActivityCreationOptions <ActivityContext> options) => ActivitySamplingResult.AllDataAndRecorded, ActivityStarted = activity => { _outputHelper.WriteLine("test"); }, }; ActivitySource.AddActivityListener(_listener); _fixture = fixture; }
static TagObjectsGetValuesBenchmarks() { Activity.DefaultIdFormat = ActivityIdFormat.W3C; Activity.ForceDefaultIdFormat = true; var listener = new ActivityListener { ShouldListenTo = _ => true, Sample = (ref ActivityCreationOptions <ActivityContext> options) => ActivitySamplingResult.AllData, }; ActivitySource.AddActivityListener(listener); }
static JaegerActivityConversionTest() { Activity.DefaultIdFormat = ActivityIdFormat.W3C; Activity.ForceDefaultIdFormat = true; var listener = new ActivityListener { ShouldListenTo = _ => true, GetRequestedDataUsingParentId = (ref ActivityCreationOptions <string> options) => ActivityDataRequest.AllData, GetRequestedDataUsingContext = (ref ActivityCreationOptions <ActivityContext> options) => ActivityDataRequest.AllData, }; ActivitySource.AddActivityListener(listener); }
static OfflineStorageTests() { Activity.DefaultIdFormat = ActivityIdFormat.W3C; Activity.ForceDefaultIdFormat = true; var listener = new ActivityListener { ShouldListenTo = _ => true, Sample = (ref ActivityCreationOptions <ActivityContext> options) => ActivitySamplingResult.AllData, }; ActivitySource.AddActivityListener(listener); HttpPipelineHelper.MinimumRetryInterval = 6000; }