You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by el...@apache.org on 2017/01/24 15:39:27 UTC

[05/10] incubator-trafficcontrol git commit: return a string instead of Stat struct

return a string instead of Stat struct


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/7adadd54
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/7adadd54
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/7adadd54

Branch: refs/heads/master
Commit: 7adadd5468f157adcc07320581171c00d8b5e847
Parents: 86c1166
Author: David Neuman <da...@gmail.com>
Authored: Tue Jan 17 14:08:22 2017 -0700
Committer: Jeff Elsloo <je...@cable.comcast.com>
Committed: Tue Jan 24 08:38:45 2017 -0700

----------------------------------------------------------------------
 .../traffic_monitor/deliveryservice/stat.go     | 23 +++++++++++---------
 1 file changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/7adadd54/traffic_monitor/experimental/traffic_monitor/deliveryservice/stat.go
----------------------------------------------------------------------
diff --git a/traffic_monitor/experimental/traffic_monitor/deliveryservice/stat.go b/traffic_monitor/experimental/traffic_monitor/deliveryservice/stat.go
index d93fb7e..6000012 100644
--- a/traffic_monitor/experimental/traffic_monitor/deliveryservice/stat.go
+++ b/traffic_monitor/experimental/traffic_monitor/deliveryservice/stat.go
@@ -106,7 +106,14 @@ func addAvailableData(dsStats Stats, crStates peer.Crstates, serverCachegroups m
 			}
 
 			if available.IsAvailable {
-				setDsState(deliveryService, &stat, mc)
+				stat.CommonStats.IsAvailable.Value = true
+				stat.CommonStats.IsHealthy.Value = true
+				errStr := getDsErrString(deliveryService, stat, mc)
+				if errStr != "" {
+					stat.CommonStats.IsAvailable.Value = false
+					stat.CommonStats.IsHealthy.Value = false
+					stat.CommonStats.ErrorStr.Value = errStr
+				}
 				stat.CommonStats.CachesAvailableNum.Value++
 				cacheGroupStats := stat.CacheGroups[cacheGroup]
 				cacheGroupStats.IsAvailable.Value = true
@@ -506,19 +513,15 @@ func (s Stats) JSON(filter dsdata.Filter, params url.Values) dsdata.StatsOld {
 	return *jsonObj
 }
 
-func setDsState(dsName enum.DeliveryServiceName, dsStats *dsdata.Stat, monitorConfig to.TrafficMonitorConfigMap) {
+func getDsErrString(dsName enum.DeliveryServiceName, dsStats dsdata.Stat, monitorConfig to.TrafficMonitorConfigMap) string {
 	dsNameString := fmt.Sprintf("%s", dsName)
-	dsStats.CommonStats.IsAvailable.Value = true
-	dsStats.CommonStats.IsHealthy.Value = true
 
 	if dsStats.Total().TpsTotal.Value > monitorConfig.DeliveryService[dsNameString].TotalTPSThreshold {
-		dsStats.CommonStats.ErrorStr.Value = fmt.Sprintf("TPSTotal too high (%v > %v)", dsStats.Total().TpsTotal.Value, monitorConfig.DeliveryService[dsNameString].TotalTPSThreshold)
-		dsStats.CommonStats.IsAvailable.Value = false
-		dsStats.CommonStats.IsHealthy.Value = false
+		return fmt.Sprintf("TPSTotal too high (%v > %v)", dsStats.Total().TpsTotal.Value, monitorConfig.DeliveryService[dsNameString].TotalTPSThreshold)
+
 	}
 	if dsStats.Total().Kbps.Value > float64(monitorConfig.DeliveryService[dsNameString].TotalKbpsThreshold) {
-		dsStats.CommonStats.ErrorStr.Value = fmt.Sprintf("TotalKbps too high (%v > %v)", dsStats.Total().Kbps.Value, monitorConfig.DeliveryService[dsNameString].TotalTPSThreshold)
-		dsStats.CommonStats.IsAvailable.Value = false
-		dsStats.CommonStats.IsHealthy.Value = false
+		return fmt.Sprintf("TotalKbps too high (%v > %v)", dsStats.Total().Kbps.Value, monitorConfig.DeliveryService[dsNameString].TotalTPSThreshold)
 	}
+	return ""
 }