Example #1
0
        static void Inner(Tracer tracer)
        {
            var traceBuilder = new TraceBuilder(tracer);

            var client = new HttpClient
            {
                BaseAddress = new Uri("http://service_a")
            };

            var url = $"/aworld/id/{_testId}";


            traceBuilder.WithSpanName("MainWork")
            .WithHttpCall(client, url, HttpMethod.Get)
            .TraceIt(() =>
            {
                var response = client.GetAsync(url).Result;

                if (!response.IsSuccessStatusCode)
                {
                    throw new Exception("uncovered area for the demo.");
                }

                var responseBody = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine(responseBody);
            });
        }
        static void SingleRequest(Tracer tracer)
        {
            //Guid guid = Guid.NewGuid();
            //IDictionary<string, object> keyValues = new Dictionary<string, object>();
            //keyValues.Add("MyTraceId", guid.ToString());

            var    url      = $"/api/aworld/{_testId}";
            string spanName = "MainWork";
            Guid   guid     = Guid.NewGuid();

            Console.WriteLine("guid:{0}", guid);

            var traceBuilder = new TraceBuilder(tracer);
            var client       = new HttpClient
            {
                BaseAddress = new Uri("https://localhost:44340")
            };

            traceBuilder.WithSpanName(spanName)
            .WithTag(new OpenTracing.Tag.StringTag("MyCorelationId"), guid.ToString())
            .WithHttpCall(client, url, HttpMethod.Get)
            .TraceIt(() =>
            {
                CallServiceA(client, url);
            });
        }