mirror of
https://github.com/ProtonMail/go-proton-api.git
synced 2025-12-23 23:57:50 -05:00
33 lines
888 B
Go
33 lines
888 B
Go
package backend
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/ProtonMail/go-proton-api"
|
|
)
|
|
|
|
type ObservabilityStatistics struct {
|
|
Metrics []proton.ObservabilityMetric
|
|
RequestTime []time.Time
|
|
}
|
|
|
|
func NewObservabilityStatistics() ObservabilityStatistics {
|
|
return ObservabilityStatistics{
|
|
Metrics: make([]proton.ObservabilityMetric, 0),
|
|
RequestTime: make([]time.Time, 0),
|
|
}
|
|
}
|
|
|
|
func (b *Backend) PushObservabilityMetrics(metrics []proton.ObservabilityMetric) {
|
|
writeBackend(b, func(b *unsafeBackend) {
|
|
b.observabilityStatistics.Metrics = append(b.observabilityStatistics.Metrics, metrics...)
|
|
b.observabilityStatistics.RequestTime = append(b.observabilityStatistics.RequestTime, time.Now())
|
|
})
|
|
}
|
|
|
|
func (b *Backend) GetObservabilityStatistics() ObservabilityStatistics {
|
|
return readBackendRet(b, func(b *unsafeBackend) ObservabilityStatistics {
|
|
return b.observabilityStatistics
|
|
})
|
|
}
|