internal static object Run()
        {
            var exporter = new PrometheusExporter(
                new PrometheusExporterOptions()
            {
                Url = new Uri("http://localhost:9184/metrics/")
            },
                Stats.ViewManager);

            exporter.Start();

            try
            {
                ITagContextBuilder tagContextBuilder = tagger.CurrentBuilder.Put(FrontendKey, TagValue.Create("mobile-ios9.3.5"));

                Stats.ViewManager.RegisterView(VideoSizeView);

                var t = new Task(() =>
                {
                    Random r      = new Random();
                    byte[] values = new byte[1];

                    while (true)
                    {
                        using (var scopedTags = tagContextBuilder.BuildScoped())
                        {
                            r.NextBytes(values);
                            statsRecorder.NewMeasureMap().Put(VideoSize, values[0] * MiB).Record();
                            Thread.Sleep(TimeSpan.FromSeconds(1));
                        }
                    }
                });
                t.Start();

                Console.WriteLine("Look at metrics in Prometetheus console!");
                Console.ReadLine();
            }
            finally
            {
                exporter.Stop();
            }

            return(null);
        }
Exemplo n.º 2
0
        internal static object Run(string projectId)
        {
            var exporter = new StackdriverExporter(
                projectId,
                Tracing.ExportComponent,
                Stats.ViewManager);

            exporter.Start();

            ITagContextBuilder 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 (var scopedTags = tagContextBuilder.BuildScoped())
            {
                using (var scopedSpan = spanBuilder.StartScopedSpan())
                {
                    tracer.CurrentSpan.AddEvent("Processing video.");
                    Thread.Sleep(TimeSpan.FromMilliseconds(10));

                    statsRecorder.NewMeasureMap()
                    .Put(VideoSize, 25 * MiB)
                    .Record();
                }
            }

            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();

            return(null);
        }
Exemplo n.º 3
0
        internal static object Run()
        {
            TelemetryConfiguration.Active.InstrumentationKey = "instrumentation-key";
            var exporter = new ApplicationInsightsExporter(Tracing.ExportComponent, Stats.ViewManager, TelemetryConfiguration.Active);

            exporter.Start();

            ITagContextBuilder 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 (var scopedTags = tagContextBuilder.BuildScoped())
            {
                using (var scopedSpan = spanBuilder.StartScopedSpan())
                {
                    tracer.CurrentSpan.AddAnnotation("Start processing video.");
                    Thread.Sleep(TimeSpan.FromMilliseconds(10));
                    statsRecorder.NewMeasureMap().Put(VideoSize, 25 * MiB).Record();
                    tracer.CurrentSpan.AddAnnotation("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();

            return(null);
        }