You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by da...@apache.org on 2017/05/16 20:38:21 UTC
[1/2] incubator-trafficcontrol git commit: minor tweaks
Repository: incubator-trafficcontrol
Updated Branches:
refs/heads/master f9e1aaf20 -> 4a11b3192
minor tweaks
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/321e189b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/321e189b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/321e189b
Branch: refs/heads/master
Commit: 321e189bfa0cf743b6576e633e11d0ced6cd2f66
Parents: f9e1aaf
Author: Jeremy Mitchell <mi...@gmail.com>
Authored: Wed May 10 07:32:45 2017 -0600
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Tue May 16 14:37:48 2017 -0600
----------------------------------------------------------------------
.../ui/app/src/common/api/ServerService.js | 20 ++++++-
.../widget/cacheGroups/_widget.cacheGroups.scss | 45 ++++++++++++++
.../widget/cdnChart/WidgetCDNChartController.js | 20 ++++++-
.../widget/cdnChart/_widget.cdnChart.scss | 4 +-
.../monitor/dashboard/DashboardController.js | 6 +-
.../private/monitor/dashboard/_dashboard.scss | 46 ---------------
.../monitor/dashboard/dashboard.tpl.html | 62 +++++++++++++-------
.../modules/private/monitor/dashboard/index.js | 3 +
.../private/monitor/map/MapController.js | 43 +++++++++++++-
.../modules/private/monitor/map/map.tpl.html | 7 ++-
.../experimental/ui/app/src/styles/main.scss | 1 +
.../experimental/ui/app/src/styles/theme.scss | 17 +-----
12 files changed, 176 insertions(+), 98 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/api/ServerService.js b/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
index e130376..07c9011 100644
--- a/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
+++ b/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
@@ -17,7 +17,7 @@
* under the License.
*/
-var ServerService = function(Restangular, locationUtils, messageModel) {
+var ServerService = function($http, $q, Restangular, locationUtils, messageModel, ENV) {
this.getServers = function(queryParams) {
return Restangular.all('servers').getList(queryParams);
@@ -92,7 +92,23 @@ var ServerService = function(Restangular, locationUtils, messageModel) {
);
};
+ this.getStatusCount = function() {
+ var request = $q.defer();
+
+ $http.get(ENV.api['root'] + "servers/status")
+ .then(
+ function(result) {
+ request.resolve(result.data.response);
+ },
+ function() {
+ request.reject();
+ }
+ );
+
+ return request.promise;
+ };
+
};
-ServerService.$inject = ['Restangular', 'locationUtils', 'messageModel'];
+ServerService.$inject = ['$http', '$q', 'Restangular', 'locationUtils', 'messageModel', 'ENV'];
module.exports = ServerService;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/common/modules/widget/cacheGroups/_widget.cacheGroups.scss
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/widget/cacheGroups/_widget.cacheGroups.scss b/traffic_ops/experimental/ui/app/src/common/modules/widget/cacheGroups/_widget.cacheGroups.scss
new file mode 100644
index 0000000..a57ec06
--- /dev/null
+++ b/traffic_ops/experimental/ui/app/src/common/modules/widget/cacheGroups/_widget.cacheGroups.scss
@@ -0,0 +1,45 @@
+#cache-groups-outer-container {
+
+ #cacheGroupsContainer {
+ max-height: 452px;
+ margin-bottom: 0;
+
+ .list-group-item {
+ background-color: transparent;
+ }
+
+ .cache-group-health {
+ height: 45px;
+
+ .cache-groups-table {
+ margin-top: -10px;
+ border-style: none;
+
+ td {
+ border-top: none !important;
+ padding: 12px 8px !important;
+ }
+
+ }
+
+ }
+
+ }
+
+ .cache-groups-pagination {
+ margin: 0 0 10px 0;
+ float: left;
+ }
+
+ .cache-group-search-form {
+ float: right;
+ width: 250px;
+ margin-bottom: 10px;
+ }
+
+}
+
+#cacheGroupsLoadingContainer {
+ height: 555px;
+ background-color: transparent;
+}
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/common/modules/widget/cdnChart/WidgetCDNChartController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/widget/cdnChart/WidgetCDNChartController.js b/traffic_ops/experimental/ui/app/src/common/modules/widget/cdnChart/WidgetCDNChartController.js
index e456ef5..67c4984 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/widget/cdnChart/WidgetCDNChartController.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/widget/cdnChart/WidgetCDNChartController.js
@@ -19,10 +19,14 @@
var WidgetCDNChartController = function(cdn, $scope, $timeout, $filter, $q, cdnService, cacheStatsService, dateUtils, locationUtils, numberUtils) {
+ var chartSeries,
+ chartOptions;
+
var getCDN = function(id) {
cdnService.getCDN(id)
.then(function(result) {
$scope.cdn = result;
+ registerResizeListener();
getCurrentStats($scope.cdn.name);
getChartData($scope.cdn.name, moment().subtract(1, 'days'), moment().subtract(10, 'seconds'));
});
@@ -97,7 +101,7 @@ var WidgetCDNChartController = function(cdn, $scope, $timeout, $filter, $q, cdnS
var buildChart = function(bandwidthChartData, connectionsChartData) {
- var options = {
+ chartOptions = {
xaxis: {
mode: "time",
timezone: "utc",
@@ -135,13 +139,23 @@ var WidgetCDNChartController = function(cdn, $scope, $timeout, $filter, $q, cdnS
}
};
- var series = [
+ chartSeries = [
{ label: "Bandwidth", yaxis: 1, color: '#3498DB', data: bandwidthChartData },
{ label: "Connections", yaxis: 2, color: '#E74C3C', data: connectionsChartData }
];
- $.plot($("#bps-chart-" + $scope.cdn.id), series, options);
+ plotChart();
+
+ };
+
+ var registerResizeListener = function() {
+ $(window).resize(plotChart);
+ };
+ var plotChart = function() {
+ if (chartOptions && chartSeries) {
+ $.plot($("#bps-chart-" + $scope.cdn.id), chartSeries, chartOptions);
+ }
};
$scope.cdn;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/common/modules/widget/cdnChart/_widget.cdnChart.scss
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/widget/cdnChart/_widget.cdnChart.scss b/traffic_ops/experimental/ui/app/src/common/modules/widget/cdnChart/_widget.cdnChart.scss
index e5ff8b2..68dea14 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/widget/cdnChart/_widget.cdnChart.scss
+++ b/traffic_ops/experimental/ui/app/src/common/modules/widget/cdnChart/_widget.cdnChart.scss
@@ -22,8 +22,8 @@
padding: 30px 60px;
.bps-chart {
- height: 200px;
- min-width: 310px;
+ width: 100%;
+ height: 250px;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/DashboardController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/DashboardController.js b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/DashboardController.js
index e4715d3..3bfca25 100644
--- a/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/DashboardController.js
+++ b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/DashboardController.js
@@ -17,7 +17,7 @@
* under the License.
*/
-var DashboardController = function(cacheGroupHealth, cdns, currentStats, $scope) {
+var DashboardController = function(cacheGroupHealth, cdns, currentStats, serverCount, $scope) {
$scope.cacheGroupHealth = cacheGroupHealth;
@@ -31,7 +31,9 @@ var DashboardController = function(cacheGroupHealth, cdns, currentStats, $scope)
return item.cdn == 'total';
});
+ $scope.serverCount = serverCount;
+
};
-DashboardController.$inject = ['cacheGroupHealth', 'cdns', 'currentStats', '$scope'];
+DashboardController.$inject = ['cacheGroupHealth', 'cdns', 'currentStats', 'serverCount', '$scope'];
module.exports = DashboardController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/_dashboard.scss
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/_dashboard.scss b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/_dashboard.scss
index 99435c4..d57b9c6 100644
--- a/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/_dashboard.scss
+++ b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/_dashboard.scss
@@ -14,49 +14,3 @@
limitations under the License.
*/
-
-#cache-groups-outer-container {
-
- #cacheGroupsContainer {
- max-height: 452px;
- margin-bottom: 0;
-
- .list-group-item {
- background-color: transparent;
- }
-
- .cache-group-health {
- height: 45px;
-
- .cache-groups-table {
- margin-top: -10px;
- border-style: none;
-
- td {
- border-top: none !important;
- padding: 12px 8px !important;
- }
-
- }
-
- }
-
- }
-
- .cache-groups-pagination {
- margin: 0 0 10px 0;
- float: left;
- }
-
- .cache-group-search-form {
- float: right;
- width: 250px;
- margin-bottom: 10px;
- }
-
-}
-
-#cacheGroupsLoadingContainer {
- height: 555px;
- background-color: transparent;
-}
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/dashboard.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/dashboard.tpl.html b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/dashboard.tpl.html
index 87d6257..3b09283 100644
--- a/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/dashboard.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/dashboard.tpl.html
@@ -19,29 +19,47 @@ under the License.
<div role="main">
<div class="row tile_count">
- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
- <span class="count_top"><i class="fa fa-bolt"></i> Total Bandwidth</span>
- <div class="count">{{totalStats.bandwidth | number:2}} Gbps</div>
- </div>
- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
- <span class="count_top"><i class="fa fa-clock-o"></i> Total Connections</span>
- <div class="count">{{totalStats.connections | number:0}}</div>
- </div>
- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
- <span class="count_top"><i class="fa fa-server"></i> Total Online Caches</span>
- <div class="count green">{{cacheGroupHealth.totalOnline}}</div>
- </div>
- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
- <span class="count_top"><i class="fa fa-server"></i> Total Offline Caches</span>
- <div class="count red">{{cacheGroupHealth.totalOffline}}</div>
- </div>
- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
- <span class="count_top"><i class="fa fa-user"></i> Another Metric</span>
- <div class="count">999</div>
+ <div class="col-md-4 col-sm-6 col-xs-12">
+ <div class="col-md-6 col-sm-12 col-xs-12 tile_stats_count current">
+ <span class="count_top">Current Bandwidth</span>
+ <div class="count">{{totalStats.bandwidth | number:2}} Gbps</div>
+ </div>
+ <div class="col-md-6 col-sm-12 col-xs-12 tile_stats_count current">
+ <span class="count_top">Current Connections</span>
+ <div class="count">{{totalStats.connections | number:0}}</div>
+ </div>
</div>
- <div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
- <span class="count_top"><i class="fa fa-user"></i> Another Metric</span>
- <div class="count">999</div>
+ <div class="col-md-8 col-sm-6 col-xs-12">
+ <div class="col-md-4 col-sm-12 col-xs-12 tile_stats_count">
+ <div class="col-md-6 col-sm-6 col-xs-6">
+ <span class="count_top">Healthy Caches</span>
+ <div class="count green">{{cacheGroupHealth.totalOnline | number:0}}</div>
+ </div>
+ <div class="col-md-6 col-sm-6 col-xs-6">
+ <span class="count_top">Unhealthy Caches</span>
+ <div class="count red">{{cacheGroupHealth.totalOffline | number:0}}</div>
+ </div>
+ </div>
+ <div class="col-md-4 col-sm-12 col-xs-12 tile_stats_count">
+ <div class="col-md-6 col-sm-6 col-xs-6">
+ <span class="count_top">Online Caches</span>
+ <div class="count">{{serverCount.ONLINE | number:0}}</div>
+ </div>
+ <div class="col-md-6 col-sm-6 col-xs-6">
+ <span class="count_top">Reported Caches</span>
+ <div class="count">{{serverCount.REPORTED | number:0}}</div>
+ </div>
+ </div>
+ <div class="col-md-4 col-sm-12 col-xs-12 tile_stats_count">
+ <div class="col-md-6 col-sm-6 col-xs-6">
+ <span class="count_top">Offline Caches</span>
+ <div class="count">{{serverCount.OFFLINE | number:0}}</div>
+ </div>
+ <div class="col-md-6 col-sm-6 col-xs-6">
+ <span class="count_top">Admin Down Caches</span>
+ <div class="count">{{serverCount.ADMIN_DOWN | number:0}}</div>
+ </div>
+ </div>
</div>
</div>
<div ng-repeat="cdn in ::cdns">
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/index.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/index.js b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/index.js
index b1e1312..f63181a 100644
--- a/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/index.js
+++ b/traffic_ops/experimental/ui/app/src/modules/private/monitor/dashboard/index.js
@@ -37,6 +37,9 @@ module.exports = angular.module('trafficOps.private.monitor.dashboard', [])
},
currentStats: function(cdnService) {
return cdnService.getCurrentStats();
+ },
+ serverCount: function(serverService) {
+ return serverService.getStatusCount();
}
}
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/modules/private/monitor/map/MapController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/modules/private/monitor/map/MapController.js b/traffic_ops/experimental/ui/app/src/modules/private/monitor/map/MapController.js
index a85185d..8258d83 100644
--- a/traffic_ops/experimental/ui/app/src/modules/private/monitor/map/MapController.js
+++ b/traffic_ops/experimental/ui/app/src/modules/private/monitor/map/MapController.js
@@ -17,12 +17,18 @@
* under the License.
*/
-var MapController = function(cacheGroups, cacheGroupHealth, $scope, NgMap) {
+var MapController = function(cacheGroups, cacheGroupHealth, $scope, locationUtils, NgMap) {
$scope.map = NgMap.getMap('cgMap');
$scope.cacheGroups = [];
+ $scope.cacheGroupTypes = [];
+
+ $scope.cgTitle = function(cg) {
+ return cg.name + ' (' + cg.type + ')';
+ };
+
$scope.parentCg = function(cg) {
return cg.parent ? cg.parent : 'None'
};
@@ -31,13 +37,36 @@ var MapController = function(cacheGroups, cacheGroupHealth, $scope, NgMap) {
return cg.secondaryParent ? cg.secondaryParent : 'None'
};
+ $scope.icon = function(cg) {
+ var properties = {
+ path: 'M8 2.1c1.1 0 2.2 0.5 3 1.3 0.8 0.9 1.3 1.9 1.3 3.1s-0.5 2.5-1.3 3.3l-3 3.1-3-3.1c-0.8-0.8-1.3-2-1.3-3.3 0-1.2 0.4-2.2 1.3-3.1 0.8-0.8 1.9-1.3 3-1.3z',
+ fillOpacity: 0.8,
+ scale: 3,
+ strokeColor: 'white',
+ strokeWeight: 2
+ }
+ // color map markers by type UNLESS there are offline caches, then make red and bigger
+ if (parseInt(cg.offline) > 0) {
+ properties['fillColor'] = 'red';
+ properties['scale'] = 5;
+ } else {
+ properties['fillColor'] = colors[_.indexOf($scope.cacheGroupTypes, cg.type)];
+ }
+ return properties;
+ };
+
+ $scope.navigateToPath = locationUtils.navigateToPath;
+
var massageCacheGroups = function() {
var cgHealthCacheGroups = cacheGroupHealth.cachegroups,
cgHealth;
+ var cgTypes = [];
_.each(cacheGroups, function(cg) {
+ cgTypes.push(cg.typeName);
cgHealth = _.find(cgHealthCacheGroups, function(cghcg){ return cghcg.name == cg.name });
$scope.cacheGroups.push(
{
+ id: cg.id,
name: cg.name,
parent: cg.parentCachegroupName,
secondaryParent: cg.secondaryParentCachegroupName,
@@ -48,8 +77,18 @@ var MapController = function(cacheGroups, cacheGroupHealth, $scope, NgMap) {
}
);
});
+ $scope.cacheGroupTypes = _.uniq(cgTypes);
};
+ var colors = [
+ '#3F51B5', // blue
+ '#00AAA0', // turquoise
+ '#FF7A5A', // orangish
+ '#FFB85F', // yellowish
+ '#462066', // purple
+ '#FCF4D9' // whitish
+ ];
+
var init = function() {
massageCacheGroups();
};
@@ -58,5 +97,5 @@ var MapController = function(cacheGroups, cacheGroupHealth, $scope, NgMap) {
};
-MapController.$inject = ['cacheGroups', 'cacheGroupHealth', '$scope', 'NgMap'];
+MapController.$inject = ['cacheGroups', 'cacheGroupHealth', '$scope', 'locationUtils', 'NgMap'];
module.exports = MapController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/modules/private/monitor/map/map.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/modules/private/monitor/map/map.tpl.html b/traffic_ops/experimental/ui/app/src/modules/private/monitor/map/map.tpl.html
index 671e0d7..6d16c9c 100644
--- a/traffic_ops/experimental/ui/app/src/modules/private/monitor/map/map.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/modules/private/monitor/map/map.tpl.html
@@ -18,13 +18,14 @@ under the License.
-->
<div class="angular-google-map-container" map-lazy-load="https://maps.google.com/maps/api/js">
- <ng-map id="cgMap" zoom="5" center="[41,-87]">
+ <ng-map id="cgMap" zoom="5" center="[37,-91]">
<marker ng-repeat="cg in ::cacheGroups"
position="{{::cg.pos}}"
- on-click="map.showInfoWindow(event, cg.name)"></marker>
+ on-click="map.showInfoWindow(event, cg.name)"
+ icon="{{::icon(cg)}}"></marker>
<info-window id="{{::cg.name}}" ng-repeat="cg in ::cacheGroups">
<div>
- <h3>{{::cg.name}} ({{::cg.type}})</h3>
+ <h3><a ng-click="navigateToPath('/configure/cache-groups/' + cg.id)">{{::cgTitle(cg)}}</a></h3>
<hr>
<h5>Coordinates: {{::cg.pos}}</h5>
<h5>1st Parent: {{::parentCg(cg)}}</h5>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/styles/main.scss
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/styles/main.scss b/traffic_ops/experimental/ui/app/src/styles/main.scss
index 3ad9e63..c172877 100755
--- a/traffic_ops/experimental/ui/app/src/styles/main.scss
+++ b/traffic_ops/experimental/ui/app/src/styles/main.scss
@@ -34,6 +34,7 @@ $fa-font-path: "../assets/fonts";
@import "../common/modules/table/table";
@import "../common/modules/release/release";
@import "../common/modules/widget/capacity/widget.capacity";
+@import "../common/modules/widget/cacheGroups/widget.cacheGroups";
@import "../common/modules/widget/cdnChart/widget.cdnChart";
@import "../common/modules/widget/routing/widget.routing";
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/321e189b/traffic_ops/experimental/ui/app/src/styles/theme.scss
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/styles/theme.scss b/traffic_ops/experimental/ui/app/src/styles/theme.scss
index f78a16d..fc909aa 100644
--- a/traffic_ops/experimental/ui/app/src/styles/theme.scss
+++ b/traffic_ops/experimental/ui/app/src/styles/theme.scss
@@ -1703,26 +1703,11 @@ span.right {
border-left: 2px solid #ADB2B5;
margin-top: 10px
}
-@media (min-width: 992px) {
- .tile_count .tile_stats_count:first-child:before {
- border-left: 0
- }
-}
.tile_count .tile_stats_count .count {
- font-size: 30px;
+ font-size: 25px;
line-height: 47px;
font-weight: 600
}
-@media (min-width: 768px) {
- .tile_count .tile_stats_count .count {
- font-size: 30px
- }
-}
-@media (min-width: 992px) and (max-width: 1100px) {
- .tile_count .tile_stats_count .count {
- font-size: 30px
- }
-}
.tile_count .tile_stats_count span {
font-size: 12px
}
[2/2] incubator-trafficcontrol git commit: This closes #578.
Posted by da...@apache.org.
This closes #578.
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/4a11b319
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/4a11b319
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/4a11b319
Branch: refs/heads/master
Commit: 4a11b3192eba5dd16a74bf7dd6fe86dfda300af8
Parents: 321e189
Author: Dan Kirkwood <da...@gmail.com>
Authored: Tue May 16 14:38:08 2017 -0600
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Tue May 16 14:38:08 2017 -0600
----------------------------------------------------------------------
----------------------------------------------------------------------