feat: add provisionerd prometheus metrics (#4909)

This commit is contained in:
Colin Adler
2022-11-04 19:03:01 -05:00
committed by GitHub
parent 8dd567dd89
commit e740aebf26
5 changed files with 95 additions and 16 deletions

View File

@ -78,7 +78,7 @@ type Options struct {
GoogleTokenValidator *idtoken.Validator
GithubOAuth2Config *GithubOAuth2Config
OIDCConfig *OIDCConfig
PrometheusRegisterer prometheus.Registerer
PrometheusRegistry *prometheus.Registry
SecureAuthCookie bool
SSHKeygenAlgorithm gitsshkey.Algorithm
Telemetry telemetry.Reporter
@ -132,8 +132,8 @@ func New(options *Options) *API {
if options.Authorizer == nil {
options.Authorizer = rbac.NewAuthorizer()
}
if options.PrometheusRegisterer == nil {
options.PrometheusRegisterer = prometheus.NewRegistry()
if options.PrometheusRegistry == nil {
options.PrometheusRegistry = prometheus.NewRegistry()
}
if options.TailnetCoordinator == nil {
options.TailnetCoordinator = tailnet.NewCoordinator()
@ -204,7 +204,7 @@ func New(options *Options) *API {
httpmw.Recover(api.Logger),
httpmw.ExtractRealIP(api.RealIPConfig),
httpmw.Logger(api.Logger),
httpmw.Prometheus(options.PrometheusRegisterer),
httpmw.Prometheus(options.PrometheusRegistry),
// handleSubdomainApplications checks if the first subdomain is a valid
// app URL. If it is, it will serve that application.
api.handleSubdomainApplications(

View File

@ -38,6 +38,7 @@ func ActiveUsers(ctx context.Context, registerer prometheus.Registerer, db datab
return
case <-ticker.C:
}
apiKeys, err := db.GetAPIKeysLastUsedAfter(ctx, database.Now().Add(-1*time.Hour))
if err != nil {
continue
@ -82,6 +83,7 @@ func Workspaces(ctx context.Context, registerer prometheus.Registerer, db databa
return
case <-ticker.C:
}
builds, err := db.GetLatestWorkspaceBuilds(ctx)
if err != nil {
continue