public void InterruptWorkerThreadStops() { Thread serviceExporterThread = ((SpanExporter)spanExporter).ServiceExporterThread; spanExporter.Dispose(); // serviceExporterThread.Interrupt(); // Test that the worker thread will stop. serviceExporterThread.Join(); }
internal static object Run() { SimpleEventQueue eventQueue = new SimpleEventQueue(); ISpanExporter exporter = OpenTelemetry.Trace.Export.SpanExporter.Create(); TelemetryConfiguration.Active.InstrumentationKey = "instrumentation-key"; var appInsightsExporter = new ApplicationInsightsExporter(exporter, Stats.ViewManager, TelemetryConfiguration.Active); appInsightsExporter.Start(); var tagContextBuilder = Tagger.CurrentBuilder.Put(FrontendKey, TagValue.Create("mobile-ios9.3.5")); var spanBuilder = Tracer .SpanBuilder("incoming request") .SetRecordEvents(true) .SetSampler(Samplers.AlwaysSample); Stats.ViewManager.RegisterView(VideoSizeView); using (tagContextBuilder.BuildScoped()) { using (Tracer.WithSpan(spanBuilder.StartSpan())) { Tracer.CurrentSpan.AddEvent("Start processing video."); Thread.Sleep(TimeSpan.FromMilliseconds(10)); StatsRecorder.NewMeasureMap().Put(VideoSize, 25 * MiB).Record(); Tracer.CurrentSpan.AddEvent("Finished processing video."); } } Thread.Sleep(TimeSpan.FromMilliseconds(5100)); var viewData = Stats.ViewManager.GetView(VideoSizeViewName); Console.WriteLine(viewData); Console.WriteLine("Done... wait for events to arrive to backend!"); Console.ReadLine(); exporter.Dispose(); return(null); }
public void Dispose() { spanExporter?.Dispose(); Activity.Current = null; }