44 "fmt"
55 "net"
66 "regexp"
7- "strconv"
87 "time"
98
109 "github.com/golang/glog"
@@ -13,11 +12,6 @@ import (
1312 memc "github.com/smallfish/memcache"
1413)
1514
16- //var gaugess = [...]string{"get_hit_ratio", "incr_hit_ratio", "decr_hit_ratio",
17- // "delete_hit_ratio", "usage", "curr_connections", "total_connections",
18- // "bytes", "pointer_size", "uptime", "limit_maxbytes", "threads", "curr_items",
19- // "total_items", "connection_structures"}
20-
2115var gaugess = map [string ]int {"get_hit_ratio" : 1 , "incr_hit_ratio" : 1 ,
2216 "decr_hit_ratio" : 1 , "delete_hit_ratio" : 1 , "usage" : 1 ,
2317 "curr_connections" : 1 , "total_connections" : 1 , "bytes" : 1 ,
@@ -88,41 +82,11 @@ func collect(addrs []string) {
8882 }
8983 }
9084
91- bytes , _ := strconv .ParseFloat (stats ["bytes" ], 64 )
92- limit_maxbytes , _ := strconv .ParseFloat (stats ["limit_maxbytes" ], 64 )
93- stats ["usage" ] = fmt .Sprintf ("%.2f" , (100 * bytes / limit_maxbytes ))
94-
95- if stats ["get_hits" ] == "0" && stats ["get_misses" ] == "0" {
96- stats ["get_hit_ratio" ] = "0.0"
97- } else {
98- get_hits , _ := strconv .ParseFloat (stats ["get_hits" ], 64 )
99- get_misses , _ := strconv .ParseFloat (stats ["get_misses" ], 64 )
100- stats ["get_hit_ratio" ] = fmt .Sprintf ("%.2f" , 100 * (get_hits / (get_hits + get_misses )))
101- }
102-
103- if stats ["incr_hits" ] == "0" && stats ["incr_misses" ] == "0" {
104- stats ["incr_hit_ratio" ] = "0.0"
105- } else {
106- incr_hits , _ := strconv .ParseFloat (stats ["incr_hits" ], 64 )
107- incr_misses , _ := strconv .ParseFloat (stats ["incr_misses" ], 64 )
108- stats ["incr_hit_ratio" ] = fmt .Sprintf ("%.2f" , 100 * (incr_hits / (incr_hits + incr_misses )))
109- }
110-
111- if stats ["decr_hits" ] == "0" && stats ["decr_misses" ] == "0" {
112- stats ["decr_hit_ratio" ] = "0.0"
113- } else {
114- decr_hits , _ := strconv .ParseFloat (stats ["decr_hits" ], 64 )
115- decr_misses , _ := strconv .ParseFloat (stats ["decr_misses" ], 64 )
116- stats ["decr_hit_ratio" ] = fmt .Sprintf ("%.2f" , 100 * (decr_hits / (decr_hits + decr_misses )))
117- }
118-
119- if stats ["delete_hits" ] == "0" && stats ["delete_misses" ] == "0" {
120- stats ["delete_hit_ratio" ] = "0.0"
121- } else {
122- delete_hits , _ := strconv .ParseFloat (stats ["delete_hits" ], 64 )
123- delete_misses , _ := strconv .ParseFloat (stats ["delete_misses" ], 64 )
124- stats ["delete_hit_ratio" ] = fmt .Sprintf ("%.2f" , 100 * (delete_hits / (delete_hits + delete_misses )))
125- }
85+ stats ["usage" ] = g .CalculateMetricRatio (stats ["bytes" ], stats ["limit_maxbytes" ])
86+ stats ["get_hit_ratio" ] = g .CalculateMetricRatio (stats ["get_hits" ], stats ["get_misses" ])
87+ stats ["incr_hit_ratio" ] = g .CalculateMetricRatio (stats ["incr_hits" ], stats ["incr_misses" ])
88+ stats ["decr_hit_ratio" ] = g .CalculateMetricRatio (stats ["decr_hits" ], stats ["decr_misses" ])
89+ stats ["delete_hit_ratio" ] = g .CalculateMetricRatio (stats ["delete_hits" ], stats ["delete_misses" ])
12690
12791 var tags string
12892 _ , port , err := net .SplitHostPort (addr )
0 commit comments