MCPcopy Index your code
hub / github.com/coder/coder / NewMetrics

Function NewMetrics

provisionerd/provisionerd.go:159–216  ·  view source on GitHub ↗
(reg prometheus.Registerer)

Source from the content-addressed store, hash-verified

157}
158
159func NewMetrics(reg prometheus.Registerer) Metrics {
160 auto := promauto.With(reg)
161
162 return Metrics{
163 Runner: runner.Metrics{
164 ConcurrentJobs: auto.NewGaugeVec(prometheus.GaugeOpts{
165 Namespace: "coderd",
166 Subsystem: "provisionerd",
167 Name: "jobs_current",
168 Help: "The number of currently running provisioner jobs.",
169 }, []string{"provisioner"}),
170 NumDaemons: auto.NewGauge(prometheus.GaugeOpts{
171 Namespace: "coderd",
172 Subsystem: "provisionerd",
173 Name: "num_daemons",
174 Help: "The number of provisioner daemons.",
175 }),
176 JobTimings: auto.NewHistogramVec(prometheus.HistogramOpts{
177 Namespace: "coderd",
178 Subsystem: "provisionerd",
179 Name: "job_timings_seconds",
180 Help: "The provisioner job time duration in seconds.",
181 Buckets: []float64{
182 1, // 1s
183 10,
184 30,
185 60, // 1min
186 60 * 5,
187 60 * 10,
188 60 * 30, // 30min
189 60 * 60, // 1hr
190 },
191 }, []string{"provisioner", "status"}),
192 WorkspaceBuilds: auto.NewCounterVec(prometheus.CounterOpts{
193 Namespace: "coderd",
194 Subsystem: "", // Explicitly empty to make this a top-level metric.
195 Name: "workspace_builds_total",
196 Help: "The number of workspaces started, updated, or deleted.",
197 }, []string{"workspace_owner", "workspace_name", "template_name", "template_version", "workspace_transition", "status"}),
198 WorkspaceBuildTimings: auto.NewHistogramVec(prometheus.HistogramOpts{
199 Namespace: "coderd",
200 Subsystem: "provisionerd",
201 Name: "workspace_build_timings_seconds",
202 Help: "The time taken for a workspace to build.",
203 Buckets: []float64{
204 1, // 1s
205 10,
206 30,
207 60, // 1min
208 60 * 5,
209 60 * 10,
210 60 * 30, // 30min
211 60 * 60, // 1hr
212 },
213 }, []string{"template_name", "template_version", "workspace_transition", "status"}),
214 },
215 }
216}

Callers 3

ServerMethod · 0.92
NewFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected