@@ -42,6 +42,7 @@ var httpHost = flag.String("http-host", defaultHTTPHost, "HTTP Host")
4242var httpPort = flag .Int ("http-port" , defaultHTTPPort , "HTTP Port" )
4343var statsdHost = flag .String ("statsd-host" , defaultStatsDHost , "StatsD Host" )
4444var statsdPort = flag .Int ("statsd-port" , defaultStatsDPort , "StatsD Port" )
45+ var metricPrefix = flag .String ("metric-prefix" , "" , "Prefix of metric name" )
4546var tokenSecret = flag .String ("jwt-secret" , "" , "Secret to encrypt JWT" )
4647var verbose = flag .Bool ("verbose" , false , "Verbose" )
4748var version = flag .Bool ("version" , false , "Show version" )
@@ -66,6 +67,11 @@ func main() {
6667 log .SetOutput (ioutil .Discard )
6768 }
6869
70+ // prepare metric prefix
71+ if * metricPrefix != "" && (* metricPrefix )[len (* metricPrefix ) - 1 :] != "." {
72+ * metricPrefix = * metricPrefix + "."
73+ }
74+
6975 // create HTTP router
7076 router := mux .NewRouter ().StrictSlash (true )
7177
@@ -176,7 +182,7 @@ func handleHeartbeatRequest(w http.ResponseWriter, r *http.Request) {
176182func handleCountRequest (w http.ResponseWriter , r * http.Request ) {
177183 // get key
178184 vars := mux .Vars (r )
179- key := vars ["key" ]
185+ key := * metricPrefix + vars ["key" ]
180186
181187 // get count value
182188 var value = 1
@@ -209,7 +215,7 @@ func handleCountRequest(w http.ResponseWriter, r *http.Request) {
209215func handleGaugeRequest (w http.ResponseWriter , r * http.Request ) {
210216 // get key
211217 vars := mux .Vars (r )
212- key := vars ["key" ]
218+ key := * metricPrefix + vars ["key" ]
213219
214220 // get gauge shift
215221 shiftPostFormValue := r .PostFormValue ("shift" )
@@ -246,7 +252,7 @@ func handleGaugeRequest(w http.ResponseWriter, r *http.Request) {
246252func handleTimingRequest (w http.ResponseWriter , r * http.Request ) {
247253 // get key
248254 vars := mux .Vars (r )
249- key := vars ["key" ]
255+ key := * metricPrefix + vars ["key" ]
250256
251257 // get timing
252258 time , err := strconv .ParseInt (r .PostFormValue ("time" ), 10 , 64 )
@@ -273,7 +279,7 @@ func handleTimingRequest(w http.ResponseWriter, r *http.Request) {
273279func handleSetRequest (w http.ResponseWriter , r * http.Request ) {
274280 // get key
275281 vars := mux .Vars (r )
276- key := vars ["key" ]
282+ key := * metricPrefix + vars ["key" ]
277283
278284 // get set value
279285 var value = 1
0 commit comments