@@ -38,6 +38,8 @@ type metrics struct {
38
38
manager * Manager
39
39
40
40
startupTimeHistVec * prometheus.HistogramVec
41
+ initializeTimeHistVec * prometheus.HistogramVec
42
+ finalizeTimeHistVec * prometheus.HistogramVec
41
43
totalStartsCounterVec * prometheus.CounterVec
42
44
totalStopsCounterVec * prometheus.CounterVec
43
45
totalOpenPortGauge prometheus.GaugeFunc
@@ -58,6 +60,20 @@ func newMetrics(m *Manager) *metrics {
58
60
// same as components/ws-manager-bridge/src/prometheus-metrics-exporter.ts#L15
59
61
Buckets : prometheus .ExponentialBuckets (2 , 2 , 10 ),
60
62
}, []string {"type" }),
63
+ initializeTimeHistVec : prometheus .NewHistogramVec (prometheus.HistogramOpts {
64
+ Namespace : metricsNamespace ,
65
+ Subsystem : metricsWorkspaceSubsystem ,
66
+ Name : "workspace_initialize_seconds" ,
67
+ Help : "time it took to initialize workspace" ,
68
+ Buckets : prometheus .ExponentialBuckets (2 , 2 , 10 ),
69
+ }, []string {"type" }),
70
+ finalizeTimeHistVec : prometheus .NewHistogramVec (prometheus.HistogramOpts {
71
+ Namespace : metricsNamespace ,
72
+ Subsystem : metricsWorkspaceSubsystem ,
73
+ Name : "workspace_finalize_seconds" ,
74
+ Help : "time it took to finalize workspace" ,
75
+ Buckets : prometheus .ExponentialBuckets (2 , 2 , 10 ),
76
+ }, []string {"type" }),
61
77
totalStartsCounterVec : prometheus .NewCounterVec (prometheus.CounterOpts {
62
78
Namespace : metricsNamespace ,
63
79
Subsystem : metricsWorkspaceSubsystem ,
@@ -118,6 +134,8 @@ func newTotalOpenPortGaugeHandler(m *Manager) func() float64 {
118
134
func (m * metrics ) Register (reg prometheus.Registerer ) error {
119
135
collectors := []prometheus.Collector {
120
136
m .startupTimeHistVec ,
137
+ m .initializeTimeHistVec ,
138
+ m .finalizeTimeHistVec ,
121
139
newPhaseTotalVec (m .manager ),
122
140
newWorkspaceActivityVec (m .manager ),
123
141
newTimeoutSettingsVec (m .manager ),
0 commit comments