Skip to content

Commit 81b4aa8

Browse files
committed
Create a startup time metric
1 parent eb0edda commit 81b4aa8

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

pkg/driver/driver.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ type Option func(*NetworkDriver)
106106

107107
func Start(ctx context.Context, driverName string, kubeClient kubernetes.Interface, nodeName string, opts ...Option) (*NetworkDriver, error) {
108108
registerMetrics()
109+
begin := time.Now()
110+
defer func() {
111+
startupDurationSeconds.Set(time.Since(begin).Seconds())
112+
}()
109113

110114
rdmaNetnsMode, err := nlwrap.RdmaSystemGetNetnsMode()
111115
if err != nil {

pkg/driver/metrics.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ func registerMetrics() {
4747
prometheus.MustRegister(nriPluginRequestsLatencySeconds)
4848
prometheus.MustRegister(publishedDevicesTotal)
4949
prometheus.MustRegister(lastPublishedTime)
50+
prometheus.MustRegister(startupTime)
5051
})
5152
}
5253

@@ -87,4 +88,10 @@ var (
8788
Name: "last_published_time_seconds",
8889
Help: "The timestamp of the last successful resource publication.",
8990
})
91+
startupDurationSeconds = prometheus.NewGauge(prometheus.GaugeOpts{
92+
Namespace: "dranet",
93+
Subsystem: "driver",
94+
Name: "startup_duration_seconds",
95+
Help: "The duration of the driver startup.",
96+
})
9097
)

0 commit comments

Comments
 (0)