diff --git a/core/service-status.go b/core/service-status.go index 92102dd7..8472353e 100644 --- a/core/service-status.go +++ b/core/service-status.go @@ -2,6 +2,9 @@ package core // ServiceStatus contains the evaluation Results of a Service type ServiceStatus struct { + // Name of the service + Name string `json:"name,omitempty"` + // Group the service is a part of. Used for grouping multiple services together on the front end. Group string `json:"group,omitempty"` @@ -12,6 +15,7 @@ type ServiceStatus struct { // NewServiceStatus creates a new ServiceStatus func NewServiceStatus(service *Service) *ServiceStatus { return &ServiceStatus{ + Name: service.Name, Group: service.Group, Results: make([]*Result, 0), } diff --git a/core/service-status_test.go b/core/service-status_test.go index 4e833dfd..3963e8ac 100644 --- a/core/service-status_test.go +++ b/core/service-status_test.go @@ -3,15 +3,18 @@ package core import "testing" func TestNewServiceStatus(t *testing.T) { - service := &Service{Group: "test"} + service := &Service{Name: "name", Group: "group"} serviceStatus := NewServiceStatus(service) + if serviceStatus.Name != service.Name { + t.Errorf("expected %s, got %s", service.Name, serviceStatus.Name) + } if serviceStatus.Group != service.Group { t.Errorf("expected %s, got %s", service.Group, serviceStatus.Group) } } func TestServiceStatus_AddResult(t *testing.T) { - service := &Service{Group: "test"} + service := &Service{Name: "name", Group: "group"} serviceStatus := NewServiceStatus(service) for i := 0; i < 50; i++ { serviceStatus.AddResult(&Result{}) diff --git a/static/index.html b/static/index.html index a80e0081..1565f084 100644 --- a/static/index.html +++ b/static/index.html @@ -219,11 +219,11 @@ } } - function createStatusBadge(serviceName, index, success) { + function createStatusBadge(serviceStatusIndex, index, success) { if (success) { - return "✓"; + return "✓"; } - return "X"; + return "X"; } function refreshStatuses() { @@ -238,17 +238,17 @@ function buildTable() { let outputByGroup = {}; - for (let serviceName in serviceStatuses) { + for (let serviceStatusIndex in serviceStatuses) { let serviceStatusOverTime = ""; - let serviceStatus = serviceStatuses[serviceName]; + let serviceStatus = serviceStatuses[serviceStatusIndex]; let hostname = serviceStatus.results[serviceStatus.results.length-1].hostname; let minResponseTime = null; let maxResponseTime = null; let newestTimestamp = null; let oldestTimestamp = null; - for (let key in serviceStatus.results) { - let serviceResult = serviceStatus.results[key]; - serviceStatusOverTime = createStatusBadge(serviceName, key, serviceResult.success) + serviceStatusOverTime; + for (let resultIndex in serviceStatus.results) { + let serviceResult = serviceStatus.results[resultIndex]; + serviceStatusOverTime = createStatusBadge(serviceStatusIndex, resultIndex, serviceResult.success) + serviceStatusOverTime; const responseTime = parseInt(serviceResult.duration/1000000); if (minResponseTime == null || minResponseTime > responseTime) { minResponseTime = responseTime; @@ -268,7 +268,7 @@ + "