@@ -79,23 +79,22 @@ func Workspaces(ctx context.Context, logger slog.Logger, registerer prometheus.R
79
79
duration = defaultRefreshRate
80
80
}
81
81
82
- workspaceStatuses := prometheus .NewGaugeVec (prometheus.GaugeOpts {
82
+ workspaceStatusTotals := prometheus .NewGaugeVec (prometheus.GaugeOpts {
83
83
Namespace : "coderd" ,
84
84
Subsystem : "api" ,
85
85
Name : "workspace_latest_build_total" ,
86
86
Help : "The current number of workspace builds by status." ,
87
87
}, []string {"status" })
88
- if err := registerer .Register (workspaceStatuses ); err != nil {
88
+ if err := registerer .Register (workspaceStatusTotals ); err != nil {
89
89
return nil , err
90
90
}
91
91
92
- workspaceDetails := prometheus .NewGaugeVec (prometheus.GaugeOpts {
92
+ workspaceStatuses := prometheus .NewGaugeVec (prometheus.GaugeOpts {
93
93
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 {
99
98
return nil , err
100
99
}
101
100
@@ -107,7 +106,7 @@ func Workspaces(ctx context.Context, logger slog.Logger, registerer prometheus.R
107
106
if err != nil {
108
107
if errors .Is (err , sql .ErrNoRows ) {
109
108
// clear all series if there are no database entries
110
- workspaceStatuses .Reset ()
109
+ workspaceStatusTotals .Reset ()
111
110
}
112
111
113
112
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
128
127
return
129
128
}
130
129
131
- workspaceStatuses .Reset ()
130
+ workspaceStatusTotals .Reset ()
132
131
for _ , job := range jobs {
133
132
status := codersdk .ProvisionerJobStatus (job .JobStatus )
134
- workspaceStatuses .WithLabelValues (string (status )).Add (1 )
133
+ workspaceStatusTotals .WithLabelValues (string (status )).Add (1 )
135
134
}
136
135
}
137
136
@@ -143,16 +142,16 @@ func Workspaces(ctx context.Context, logger slog.Logger, registerer prometheus.R
143
142
if err != nil {
144
143
if errors .Is (err , sql .ErrNoRows ) {
145
144
// clear all series if there are no database entries
146
- workspaceDetails .Reset ()
145
+ workspaceStatuses .Reset ()
147
146
}
148
147
149
148
logger .Warn (ctx , "failed to load active workspaces" , slog .Error (err ))
150
149
return
151
150
}
152
151
153
- workspaceDetails .Reset ()
152
+ workspaceStatuses .Reset ()
154
153
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 )
156
155
}
157
156
}
158
157
0 commit comments