Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Collect()

override IAggregationStatistics System.Diagnostics.Metrics.ExponentialHistogramAggregator.Collect ( )
inline

Definition at line 46 of file ExponentialHistogramAggregator.cs.

47 {
48 int[][] counters;
49 int count;
50 lock (this)
51 {
53 count = _count;
54 _counters = new int[4096][];
55 _count = 0;
56 }
57 QuantileValue[] array = new QuantileValue[_config.Quantiles.Length];
58 int num = 0;
59 if (num == _config.Quantiles.Length)
60 {
61 return new HistogramStatistics(array);
62 }
65 int num3 = 0;
66 foreach (Bucket item in IterateBuckets(counters))
67 {
68 num3 += item.Count;
69 while (num3 > num2)
70 {
71 array[num] = new QuantileValue(_config.Quantiles[num], item.Value);
72 num++;
73 if (num == _config.Quantiles.Length)
74 {
75 return new HistogramStatistics(array);
76 }
78 }
79 }
80 return new HistogramStatistics(Array.Empty<QuantileValue>());
81 }

References System.Diagnostics.Metrics.ExponentialHistogramAggregator._config, System.Diagnostics.Metrics.ExponentialHistogramAggregator._count, System.Diagnostics.Metrics.ExponentialHistogramAggregator._counters, System.array, System.count, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Diagnostics.Metrics.ExponentialHistogramAggregator.GetInvalidCount(), System.item, System.Diagnostics.Metrics.ExponentialHistogramAggregator.IterateBuckets(), System.Diagnostics.Metrics.QuantileAggregation.Quantiles, and System.Diagnostics.Metrics.ExponentialHistogramAggregator.QuantileToRank().