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

Method TemplateBuildTimeStats

coderd/metricscache/metricscache.go:220–261  ·  view source on GitHub ↗
(id uuid.UUID)

Source from the content-addressed store, hash-verified

218}
219
220func (c *Cache) TemplateBuildTimeStats(id uuid.UUID) codersdk.TemplateBuildTimeStats {
221 unknown := codersdk.TemplateBuildTimeStats{
222 codersdk.WorkspaceTransitionStart: {},
223 codersdk.WorkspaceTransitionStop: {},
224 codersdk.WorkspaceTransitionDelete: {},
225 }
226
227 m := c.templateAverageBuildTime.Load()
228 if m == nil {
229 // Data loading.
230 return unknown
231 }
232
233 resp, ok := (*m)[id]
234 if !ok {
235 // No data or not enough builds.
236 return unknown
237 }
238
239 convertMillis := func(m float64) *int64 {
240 if m <= 0 {
241 return nil
242 }
243 i := int64(m * 1000)
244 return &i
245 }
246
247 return codersdk.TemplateBuildTimeStats{
248 codersdk.WorkspaceTransitionStart: {
249 P50: convertMillis(resp.Start50),
250 P95: convertMillis(resp.Start95),
251 },
252 codersdk.WorkspaceTransitionStop: {
253 P50: convertMillis(resp.Stop50),
254 P95: convertMillis(resp.Stop95),
255 },
256 codersdk.WorkspaceTransitionDelete: {
257 P50: convertMillis(resp.Delete50),
258 P95: convertMillis(resp.Delete95),
259 },
260 }
261}
262
263func (c *Cache) TemplateWorkspaceOwners(id uuid.UUID) (int, bool) {
264 m := c.templateWorkspaceOwners.Load()

Callers 2

convertTemplateMethod · 0.80
TestCache_BuildTimeFunction · 0.80

Calls 1

LoadMethod · 0.45

Tested by 1

TestCache_BuildTimeFunction · 0.64