public IList <SaveSpansArgs> CreateTestClientSpans(HttpTestConfig config)
        {
            var result   = new List <SaveSpansArgs>();
            var now      = DateHelper.Instance.GetDateNow();
            var ticks    = now.Ticks;
            var traceId  = "trace_" + ticks;
            var tracerId = "ConcurrentTest-Tracer-" + now.ToString("yyyyMMddHHmmss");

            for (int i = 0; i < config.ConcurrentCount; i++)
            {
                var spanId         = "span_" + i.ToString("");
                var saveClientSpan = SaveClientSpan.Create(now, now.AddMilliseconds(10), tracerId, traceId, null, spanId, "FooOp");
                var saveSpansArgs  = new SaveSpansArgs();
                saveSpansArgs.Items.Add(saveClientSpan);
                result.Add(saveSpansArgs);
            }
            return(result);
        }
        private async Task <TestResult> RunTestClientSpan(IWebApiTester webApiHelper, int failExpiredMs, SaveSpansArgs saveSpansArgs, HttpTestConfig config)
        {
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            var jsonData = saveSpansArgs.ToJson(false);
            var saveOk   = await webApiHelper.TestHttpPost(config.GetSaveSpansApiUri(), jsonData, failExpiredMs).ConfigureAwait(false);

            stopwatch.Stop();
            var testResult = new TestResult();

            testResult.Success   = saveOk;
            testResult.ElapsedMs = stopwatch.ElapsedMilliseconds;
            var itemsCount     = saveSpansArgs.Items.Count;
            var saveClientSpan = saveSpansArgs.Items.First();

            testResult.Message = string.Format("{0}(1/{1}) => {2} , take {3:0.00} ms",
                                               saveClientSpan.SpanId,
                                               itemsCount,
                                               saveOk ? "Success" : "Fail",
                                               stopwatch.ElapsedMilliseconds);
            SimpleLog.Log(testResult.Message);
            return(testResult);
        }