Skip to content

Commit

Permalink
Don't use full URL as metric label on unmatched path (#108)
Browse files Browse the repository at this point in the history
Random people on the Internet can send in arbitrary paths, so collapse
them all into "other" when reporting metrics.
  • Loading branch information
bboreham authored Jul 25, 2018
1 parent 4d96fd8 commit 0967b51
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions middleware/instrument.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,7 @@ func (i Instrument) Wrap(next http.Handler) http.Handler {
// 2. The request matches an unamed gorilla mux router. Munge the path
// template such that templates like '/api/{org}/foo' come out as
// 'api_org_foo'.
// 3. The request doesn't match a mux route. Munge the Path in the same
// manner as (2).
// 3. The request doesn't match a mux route. Return "other"
// We do all this as we do not wish to emit high cardinality labels to
// prometheus.
func (i Instrument) getRouteName(r *http.Request) string {
Expand All @@ -74,7 +73,7 @@ func (i Instrument) getRouteName(r *http.Request) string {
return MakeLabelValue(tmpl)
}
}
return MakeLabelValue(r.URL.Path)
return "other"
}

var invalidChars = regexp.MustCompile(`[^a-zA-Z0-9]+`)
Expand Down

0 comments on commit 0967b51

Please sign in to comment.