[Alerting] Automatic request instrumentation (#33444)

* alerting: automatic request instrumentation

* always expose alerting prom metrics

* globally register alerting metrics
This commit is contained in:
Owen Diehl
2021-04-28 16:59:15 -04:00
committed by GitHub
parent ef9f99645d
commit ec37b4cb87
10 changed files with 393 additions and 90 deletions
@@ -16,9 +16,18 @@ type {{classname}}Service interface { {{#operation}}
{{nickname}}(*models.ReqContext{{#bodyParams}}, apimodels.{{dataType}}{{/bodyParams}}) response.Response{{/operation}}
}
func (api *API) Register{{classname}}Endpoints(srv {{classname}}Service) {
func (api *API) Register{{classname}}Endpoints(srv {{classname}}Service, metrics *Metrics) {
api.RouteRegister.Group("", func(group routing.RouteRegister){ {{#operations}}{{#operation}}
group.{{httpMethod}}(toMacaronPath("{{{path}}}"){{#bodyParams}}, binding.Bind(apimodels.{{dataType}}{}){{/bodyParams}}, routing.Wrap(srv.{{nickname}})){{/operation}}{{/operations}}
group.{{httpMethod}}(
toMacaronPath("{{{path}}}"){{#bodyParams}},
binding.Bind(apimodels.{{dataType}}{}){{/bodyParams}},
Instrument(
http.Method{{httpMethod}},
"{{{path}}}",
srv.{{nickname}},
metrics,
),
){{/operation}}{{/operations}}
}, middleware.ReqSignedIn)
}{{#operation}}
{{/operation}}{{/operations}}