|
|
@@ -29,17 +29,17 @@ func main() {
|
|
|
Baseline:
|
|
|
|
|
|
```
|
|
|
-VmPeak: 792544 kB
|
|
|
-VmSize: 792544 kB
|
|
|
-VmLck: 0 kB
|
|
|
-VmHWM: 496 kB
|
|
|
-VmRSS: 496 kB
|
|
|
-VmData: 792024 kB
|
|
|
-VmStk: 136 kB
|
|
|
-VmExe: 376 kB
|
|
|
-VmLib: 0 kB
|
|
|
-VmPTE: 28 kB
|
|
|
-VmSwap: 0 kB
|
|
|
+VmPeak: 42604 kB
|
|
|
+VmSize: 42604 kB
|
|
|
+VmLck: 0 kB
|
|
|
+VmHWM: 1120 kB
|
|
|
+VmRSS: 1120 kB
|
|
|
+VmData: 35460 kB
|
|
|
+VmStk: 136 kB
|
|
|
+VmExe: 1020 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 36 kB
|
|
|
+VmSwap: 0 kB
|
|
|
```
|
|
|
|
|
|
Program used to gather metric memory usage (with other metrics being similar):
|
|
|
@@ -54,10 +54,8 @@ import (
|
|
|
)
|
|
|
|
|
|
func main() {
|
|
|
- r := metrics.NewRegistry()
|
|
|
- for i := 0; i < 1000; i++ {
|
|
|
- r.RegisterCounter(fmt.Sprintf("%d", i), metrics.NewCounter())
|
|
|
- }
|
|
|
+ fmt.Sprintf("foo")
|
|
|
+ metrics.NewRegistry()
|
|
|
time.Sleep(600e9)
|
|
|
}
|
|
|
```
|
|
|
@@ -65,163 +63,197 @@ func main() {
|
|
|
1000 counters registered:
|
|
|
|
|
|
```
|
|
|
-VmPeak: 807740 kB
|
|
|
-VmSize: 807740 kB
|
|
|
+VmPeak: 44016 kB
|
|
|
+VmSize: 44016 kB
|
|
|
VmLck: 0 kB
|
|
|
-VmHWM: 5896 kB
|
|
|
-VmRSS: 5896 kB
|
|
|
-VmData: 805068 kB
|
|
|
+VmHWM: 1928 kB
|
|
|
+VmRSS: 1928 kB
|
|
|
+VmData: 36868 kB
|
|
|
VmStk: 136 kB
|
|
|
-VmExe: 912 kB
|
|
|
-VmLib: 1580 kB
|
|
|
-VmPTE: 48 kB
|
|
|
+VmExe: 1024 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 40 kB
|
|
|
VmSwap: 0 kB
|
|
|
```
|
|
|
|
|
|
-**15 kB virtual, 5 kB resident per counter.**
|
|
|
+**1.412 kB virtual, TODO 0.808 kB resident per counter.**
|
|
|
|
|
|
100000 counters registered:
|
|
|
|
|
|
```
|
|
|
-VmPeak: 1204156 kB
|
|
|
-VmSize: 1204156 kB
|
|
|
+VmPeak: 55024 kB
|
|
|
+VmSize: 55024 kB
|
|
|
+VmLck: 0 kB
|
|
|
+VmHWM: 12440 kB
|
|
|
+VmRSS: 12440 kB
|
|
|
+VmData: 47876 kB
|
|
|
+VmStk: 136 kB
|
|
|
+VmExe: 1024 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 64 kB
|
|
|
+VmSwap: 0 kB
|
|
|
+```
|
|
|
+
|
|
|
+**0.1242 kB virtual, 0.1132 kB resident per counter.**
|
|
|
+
|
|
|
+1000 gauges registered:
|
|
|
+
|
|
|
+```
|
|
|
+VmPeak: 44012 kB
|
|
|
+VmSize: 44012 kB
|
|
|
VmLck: 0 kB
|
|
|
-VmHWM: 450944 kB
|
|
|
-VmRSS: 394756 kB
|
|
|
-VmData: 1201484 kB
|
|
|
+VmHWM: 1928 kB
|
|
|
+VmRSS: 1928 kB
|
|
|
+VmData: 36868 kB
|
|
|
VmStk: 136 kB
|
|
|
-VmExe: 912 kB
|
|
|
-VmLib: 1580 kB
|
|
|
-VmPTE: 928 kB
|
|
|
-VmSwap: 56596 kB
|
|
|
+VmExe: 1020 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 40 kB
|
|
|
+VmSwap: 0 kB
|
|
|
```
|
|
|
|
|
|
-**4 kB virtual, 4 kB resident per counter.**
|
|
|
+**1.408 kB virtual, 0.808 kB resident per counter.**
|
|
|
+
|
|
|
+100000 gauges registered:
|
|
|
+
|
|
|
+```
|
|
|
+VmPeak: 55020 kB
|
|
|
+VmSize: 55020 kB
|
|
|
+VmLck: 0 kB
|
|
|
+VmHWM: 12432 kB
|
|
|
+VmRSS: 12432 kB
|
|
|
+VmData: 47876 kB
|
|
|
+VmStk: 136 kB
|
|
|
+VmExe: 1020 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 60 kB
|
|
|
+VmSwap: 0 kB
|
|
|
+```
|
|
|
|
|
|
-1000 and 100000 gauges registered: negligibly different than counters.
|
|
|
+**0.12416 kB virtual, 0.11312 resident per gauge.**
|
|
|
|
|
|
1000 histograms with a uniform sample size of 1028:
|
|
|
|
|
|
```
|
|
|
-VmPeak: 811724 kB
|
|
|
-VmSize: 811724 kB
|
|
|
+VmPeak: 72272 kB
|
|
|
+VmSize: 72272 kB
|
|
|
VmLck: 0 kB
|
|
|
-VmHWM: 15568 kB
|
|
|
-VmRSS: 15568 kB
|
|
|
-VmData: 809036 kB
|
|
|
+VmHWM: 16204 kB
|
|
|
+VmRSS: 16204 kB
|
|
|
+VmData: 65100 kB
|
|
|
VmStk: 136 kB
|
|
|
-VmExe: 928 kB
|
|
|
-VmLib: 1580 kB
|
|
|
+VmExe: 1048 kB
|
|
|
+VmLib: 1848 kB
|
|
|
VmPTE: 80 kB
|
|
|
VmSwap: 0 kB
|
|
|
```
|
|
|
|
|
|
-**19 kB virtual, 15 kB resident per histogram.**
|
|
|
+**29.668 kB virtual, TODO 15.084 resident per histogram.**
|
|
|
|
|
|
10000 histograms with a uniform sample size of 1028:
|
|
|
|
|
|
```
|
|
|
-VmPeak: 883916 kB
|
|
|
-VmSize: 883916 kB
|
|
|
+VmPeak: 256912 kB
|
|
|
+VmSize: 256912 kB
|
|
|
VmLck: 0 kB
|
|
|
-VmHWM: 144576 kB
|
|
|
-VmRSS: 144576 kB
|
|
|
-VmData: 881228 kB
|
|
|
+VmHWM: 146204 kB
|
|
|
+VmRSS: 146204 kB
|
|
|
+VmData: 249740 kB
|
|
|
VmStk: 136 kB
|
|
|
-VmExe: 928 kB
|
|
|
-VmLib: 1580 kB
|
|
|
-VmPTE: 432 kB
|
|
|
+VmExe: 1048 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 448 kB
|
|
|
VmSwap: 0 kB
|
|
|
```
|
|
|
|
|
|
-**9 kB virtual, 14 kB resident per histogram.**
|
|
|
+**21.4308 kB virtual, 14.5084 kB resident per histogram.**
|
|
|
|
|
|
50000 histograms with a uniform sample size of 1028:
|
|
|
|
|
|
```
|
|
|
-VmPeak: 1204300 kB
|
|
|
-VmSize: 1204300 kB
|
|
|
+VmPeak: 908112 kB
|
|
|
+VmSize: 908112 kB
|
|
|
VmLck: 0 kB
|
|
|
-VmHWM: 480288 kB
|
|
|
-VmRSS: 462244 kB
|
|
|
-VmData: 1201612 kB
|
|
|
+VmHWM: 645832 kB
|
|
|
+VmRSS: 645588 kB
|
|
|
+VmData: 900940 kB
|
|
|
VmStk: 136 kB
|
|
|
-VmExe: 928 kB
|
|
|
-VmLib: 1580 kB
|
|
|
-VmPTE: 1296 kB
|
|
|
-VmSwap: 76464 kB
|
|
|
+VmExe: 1048 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 1716 kB
|
|
|
+VmSwap: 1544 kB
|
|
|
```
|
|
|
|
|
|
-**8 kB virtual, 9 kB resident per histogram. WTF?**
|
|
|
+**17.31016 kB virtual, 12.88936 kB resident per histogram.**
|
|
|
|
|
|
1000 histograms with an exponentially-decaying sample size of 1028 and alpha of 0.015:
|
|
|
|
|
|
```
|
|
|
-VmPeak: 811724 kB
|
|
|
-VmSize: 811724 kB
|
|
|
+VmPeak: 62480 kB
|
|
|
+VmSize: 62480 kB
|
|
|
VmLck: 0 kB
|
|
|
-VmHWM: 10564 kB
|
|
|
-VmRSS: 10564 kB
|
|
|
-VmData: 809036 kB
|
|
|
+VmHWM: 11572 kB
|
|
|
+VmRSS: 11572 kB
|
|
|
+VmData: 55308 kB
|
|
|
VmStk: 136 kB
|
|
|
-VmExe: 928 kB
|
|
|
-VmLib: 1580 kB
|
|
|
-VmPTE: 52 kB
|
|
|
+VmExe: 1048 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 64 kB
|
|
|
VmSwap: 0 kB
|
|
|
```
|
|
|
|
|
|
-**19 kB virtual, 10 kB resident per histogram.**
|
|
|
+**19.876 kB virtual, 10.452 kB resident per histogram.**
|
|
|
|
|
|
10000 histograms with an exponentially-decaying sample size of 1028 and alpha of 0.015:
|
|
|
|
|
|
```
|
|
|
-VmPeak: 883788 kB
|
|
|
-VmSize: 883788 kB
|
|
|
+VmPeak: 153296 kB
|
|
|
+VmSize: 153296 kB
|
|
|
VmLck: 0 kB
|
|
|
-VmHWM: 93484 kB
|
|
|
-VmRSS: 93484 kB
|
|
|
-VmData: 881100 kB
|
|
|
+VmHWM: 101176 kB
|
|
|
+VmRSS: 101176 kB
|
|
|
+VmData: 146124 kB
|
|
|
VmStk: 136 kB
|
|
|
-VmExe: 928 kB
|
|
|
-VmLib: 1580 kB
|
|
|
-VmPTE: 220 kB
|
|
|
+VmExe: 1048 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 240 kB
|
|
|
VmSwap: 0 kB
|
|
|
```
|
|
|
|
|
|
-**9 kB virtual, 9 kB resident per histogram.**
|
|
|
+**11.0692 kB virtual, 10.0056 kB resident per histogram.**
|
|
|
|
|
|
50000 histograms with an exponentially-decaying sample size of 1028 and alpha of 0.015:
|
|
|
|
|
|
```
|
|
|
-VmPeak: 1204172 kB
|
|
|
-VmSize: 1204172 kB
|
|
|
+VmPeak: 557264 kB
|
|
|
+VmSize: 557264 kB
|
|
|
VmLck: 0 kB
|
|
|
-VmHWM: 460360 kB
|
|
|
-VmRSS: 460248 kB
|
|
|
-VmData: 1201484 kB
|
|
|
+VmHWM: 501056 kB
|
|
|
+VmRSS: 501056 kB
|
|
|
+VmData: 550092 kB
|
|
|
VmStk: 136 kB
|
|
|
-VmExe: 928 kB
|
|
|
-VmLib: 1580 kB
|
|
|
-VmPTE: 944 kB
|
|
|
-VmSwap: 112 kB
|
|
|
+VmExe: 1048 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 1032 kB
|
|
|
+VmSwap: 0 kB
|
|
|
```
|
|
|
|
|
|
-**8 kB virtual, 9 kB resident per histogram. WTF?**
|
|
|
+**10.2932 kB virtual, 9.99872 kB resident per histogram.**
|
|
|
|
|
|
250 meters:
|
|
|
|
|
|
```
|
|
|
-VmPeak: 2887084 kB
|
|
|
-VmSize: 2887084 kB
|
|
|
+VmPeak: 2148716 kB
|
|
|
+VmSize: 2148716 kB
|
|
|
VmLck: 0 kB
|
|
|
-VmHWM: 3380 kB
|
|
|
-VmRSS: 3380 kB
|
|
|
-VmData: 2884404 kB
|
|
|
+VmHWM: 4088 kB
|
|
|
+VmRSS: 4088 kB
|
|
|
+VmData: 2141556 kB
|
|
|
VmStk: 136 kB
|
|
|
-VmExe: 920 kB
|
|
|
-VmLib: 1580 kB
|
|
|
-VmPTE: 1072 kB
|
|
|
+VmExe: 1036 kB
|
|
|
+VmLib: 1848 kB
|
|
|
+VmPTE: 1076 kB
|
|
|
VmSwap: 0 kB
|
|
|
```
|
|
|
|
|
|
-**8378 kB virtual, 11 kB resident per meter.**
|
|
|
+**TODO 8424.448 kB virtual, 11.872 kB resident per meter.**
|