static Action <HttpTracingActivity> StartAction(MetricsCollectionService metricsCollectionService) { return(trace); void trace(HttpTracingActivity ctx) { var lastCounter = metricsCollectionService.LastCounterData; if (lastCounter != null) { ctx.TracingOptions.TagsOptions.Counter.TraceCounter(ctx, lastCounter); } } }
private static async Task Go() { var c = new MetricsCollectionService(); await c.StartAsync(CancellationToken.None); var random = new Random(); for (int i = 0; i <= 1000; i++) { var clientEvent = HttpClientEventSource.Instance.StartEvent("service"); await Task.Delay(random.Next(10, 200)).ConfigureAwait(false); clientEvent.Stop(); } }
public HttpCounterActivityProcessor(MetricsCollectionService metricsCollectionService) : base( onStart: StartAction(metricsCollectionService)) { }