Public Dashboards: count public dashboards view requests (#52419)

pull/52193/head
Ezequiel Victorero 3 years ago committed by GitHub
parent 0300b1c674
commit e0a58300ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      pkg/api/api.go
  2. 10
      pkg/infra/metrics/metrics.go
  3. 11
      pkg/services/publicdashboards/api/middleware.go

@ -113,7 +113,7 @@ func (hs *HTTPServer) registerRoutes() {
} }
if hs.Features.IsEnabled(featuremgmt.FlagPublicDashboards) { if hs.Features.IsEnabled(featuremgmt.FlagPublicDashboards) {
r.Get("/public-dashboards/:accessToken", publicdashboardsapi.SetPublicDashboardFlag(), hs.Index) r.Get("/public-dashboards/:accessToken", publicdashboardsapi.SetPublicDashboardFlag(), publicdashboardsapi.CountPublicDashboardRequest(), hs.Index)
} }
r.Get("/explore", authorize(func(c *models.ReqContext) { r.Get("/explore", authorize(func(c *models.ReqContext) {

@ -101,6 +101,9 @@ var (
// MAccessEvaluationCount is a metric gauge for total number of evaluation requests // MAccessEvaluationCount is a metric gauge for total number of evaluation requests
MAccessEvaluationCount prometheus.Counter MAccessEvaluationCount prometheus.Counter
// MPublicDashboardRequestCount is a metric counter for public dashboards requests
MPublicDashboardRequestCount prometheus.Counter
) )
// Timers // Timers
@ -410,6 +413,12 @@ func init() {
Namespace: ExporterName, Namespace: ExporterName,
}) })
MPublicDashboardRequestCount = metricutil.NewCounterStartingAtZero(prometheus.CounterOpts{
Name: "public_dashboard_request_count",
Help: "counter for public dashboards requests",
Namespace: ExporterName,
})
MStatTotalDashboards = prometheus.NewGauge(prometheus.GaugeOpts{ MStatTotalDashboards = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "stat_totals_dashboard", Name: "stat_totals_dashboard",
Help: "total amount of dashboards", Help: "total amount of dashboards",
@ -654,5 +663,6 @@ func initMetricVars() {
StatsTotalLibraryVariables, StatsTotalLibraryVariables,
StatsTotalDataKeys, StatsTotalDataKeys,
MStatTotalPublicDashboards, MStatTotalPublicDashboards,
MPublicDashboardRequestCount,
) )
} }

@ -1,9 +1,18 @@
package api package api
import "github.com/grafana/grafana/pkg/models" import (
"github.com/grafana/grafana/pkg/infra/metrics"
"github.com/grafana/grafana/pkg/models"
)
func SetPublicDashboardFlag() func(c *models.ReqContext) { func SetPublicDashboardFlag() func(c *models.ReqContext) {
return func(c *models.ReqContext) { return func(c *models.ReqContext) {
c.IsPublicDashboardView = true c.IsPublicDashboardView = true
} }
} }
func CountPublicDashboardRequest() func(c *models.ReqContext) {
return func(c *models.ReqContext) {
metrics.MPublicDashboardRequestCount.Inc()
}
}

Loading…
Cancel
Save