1
0
mirror of https://github.com/alice-lg/alice-lg.git synced 2024-05-11 05:55:03 +00:00
alice-lg-alice-lg/backend/store_stats.go
2017-06-23 17:40:19 +02:00

79 lines
1.7 KiB
Go

package main
import (
"log"
"time"
)
// Routes Store
type RoutesStats struct {
Filtered int `json:"filtered"`
Imported int `json:"imported"`
}
type RouteServerRoutesStats struct {
Name string `json:"name"`
Routes RoutesStats `json:"routes"`
State string `json:"state"`
UpdatedAt time.Time `json:"updated_at"`
}
type RoutesStoreStats struct {
TotalRoutes RoutesStats `json:"total_routes"`
RouteServers []RouteServerRoutesStats `json:"route_servers"`
}
// Write stats to the log
func (stats RoutesStoreStats) Log() {
log.Println("Routes store:")
log.Println(" Routes Imported:",
stats.TotalRoutes.Imported,
"Filtered:",
stats.TotalRoutes.Filtered)
log.Println(" Routeservers:")
for _, rs := range stats.RouteServers {
log.Println(" -", rs.Name)
log.Println(" State:", rs.State)
log.Println(" UpdatedAt:", rs.UpdatedAt)
log.Println(" Routes Imported:",
rs.Routes.Imported,
"Filtered:",
rs.Routes.Filtered)
}
}
// Neighbours Store
type RouteServerNeighboursStats struct {
Name string `json:"name"`
State string `json:"state"`
Neighbours int `json:"neighbours"`
UpdatedAt time.Time `json:"updated_at"`
}
type NeighboursStoreStats struct {
TotalNeighbours int `json:"total_neighbours"`
RouteServers []RouteServerNeighboursStats `json:"route_servers"`
}
// Print stats
func (stats NeighboursStoreStats) Log() {
log.Println("Neighbours store:")
log.Println(" Neighbours:",
stats.TotalNeighbours)
for _, rs := range stats.RouteServers {
log.Println(" -", rs.Name)
log.Println(" State:", rs.State)
log.Println(" UpdatedAt:", rs.UpdatedAt)
log.Println(" Neighbours:",
rs.Neighbours)
}
}