|
80 | 80 | (let [key-idx
|
81 | 81 | (into {}
|
82 | 82 | (map-indexed (fn [n k] [k n])
|
83 |
| - [:n :sum :min :max :p25 :p50 :p75 :p90 :p95 :p99 |
| 83 | + [:n :sum :min :max :last :p25 :p50 :p75 :p90 :p95 :p99 |
84 | 84 | :mean :var :mad :var-sum :mad-sum :meta]))
|
85 | 85 |
|
86 | 86 | comparator (fn [k1 k2] (< (long (get key-idx k1 -1)) (long (get key-idx k2 -1))))]
|
|
105 | 105 |
|
106 | 106 | (is
|
107 | 107 | (= (sorted-sstats @(stats/summary-stats (range 1 1001)))
|
108 |
| - {:n 1000, :sum 500500, :min 1, :max 1000, :p25 251, :p50 501, :p75 750, :p90 900, :p95 950, :p99 990, |
| 108 | + {:n 1000, :sum 500500, :min 1, :max 1000, :last 1000, :p25 251, :p50 501, :p75 750, :p90 900, :p95 950, :p99 990, |
109 | 109 | :mean 500.5, :var 83333.25, :mad 250.0, :var-sum 8.333325E7, :mad-sum 250000.0, :meta {:floats? false}}))
|
110 | 110 |
|
111 | 111 | (is
|
112 | 112 | (= (sorted-sstats @(stats/summary-stats (range 0.5 1000)))
|
113 |
| - {:n 1000, :sum 500000.0, :min 0.5, :max 999.5, :p25 250.5, :p50 500.5, :p75 749.5, :p90 899.5, :p95 949.5, :p99 989.5, |
| 113 | + {:n 1000, :sum 500000.0, :min 0.5, :max 999.5, :last 999.5, :p25 250.5, :p50 500.5, :p75 749.5, :p90 899.5, :p95 949.5, :p99 989.5, |
114 | 114 | :mean 500.0, :var 83333.25, :mad 250.0, :var-sum 8.333325E7, :mad-sum 250000.0, :meta {:floats? true}}))
|
115 | 115 |
|
116 | 116 | (is
|
|
119 | 119 | (stats/summary-stats (range 0 900))
|
120 | 120 | (stats/summary-stats (range 200 500))))
|
121 | 121 |
|
122 |
| - {:n 1200, :sum 509400, :min 0, :max 899, :p25 238, :p50 425, :p75 612, :p90 724, :p95 762, :p99 792, |
| 122 | + {:n 1200, :sum 509400, :min 0, :max 899, :last 499, :p25 238, :p50 425, :p75 612, :p90 724, :p95 762, :p99 792, |
123 | 123 | :mean 424.5, :var 52499.916666666664, :mad 187.5, :var-sum 6.29999E7, :mad-sum 225000.0, :meta {:floats? false}}))
|
124 | 124 |
|
125 | 125 | (is
|
|
128 | 128 | (stats/summary-stats (range 0.5 900))
|
129 | 129 | (stats/summary-stats (range 200.5 500))))
|
130 | 130 |
|
131 |
| - {:n 1200, :sum 510000.0, :min 0.5, :max 899.5, :p25 238.0, :p50 425.5, :p75 612.0, :p90 724.5, :p95 762.0, :p99 792.0, |
| 131 | + {:n 1200, :sum 510000.0, :min 0.5, :max 899.5, :last 499.5, :p25 238.0, :p50 425.5, :p75 612.0, :p90 724.5, :p95 762.0, :p99 792.0, |
132 | 132 | :mean 425.0, :var 52499.916666666664, :mad 187.5, :var-sum 6.29999E7, :mad-sum 225000.0, :meta {:floats? true}}))
|
133 | 133 |
|
134 | 134 | (is
|
|
138 | 138 | (stats/summary-stats (range 0 900))
|
139 | 139 | (stats/summary-stats (range 200.5 500))))
|
140 | 140 |
|
141 |
| - {:n 1200, :sum 509550.0, :min 0.0, :max 899.0, :p25 237.625, :p50 425.125, :p75 611.625, :p90 724.125, :p95 761.625, :p99 791.625, |
| 141 | + {:n 1200, :sum 509550.0, :min 0.0, :max 899.0, :last 499.5, :p25 237.625, :p50 425.125, :p75 611.625, :p90 724.125, :p95 761.625, :p99 791.625, |
142 | 142 | :mean 424.625, :var 52499.916666666664, :mad 187.5, :var-sum 6.29999E7, :mad-sum 225000.0, :meta {:floats? true}}))
|
143 | 143 |
|
144 | 144 | (is (nil? (ss-merging-error 10 100 10)))
|
|
0 commit comments