Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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>();
        }
Ejemplo n.º 3
0
 /// <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);
 }
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
        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>();
        }
Ejemplo n.º 6
0
        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>();
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 public ActivityTenantAccessor(IActivityContextAccessor activityContextAccessor)
 {
     _activityContextAccessor = activityContextAccessor;
 }
Ejemplo n.º 9
0
 public MessageFactory([NotNull] IDateTimeProvider dateTimeProvider, IActivityContextAccessor activityContextAccessor)
 {
     _dateTimeProvider        = dateTimeProvider;
     _activityContextAccessor = activityContextAccessor ?? throw new ArgumentNullException(nameof(activityContextAccessor));
 }
Ejemplo n.º 10
0
 /// <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;
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="activityContextAccessor">An implementation of <see cref="IActivityContextAccessor"/> to retrieve trace information from.</param>
 public ActivityContextEnricher(IActivityContextAccessor activityContextAccessor)
 {
     _activityContextAccessor = activityContextAccessor;
 }
Ejemplo n.º 13
0
 public MockController(IActivityContextAccessor activityContextAccessor)
 {
     _activityContextAccessor = activityContextAccessor;
 }