alice-lg/pkg/backend/status.go
2021-04-15 19:40:53 +02:00

38 lines
918 B
Go

package backend
// Version Alice (set during the build)
var Version = "unknown"
// Build is the current revision pointing at HEAD
var Build = "unknown"
// AppStatus contains application status information
type AppStatus struct {
Version string `json:"version"`
Routes RoutesStoreStats `json:"routes"`
Neighbours NeighboursStoreStats `json:"neighbours"`
}
// NewAppStatus calculates the application status,
// and perform health checks on backends.
//
// TODO: Rename this.
func NewAppStatus() (*AppStatus, error) {
routesStatus := RoutesStoreStats{}
if AliceRoutesStore != nil {
routesStatus = AliceRoutesStore.Stats()
}
neighboursStatus := NeighboursStoreStats{}
if AliceRoutesStore != nil {
neighboursStatus = AliceNeighboursStore.Stats()
}
status := &AppStatus{
Version: Version,
Routes: routesStatus,
Neighbours: neighboursStatus,
}
return status, nil
}