diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-07-19 11:31:07 +0300 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-07-19 18:32:12 +0300 |
| commit | 24c0224dd90533bc962d5e1a198cdc464018176c (patch) | |
| tree | 89f2c400f8158e0ef83918f67d4aeb3867e2f799 /internal/server/metrics | |
| parent | f793203e043aaa2db38823c84500e82756348ac0 (diff) | |
Changed session durations metric to classic histogram, added
last_activity to calculate monthly active users
Diffstat (limited to 'internal/server/metrics')
| -rw-r--r-- | internal/server/metrics/metrics.go | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/internal/server/metrics/metrics.go b/internal/server/metrics/metrics.go index d465b6c..e317be6 100644 --- a/internal/server/metrics/metrics.go +++ b/internal/server/metrics/metrics.go @@ -56,9 +56,25 @@ var UsersActive = promauto.NewGauge(prometheus.GaugeOpts{ Help: "The total number of active users", }) +const ( + Minute = 60 + Hour = 60 * Minute + Day = 24 * Hour +) + var SessionDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ - Namespace: namespace, - Name: "session_duration_seconds", - Help: "The duration in seconds of an authenticated session", - NativeHistogramBucketFactor: 1.00271, + Namespace: namespace, + Name: "session_duration_seconds", + Help: "The duration in seconds of an authenticated session", + Buckets: []float64{ + 1, 30, 5 * Minute, 10 * Minute, 30 * Minute, + Hour, 2 * Hour, 3 * Hour, 4 * Hour, + 5 * Hour, 6 * Hour, 7 * Hour, 8 * Hour, + 10 * Hour, 12 * Hour, 14 * Hour, 16 * Hour, + 18 * Hour, 20 * Hour, 22 * Hour, Day, + 2 * Day, 7 * Day, 14 * Day, 28 * Day, + }, + // NativeHistogramBucketFactor: 1.00271, + // NativeHistogramMaxBucketNumber: 100, + // NativeHistogramMinResetDuration: time.Hour, }, []string{"os", "arch", "term", "colorterm"}) |
