Skip to content
This repository was archived by the owner on Jan 21, 2019. It is now read-only.

Commit aa71dd8

Browse files
committed
metric prefix
1 parent 4e2abda commit aa71dd8

File tree

2 files changed

+26
-6
lines changed

2 files changed

+26
-6
lines changed

README.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,22 @@ statsd-rest-server \
3636
--http-port=8080 \
3737
--statsd-host=127.0.0.1 \
3838
--statsd-port=8125 \
39-
--jwt-secret=somesecret
40-
```
39+
--jwt-secret=somesecret \
40+
--metric-prefix=prefix.subprefix
41+
```
42+
43+
Command line arguments:
44+
45+
| Parameter | Description | Default value |
46+
|-----------------|--------------------------------------|--------------------------------------------------------------------------------|
47+
| verbose | Print debug info to stderr | Optional. Default false |
48+
| http-host | Host of HTTP server | Optional. Default 127.0.0.1. To accept connections on any interface, set to "" |
49+
| http-port | Port of HTTP server | Optional. Default 80 |
50+
| statsd-host | Host of StatsD instance | Optional. Default 127.0.0.1 |
51+
| statsd-port | Port of StatsD instance | Optional. Default 8125 |
52+
| jwt-secret | JWT token secret | Optional. If not set, server accepts all connections |
53+
| metric-prefix | Prefix, added to any metric name | Optional. If not set, do not add prefix |
54+
| version | Print version of server and exit | Optional |
4155

4256
## Authentication
4357

main.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ var httpHost = flag.String("http-host", defaultHTTPHost, "HTTP Host")
4242
var httpPort = flag.Int("http-port", defaultHTTPPort, "HTTP Port")
4343
var statsdHost = flag.String("statsd-host", defaultStatsDHost, "StatsD Host")
4444
var statsdPort = flag.Int("statsd-port", defaultStatsDPort, "StatsD Port")
45+
var metricPrefix = flag.String("metric-prefix", "", "Prefix of metric name")
4546
var tokenSecret = flag.String("jwt-secret", "", "Secret to encrypt JWT")
4647
var verbose = flag.Bool("verbose", false, "Verbose")
4748
var 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) {
176182
func 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) {
209215
func 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) {
246252
func 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) {
273279
func 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

Comments
 (0)