Example #1
0
 public void MergeFrom(ClientStats other)
 {
     if (other == null)
     {
         return;
     }
     if (other.latencies_ != null)
     {
         if (latencies_ == null)
         {
             latencies_ = new global::Grpc.Testing.HistogramData();
         }
         Latencies.MergeFrom(other.Latencies);
     }
     if (other.TimeElapsed != 0D)
     {
         TimeElapsed = other.TimeElapsed;
     }
     if (other.TimeUser != 0D)
     {
         TimeUser = other.TimeUser;
     }
     if (other.TimeSystem != 0D)
     {
         TimeSystem = other.TimeSystem;
     }
     requestResults_.Add(other.requestResults_);
 }
Example #2
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (latencies_ != null)
            {
                hash ^= Latencies.GetHashCode();
            }
            if (TimeElapsed != 0D)
            {
                hash ^= TimeElapsed.GetHashCode();
            }
            if (TimeUser != 0D)
            {
                hash ^= TimeUser.GetHashCode();
            }
            if (TimeSystem != 0D)
            {
                hash ^= TimeSystem.GetHashCode();
            }
            hash ^= requestResults_.GetHashCode();
            if (CqPollCount != 0UL)
            {
                hash ^= CqPollCount.GetHashCode();
            }
            return(hash);
        }
        public void Register(bool end)
        {
            Latencies.Add(_watchser.ElapsedMilliseconds);

            if (end)
            {
                _watchser.Stop();
            }
            else
            {
                _watchser.Restart();
            }
        }
Example #4
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (latencies_ != null)
            {
                hash ^= Latencies.GetHashCode();
            }
            if (TimeElapsed != 0D)
            {
                hash ^= TimeElapsed.GetHashCode();
            }
            if (TimeUser != 0D)
            {
                hash ^= TimeUser.GetHashCode();
            }
            if (TimeSystem != 0D)
            {
                hash ^= TimeSystem.GetHashCode();
            }
            return(hash);
        }
Example #5
0
            public void PrintResults()
            {
                var sortedlatencies = Latencies.DefaultIfEmpty(0).OrderByDescending(x => x).ToList();

                Console.WriteLine($"[{Name}], Operations, {Latencies.Count}");
                Console.WriteLine(
                    $"[{Name}], AverageLatency(us), {Latencies.DefaultIfEmpty(0).Average() * 1000}");
                Console.WriteLine($"[{Name}], LatencyVariance(us), {Variance(sortedlatencies) * 1000}");
                Console.WriteLine(
                    $"[{Name}], MinLatency(us), {sortedlatencies.LastOrDefault() * 1000}");
                Console.WriteLine(
                    $"[{Name}], MaxLatency(us), {sortedlatencies.FirstOrDefault() * 1000}");
                Console.WriteLine(
                    $"[{Name}], 50thPercentileLatency(us), {sortedlatencies.Skip((int) Math.Floor(Latencies.Count * .5)).First() * 1000}");
                Console.WriteLine(
                    $"[{Name}], 95thPercentileLatency(us), {sortedlatencies.Skip((int) Math.Floor(Latencies.Count * .05)).First() * 1000}");
                Console.WriteLine(
                    $"[{Name}], 99thPercentileLatency(us), {sortedlatencies.Skip((int) Math.Floor(Latencies.Count * .01)).First() * 1000}");
                Console.WriteLine(
                    $"[{Name}], 99.9thPercentileLatency(us), {sortedlatencies.Skip((int) Math.Floor(Latencies.Count * .001)).First() * 1000}");
                Console.WriteLine($"[{Name}], Return=OK, {Latencies.Count}");
                //bucket.
                var sortedLatencies = Latencies.OrderBy(x => x).ToList();
                var latencyIndex    = 0;
                var bucket          = 0;

                for (; bucket < GetOptionWithDefault("histogram.buckets", 0L); bucket++)
                {
                    var count = 0;
                    while (latencyIndex < sortedLatencies.Count && sortedLatencies[latencyIndex] <= bucket)
                    {
                        count++;
                        latencyIndex++;
                    }
                    Console.WriteLine($"[{Name}], {bucket}, {count}");
                }
                Console.WriteLine($"[{Name}], >{bucket}, {sortedLatencies.Count - latencyIndex}");
            }
Example #6
0
        private async void GetLatenciesAsync()
        {
            var localLatencies = new ObservableCollection <NameValue>();

            await Task.Run(() =>
            {
                // Increment by 50
                for (int index = 50; index <= 500; index += 50)
                {
                    if (index == 200)
                    {
                        localLatencies.Add(new NameValue
                        {
                            Name  = index + " ms (" + Application.Current.FindResource("Language_Default").ToString().ToLower() + ")",
                            Value = index
                        });
                    }
                    else
                    {
                        localLatencies.Add(new NameValue
                        {
                            Name  = index + " ms",
                            Value = index
                        });
                    }
                }
            });

            this.Latencies = localLatencies;

            NameValue localSelectedLatency = null;

            await Task.Run(() => localSelectedLatency = Latencies.Where((pa) => pa.Value == XmlSettingsClient.Instance.Get <int>("Playback", "AudioLatency")).Select((pa) => pa).First());

            this.SelectedLatency = localSelectedLatency;
        }