Add TM2 MonitorConfig err logs, API endpoint

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

Branch: refs/heads/master
Commit: 2ab63e0d3b10a2d246a62ec61bc5430cedeb2697
Parents: d14d8a3
Author: Robert Butts <robert.o.bu...@gmail.com>
Authored: Thu Feb 16 10:20:01 2017 -0700
Committer: Dave Neuman <neu...@apache.org>
Committed: Sun Feb 19 18:56:45 2017 -0700

----------------------------------------------------------------------
 .../traffic_monitor/manager/datarequest.go      |  7 ++++
 .../traffic_monitor/static/index.html           |  1 +
 .../trafficopswrapper/trafficopswrapper.go      | 35 ++++++++++++++++++++
 3 files changed, 43 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/2ab63e0d/traffic_monitor_golang/traffic_monitor/manager/datarequest.go
----------------------------------------------------------------------
diff --git a/traffic_monitor_golang/traffic_monitor/manager/datarequest.go 
b/traffic_monitor_golang/traffic_monitor/manager/datarequest.go
index da552dd..fd6ad9e 100644
--- a/traffic_monitor_golang/traffic_monitor/manager/datarequest.go
+++ b/traffic_monitor_golang/traffic_monitor/manager/datarequest.go
@@ -777,10 +777,17 @@ func MakeDispatchMap(
                "/api/bandwidth-capacity-kbps": wrap(WrapBytes(func() []byte {
                        return srvAPIBandwidthCapacityKbps(statMaxKbpses)
                }, ContentTypeJSON)),
+               "/api/monitor-config": wrap(WrapErr(errorCount, func() ([]byte, 
error) {
+                       return srvMonitorConfig(monitorConfig)
+               }, ContentTypeJSON)),
        }
        return addTrailingSlashEndpoints(dispatchMap)
 }
 
+func srvMonitorConfig(mcThs TrafficMonitorConfigMapThreadsafe) ([]byte, error) 
{
+       return json.Marshal(mcThs.Get())
+}
+
 // latestResultInfoTimeMS returns the length of time in milliseconds that it 
took to request the most recent non-errored result info.
 func latestResultInfoTimeMS(cacheName enum.CacheName, history 
cache.ResultInfoHistory) (int64, error) {
        results, ok := history[cacheName]

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/2ab63e0d/traffic_monitor_golang/traffic_monitor/static/index.html
----------------------------------------------------------------------
diff --git a/traffic_monitor_golang/traffic_monitor/static/index.html 
b/traffic_monitor_golang/traffic_monitor/static/index.html
index 66cd03b..f0a9651 100644
--- a/traffic_monitor_golang/traffic_monitor/static/index.html
+++ b/traffic_monitor_golang/traffic_monitor/static/index.html
@@ -498,6 +498,7 @@ under the License.
                                <li class="endpoint"><a 
href="/api/cache-statuses">/api/cache-statuses</a></li>
                                <li class="endpoint"><a 
href="/api/bandwidth-kbps">/api/bandwidth-kbps</a></li>
                                <li class="endpoint"><a 
href="/api/bandwidth-capacity-kbps">/api/bandwidth-capacity-kbps</a></li>
+                               <li class="endpoint"><a 
href="/api/monitor-config">/api/monitor-config</a></li>
                        </ul>
                </div>
 

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/2ab63e0d/traffic_monitor_golang/traffic_monitor/trafficopswrapper/trafficopswrapper.go
----------------------------------------------------------------------
diff --git 
a/traffic_monitor_golang/traffic_monitor/trafficopswrapper/trafficopswrapper.go 
b/traffic_monitor_golang/traffic_monitor/trafficopswrapper/trafficopswrapper.go
index cd80e2b..b86d844 100644
--- 
a/traffic_monitor_golang/traffic_monitor/trafficopswrapper/trafficopswrapper.go
+++ 
b/traffic_monitor_golang/traffic_monitor/trafficopswrapper/trafficopswrapper.go
@@ -24,6 +24,7 @@ import (
        "fmt"
        "sync"
 
+       
"github.com/apache/incubator-trafficcontrol/traffic_monitor_golang/common/log"
        
"github.com/apache/incubator-trafficcontrol/traffic_monitor_golang/traffic_monitor/crconfig"
        to "github.com/apache/incubator-trafficcontrol/traffic_ops/client"
 )
@@ -139,34 +140,54 @@ func CreateMonitorConfig(crConfig crconfig.CRConfig, mc 
*to.TrafficMonitorConfig
                s := to.TrafficServer{}
                if srv.Profile != nil {
                        s.Profile = *srv.Profile
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig server %s 
missing Profile field\n", name)
                }
                if srv.Ip != nil {
                        s.IP = *srv.Ip
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig server %s 
missing IP field\n", name)
                }
                if srv.Status != nil {
                        s.Status = string(*srv.Status)
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig server %s 
missing Status field\n", name)
                }
                if srv.CacheGroup != nil {
                        s.CacheGroup = *srv.CacheGroup
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig server %s 
missing CacheGroup field\n", name)
                }
                if srv.Ip6 != nil {
                        s.IP6 = *srv.Ip6
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig server %s 
missing IP6 field\n", name)
                }
                if srv.Port != nil {
                        s.Port = *srv.Port
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig server %s 
missing Port field\n", name)
                }
                s.HostName = name
                if srv.Fqdn != nil {
                        s.FQDN = *srv.Fqdn
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig server %s 
missing FQDN field\n", name)
                }
                if srv.InterfaceName != nil {
                        s.InterfaceName = *srv.InterfaceName
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig server %s 
missing InterfaceName field\n", name)
                }
                if srv.ServerType != nil {
                        s.Type = *srv.ServerType
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig server %s 
missing Type field\n", name)
                }
                if srv.HashId != nil {
                        s.HashID = *srv.HashId
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig server %s 
missing HashId field\n", name)
                }
                mc.TrafficServer[name] = s
        }
@@ -178,25 +199,39 @@ func CreateMonitorConfig(crConfig crconfig.CRConfig, mc 
*to.TrafficMonitorConfig
                m := to.TrafficMonitor{}
                if mon.Port != nil {
                        m.Port = *mon.Port
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig monitor %s 
missing Port field\n", name)
                }
                if mon.IP6 != nil {
                        m.IP6 = *mon.IP6
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig monitor %s 
missing IP6 field\n", name)
                }
                if mon.IP != nil {
                        m.IP = *mon.IP
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig monitor %s 
missing IP field\n", name)
                }
                m.HostName = name
                if mon.FQDN != nil {
                        m.FQDN = *mon.FQDN
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig monitor %s 
missing FQDN field\n", name)
                }
                if mon.Profile != nil {
                        m.Profile = *mon.Profile
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig monitor %s 
missing Profile field\n", name)
                }
                if mon.Location != nil {
                        m.Location = *mon.Location
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig monitor %s 
missing Location field\n", name)
                }
                if mon.Status != nil {
                        m.Status = string(*mon.Status)
+               } else {
+                       log.Warnf("Creating monitor config: CRConfig monitor %s 
missing Status field\n", name)
                }
                mc.TrafficMonitor[name] = m
        }

Reply via email to