38 lines
918 B
Go
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
|
|
}
|