public IActionResult Get([FromServices] IActivityContextAccessor activityContextAccessor, [FromServices] ITenantAccessor tenantAccessor) { Response.Headers.Add(Constants.Header, tenantAccessor.Values.ToArray()); Response.Headers.Add(Core.DistributedTracing.Abstractions.Constants.Header, activityContextAccessor.CorrelationId); return(NoContent()); }
public async Task InitializeAsync() { _host = Host.CreateDefaultBuilder() .ConfigureServices(x => { x.AddMockRequestContextAccessor(); x.AddMockActivityContextAccessor(); }) .UseApplicationMetadata() .ConfigureLogging(x => x .WriteToFile() .WriteToSink(new DelegatingSink(WriteLog)) .EnrichWithApplicationMetadata() .EnrichWithActivityContext() .EnrichWithRequestContext() ) .Build(); var configuration = _host.Services.GetRequiredService <IConfiguration>(); _filePath = configuration["Logging:Sinks:File:FilePath"]; if (File.Exists(_filePath)) { File.Delete(_filePath); } await _host.StartAsync(); _semaphore = new SemaphoreSlim(0, 1); _applicationMetadataAccessor = _host.Services.GetRequiredService <IApplicationMetadataAccessor>(); _requestContextAccessor = _host.Services.GetRequiredService <IRequestContextAccessor>(); _activityContextAccessor = _host.Services.GetRequiredService <IActivityContextAccessor>(); }
/// <summary> /// Constructor. /// </summary> /// <param name="asyncStream">The <see cref="IAsyncStream{TMessage}"/> to be used in the Stream Publisher./></param> /// <param name="activityContextAccessor">The <see cref="IActivityContextAccessor" /> to use to add the Activity ID within RequestContext.</param> /// <param name="tracerFactory">The <see cref="TracerFactory"/> used to get the <see cref="Tracer"/> used for Telemetry.</param> public Stream(IAsyncStream <TMessage> asyncStream, IActivityContextAccessor activityContextAccessor, TracerFactory tracerFactory = null) { _asyncStream = asyncStream ?? throw new ArgumentNullException(nameof(asyncStream)); _activityContextAccessor = activityContextAccessor; _tracer = tracerFactory?.GetTracer(Constants.TracerName); }
public ActivityTestGrain([PersistentState(Constants.StorageProviderName, Constants.StorageProviderName)] IPersistentState <ActivityState> state, IActivityContextAccessor activityContextAccessor, ITenantAccessor tenantAccessor, IStreamFactory streamFactory = null) { _activityContextAccessor = activityContextAccessor; _tenantAccessor = tenantAccessor; _streamFactory = streamFactory; _state = state; }
public async Task InitializeAsync() { Host = Microsoft.Extensions.Hosting.Host .CreateDefaultBuilder() .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseTestServer(); webBuilder.UseStartup <MockStartup>(); }).Build(); await Host.StartAsync(); ActivityContextAccessor = Host.Services.GetService <IActivityContextAccessor>(); TenantAccessor = Host.Services.GetService <ITenantAccessor>(); }
public async Task InitializeAsync() { _host = Host .CreateDefaultBuilder() .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseKestrel().UseUrls(BaseUrl); webBuilder.UseStartup <MockStartup>(); }).Build(); await _host.StartAsync(); HttpClientFactory = _host.Services.GetService <IHttpClientFactory>(); ActivityContextAccessor = _host.Services.GetService <IActivityContextAccessor>(); }
public async Task InitializeAsync() { _host = Host.CreateDefaultBuilder() .ConfigureServices((ctx, x) => x.Configure <KafkaProviderOptions>(ctx.Configuration.GetSection(KafkaProviderOptions.DefaultSectionName)) .AddActivityContextAccessor() .AddKafkaProducer <string, MockMessage>(options => options .FromConfiguration(ctx.Configuration) .WithJson() .WithTopic("new-mock-message-topic")) .AddKafkaConsumer <string, MockMessage>(options => options .FromConfiguration(ctx.Configuration) .WithJson() .WithTopic("new-mock-message-topic")) ) .Build(); await _host.StartAsync(); _kafkaProducer = _host.Services.GetRequiredService <IKafkaProducer <string, MockMessage> >(); _kafkaConsumer = _host.Services.GetRequiredService <IKafkaConsumer <string, MockMessage> >(); _activityContextAccessor = _host.Services.GetRequiredService <IActivityContextAccessor>(); _semaphore = new SemaphoreSlim(0, 1); }
public ActivityTenantAccessor(IActivityContextAccessor activityContextAccessor) { _activityContextAccessor = activityContextAccessor; }
public MessageFactory([NotNull] IDateTimeProvider dateTimeProvider, IActivityContextAccessor activityContextAccessor) { _dateTimeProvider = dateTimeProvider; _activityContextAccessor = activityContextAccessor ?? throw new ArgumentNullException(nameof(activityContextAccessor)); }
/// <summary> /// Constructor. /// </summary> /// <param name="activityContextAccessor">The <see cref="IActivityContextAccessor" /> to use to add activity id within RequestContext.</param> /// <param name="tracerFactory">The <see cref="TracerFactory"/> used to get the <see cref="Tracer"/> used for Telemetry.</param> public StreamFactory(IActivityContextAccessor activityContextAccessor, TracerFactory tracerFactory = null) { _activityContextAccessor = activityContextAccessor; _tracerFactory = tracerFactory; }
/// <summary> /// A <see cref="DelegatingHandler"/> that injects an X-Correlation-ID Header into the request. /// </summary> /// <param name="activityContextAccessor">The <see cref="T:GiG.Core.DistributedTracing.Abstractions.IActivityContextAccessor" /> to use.</param> public CorrelationContextDelegatingHandler(IActivityContextAccessor activityContextAccessor) { _activityContextAccessor = activityContextAccessor; }
/// <summary> /// Constructor /// </summary> /// <param name="activityContextAccessor">An implementation of <see cref="IActivityContextAccessor"/> to retrieve trace information from.</param> public ActivityContextEnricher(IActivityContextAccessor activityContextAccessor) { _activityContextAccessor = activityContextAccessor; }
public MockController(IActivityContextAccessor activityContextAccessor) { _activityContextAccessor = activityContextAccessor; }