Skip to content

Commit fd6cc60

Browse files
committed
format code.
1 parent ff3179a commit fd6cc60

File tree

6 files changed

+90
-52
lines changed

6 files changed

+90
-52
lines changed

cron/collector.go

Lines changed: 5 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
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-
2115
var 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)

g/cfg.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package g
22

33
import (
44
"encoding/json"
5-
"os"
65
"sync"
76

87
"github.com/golang/glog"
@@ -79,12 +78,3 @@ func ParseConfig(cfg string) {
7978

8079
glog.Infoln("g:ParseConfig, ok, ", cfg)
8180
}
82-
83-
// get hostname
84-
func Hostname() (string, error) {
85-
hostname, err := os.Hostname()
86-
if err != nil {
87-
glog.Warningf("ERROR: os.Hostname() fail %v", err)
88-
}
89-
return hostname, err
90-
}

g/git.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
package g
22
const (
3-
COMMIT = "b566ef1"
3+
COMMIT = "ff3179a"
44
)

g/rpc.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ func (this *SingleConnRpcClient) Call(method string, args interface{}, reply int
9393
return nil
9494
}
9595

96+
// Set diff metrics send methods for Transfer:
97+
// PostToAgent -> http://127.0.0.1:1988/v1/push
98+
// SendToTransfer -> 127.0.0.1:8433
9699
func InitRpcClients() {
97100
if Config().Transfer.Enable {
98101
taddr := Config().Transfer.Addr

g/util.go

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package g
2+
3+
import (
4+
"fmt"
5+
"os"
6+
"strconv"
7+
"strings"
8+
9+
"github.com/golang/glog"
10+
)
11+
12+
// get hostname
13+
func Hostname() (string, error) {
14+
hostname, err := os.Hostname()
15+
if err != nil {
16+
glog.Warningf("ERROR: os.Hostname() fail %v", err)
17+
}
18+
return hostname, err
19+
}
20+
21+
// calculate metric ratio:
22+
// string(100 * metrics[0] / sum(metrics))
23+
func CalculateMetricRatio(metrics ...string) string {
24+
if len(metrics) < 1 {
25+
return "0"
26+
} else if len(metrics) == 1 {
27+
return metrics[0]
28+
}
29+
30+
first, err := strconv.ParseFloat(strings.TrimSpace(metrics[0]), 64)
31+
if err != nil {
32+
return "0"
33+
}
34+
var total float64 = 0
35+
36+
for _, metric := range metrics {
37+
fmetric, err := strconv.ParseFloat(strings.TrimSpace(metric), 64)
38+
if err != nil {
39+
total = total + 0
40+
} else {
41+
total = total + fmetric
42+
}
43+
}
44+
45+
if total == 0 {
46+
return "0"
47+
} else {
48+
return fmt.Sprintf("%.2f", 100*(first/total))
49+
}
50+
}

g/util_test.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package g
2+
3+
import (
4+
"strings"
5+
"testing"
6+
)
7+
8+
func TestCalculateMetricRatio(t *testing.T) {
9+
type CalMetricRadioTest struct {
10+
result string
11+
opstr string
12+
}
13+
14+
var tests = []CalMetricRadioTest{
15+
{"0.0", "0.0"},
16+
{"0", "0.0,0.0"},
17+
{"0.00", "0.0,1.0"},
18+
{"100.00", "1.0,0.0"},
19+
{"50.00", "1.0, 1.0"},
20+
{"0", "0.0,a.0"},
21+
}
22+
23+
for _, test := range tests {
24+
array := strings.SplitN(test.opstr, ",", -1)
25+
ret := CalculateMetricRatio(array...)
26+
27+
if test.result != ret {
28+
t.Errorf("CalculateMetricRatio(%v) = %v, want %v", array, ret, test.result)
29+
}
30+
}
31+
}

0 commit comments

Comments
 (0)