Skip to content

Commit a333f98

Browse files
committed
Remove workspace cardinality; rename for clarity
Signed-off-by: Danny Kopping <danny@coder.com>
1 parent acd104c commit a333f98

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

coderd/prometheusmetrics/prometheusmetrics.go

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -79,23 +79,22 @@ func Workspaces(ctx context.Context, logger slog.Logger, registerer prometheus.R
7979
duration = defaultRefreshRate
8080
}
8181

82-
workspaceStatuses := prometheus.NewGaugeVec(prometheus.GaugeOpts{
82+
workspaceStatusTotals := prometheus.NewGaugeVec(prometheus.GaugeOpts{
8383
Namespace: "coderd",
8484
Subsystem: "api",
8585
Name: "workspace_latest_build_total",
8686
Help: "The current number of workspace builds by status.",
8787
}, []string{"status"})
88-
if err := registerer.Register(workspaceStatuses); err != nil {
88+
if err := registerer.Register(workspaceStatusTotals); err != nil {
8989
return nil, err
9090
}
9191

92-
workspaceDetails := prometheus.NewGaugeVec(prometheus.GaugeOpts{
92+
workspaceStatuses := prometheus.NewGaugeVec(prometheus.GaugeOpts{
9393
Namespace: "coderd",
94-
Subsystem: "api",
95-
Name: "workspace_detail",
96-
Help: "The current workspace details by template, transition, owner, and status.",
97-
}, []string{"status", "template_name", "template_version", "workspace_name", "workspace_owner", "workspace_transition"})
98-
if err := registerer.Register(workspaceDetails); err != nil {
94+
Name: "workspace_latest_build_status",
95+
Help: "The current workspace statuses by template, transition, and owner.",
96+
}, []string{"status", "template_name", "template_version", "workspace_owner", "workspace_transition"})
97+
if err := registerer.Register(workspaceStatuses); err != nil {
9998
return nil, err
10099
}
101100

@@ -107,7 +106,7 @@ func Workspaces(ctx context.Context, logger slog.Logger, registerer prometheus.R
107106
if err != nil {
108107
if errors.Is(err, sql.ErrNoRows) {
109108
// clear all series if there are no database entries
110-
workspaceStatuses.Reset()
109+
workspaceStatusTotals.Reset()
111110
}
112111

113112
logger.Warn(ctx, "failed to load latest workspace builds", slog.Error(err))
@@ -128,10 +127,10 @@ func Workspaces(ctx context.Context, logger slog.Logger, registerer prometheus.R
128127
return
129128
}
130129

131-
workspaceStatuses.Reset()
130+
workspaceStatusTotals.Reset()
132131
for _, job := range jobs {
133132
status := codersdk.ProvisionerJobStatus(job.JobStatus)
134-
workspaceStatuses.WithLabelValues(string(status)).Add(1)
133+
workspaceStatusTotals.WithLabelValues(string(status)).Add(1)
135134
}
136135
}
137136

@@ -143,16 +142,16 @@ func Workspaces(ctx context.Context, logger slog.Logger, registerer prometheus.R
143142
if err != nil {
144143
if errors.Is(err, sql.ErrNoRows) {
145144
// clear all series if there are no database entries
146-
workspaceDetails.Reset()
145+
workspaceStatuses.Reset()
147146
}
148147

149148
logger.Warn(ctx, "failed to load active workspaces", slog.Error(err))
150149
return
151150
}
152151

153-
workspaceDetails.Reset()
152+
workspaceStatuses.Reset()
154153
for _, w := range ws {
155-
workspaceDetails.WithLabelValues(string(w.LatestBuildStatus), w.TemplateName, w.TemplateVersionName.String, w.Name, w.Username, string(w.LatestBuildTransition)).Set(1)
154+
workspaceStatuses.WithLabelValues(string(w.LatestBuildStatus), w.TemplateName, w.TemplateVersionName.String, w.Username, string(w.LatestBuildTransition)).Add(1)
156155
}
157156
}
158157

0 commit comments

Comments
 (0)