Files
zeekay 94407c2972 Initial commit: Rebranded status page (Gatus fork)
White-labelable status monitoring service with all Gatus branding
removed. Defaults to neutral "Status" text. Branding is driven
entirely by the ui section in config YAML.

- Pure Go build (CGO_ENABLED=0, modernc.org/sqlite)
- Multi-stage Dockerfile (node frontend + go backend + alpine runtime)
- K8s kustomize overlays for hanzo and lux deployments
- GitHub Actions CI for GHCR image push
- Pre-built Vue frontend with zero upstream branding
2026-02-25 19:36:13 -08:00

25 lines
909 B
Go

package endpoint
// Uptime is the struct that contains the relevant data for calculating the uptime as well as the uptime itself
// and some other statistics
type Uptime struct {
// HourlyStatistics is a map containing metrics collected (value) for every hourly unix timestamps (key)
//
// Used only if the storage type is memory
HourlyStatistics map[int64]*HourlyUptimeStatistics `json:"-"`
}
// HourlyUptimeStatistics is a struct containing all metrics collected over the course of an hour
type HourlyUptimeStatistics struct {
TotalExecutions uint64 // Total number of checks
SuccessfulExecutions uint64 // Number of successful executions
TotalExecutionsResponseTime uint64 // Total response time for all executions in milliseconds
}
// NewUptime creates a new Uptime
func NewUptime() *Uptime {
return &Uptime{
HourlyStatistics: make(map[int64]*HourlyUptimeStatistics),
}
}