-
Notifications
You must be signed in to change notification settings - Fork 3
/
doc.go
146 lines (146 loc) · 3.65 KB
/
doc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
// Package gopinba provides interface to push data to Pinba server
//
//
// Examples
//
// Example command line app
//
// pinba := gopinba.New(&gopinba.Options{PinbaHost: "127.0.0.1", PinbaPort: 30002})
//
// request := pinba.Request()
//
// timer := request.TimerStart(&gopinba.Tags{
// "group": "mysql",
// "operation": "connect",
// "from_server": "127.0.0.1",
// "to_server": "192.168.10.101",
// })
//
// // connect to mysql server
//
// request.TimerStop(timer)
//
// timer = request.TimerStart(&gopinba.Tags{
// "group": "mysql",
// "operation": "select",
// "from_server": "127.0.0.1",
// "to_server": "192.168.10.101",
// })
//
// // select from mysql server
//
// request.TimerStop(timer)
//
// timer = request.TimerStart(&gopinba.Tags{
// "group": "cli",
// "operation": "fetch_data",
// })
//
// // fetch
//
// request.TimerStop(timer)
//
// pinba.Flush(request)
//
//
// Example web app
//
// var pinba *gopinba.Pinba
//
// func simpleRequest(w http.ResponseWriter, r *http.Request) {
//
// request := pinba.Request()
//
// request.SetScriptName(r.URL.Path)
//
// // exec
//
// request.TimerStop(timer)
//
// go pinba.Flush(request)
//
// fmt.Fprintf(w, "simpleRequest %s", r.URL.Path)
// }
//
// func requestWithTimers(w http.ResponseWriter, r *http.Request) {
//
// request := pinba.Request()
//
// request.SetScriptName(r.URL.Path)
//
// timer := request.TimerStart(&gopinba.Tags{
// "group": "mysql",
// "operation": "connect",
// "from_server": "127.0.0.1",
// "to_server": "192.168.10.101",
// })
//
// // connect to mysql server
//
// request.TimerStop(timer)
//
// timer = request.TimerStart(&gopinba.Tags{
// "group": "mysql",
// "operation": "select",
// "from_server": "127.0.0.1",
// "to_server": "192.168.10.101",
// })
//
// // select from mysql server
//
// request.TimerStop(timer)
//
// timer = request.TimerStart(&gopinba.Tags{
// "group": "web",
// "operation": "fetch_data",
// })
//
// // exec
//
// request.TimerStop(timer)
//
// go pinba.Flush(request)
//
// fmt.Fprintf(w, "requestWithTimers %s", r.URL.Path)
// }
//
// func main() {
//
// pinba = gopinba.New(&gopinba.Options{PinbaHost: "127.0.0.2", PinbaPort: 30002, ServerName: "go-web.local"})
//
// http.HandleFunc("/", simpleRequest)
// http.HandleFunc("/timers/", requestWithTimers)
// http.ListenAndServe(":8080", nil)
// }
//
// Pinba reports
//
// create table report_by_group_operation (
// group_value varchar(64) default null,
// operation_value varchar(64) default null,
// req_count int(11) default null,
// req_per_sec float default null,
// hit_count int(11) default null,
// hit_per_sec float default null,
// timer_value float default null,
// timer_median float default null,
// index_value varchar(256) default null
// ) engine=pinba default charset=latin1 comment='tag2_info:group,operation';
//
// create table report_by_group_operation_from_to (
// script_name varchar(128) default null,
// group_value varchar(64) default null,
// operation_value varchar(64) default null,
// from_server_value varchar(64) default null,
// to_server_value varchar(64) default null,
// req_count int(11) default null,
// req_per_sec float default null,
// hit_count int(11) default null,
// hit_per_sec float default null,
// timer_value float default null,
// timer_median float default null,
// index_value varchar(256) default null
// ) engine=pinba default charset=latin1 comment='tagN_report:group,operation,from_server,to_server';
//
//
package gopinba