You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2016/10/03 18:21:43 UTC
[01/18] ambari git commit: AMBARI-18490. Need to click Cancel twice
to dismiss Set Rack dialog when no value entered (alexantonenko)
Repository: ambari
Updated Branches:
refs/heads/branch-feature-AMBARI-18456 d53c9e2ee -> aee49b67f
AMBARI-18490. Need to click Cancel twice to dismiss Set Rack dialog when no value entered (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/84c172cb
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/84c172cb
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/84c172cb
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 84c172cb84da6b3ad3c855bfdb94fc6ff528f191
Parents: 5fa2d9b
Author: Alex Antonenko <hi...@gmail.com>
Authored: Thu Sep 29 22:38:36 2016 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Thu Sep 29 22:38:47 2016 +0300
----------------------------------------------------------------------
ambari-web/app/utils/hosts.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/84c172cb/ambari-web/app/utils/hosts.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/hosts.js b/ambari-web/app/utils/hosts.js
index e4a437c..0aebe89 100644
--- a/ambari-web/app/utils/hosts.js
+++ b/ambari-web/app/utils/hosts.js
@@ -228,7 +228,7 @@ module.exports = {
return App.ModalPopup.show({
header: Em.I18n.t('hosts.host.details.setRackId'),
disablePrimary: true,
- rackId: rackId,
+ rackId: rackId ? rackId : "",
bodyClass: Em.View.extend({
templateName: require('templates/main/host/rack_id_popup'),
errorMessage: null,
[17/18] ambari git commit: AMBARI-18514. Graph details popup: file
formats dropdown isn't collapsed on text link click (alexantonenko)
Posted by jo...@apache.org.
AMBARI-18514. Graph details popup: file formats dropdown isn't collapsed on text link click (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f2bcbbe7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f2bcbbe7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f2bcbbe7
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: f2bcbbe70008303afdefd7c218b4954127ebe978
Parents: 7b15e38
Author: Alex Antonenko <hi...@gmail.com>
Authored: Mon Oct 3 15:34:23 2016 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Mon Oct 3 20:20:56 2016 +0300
----------------------------------------------------------------------
ambari-web/app/views/common/chart/linear_time.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/f2bcbbe7/ambari-web/app/views/common/chart/linear_time.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/chart/linear_time.js b/ambari-web/app/views/common/chart/linear_time.js
index 80a30d5..8eaf6f3 100644
--- a/ambari-web/app/views/common/chart/linear_time.js
+++ b/ambari-web/app/views/common/chart/linear_time.js
@@ -974,7 +974,7 @@ App.ChartLinearTimeView = Ember.View.extend(App.ExportMetricsMixin, {
title: Em.I18n.t('common.export')
});
this.$().closest('.modal').on('click', function (event) {
- if (!($(event.target).is('.corner-icon, .icon-save, .export-graph-list-container, .export-graph-list-container *'))) {
+ if (!($(event.target).is('.corner-icon, .corner-icon span, .icon-save, .export-graph-list-container, .export-graph-list-container *'))) {
popupBody.set('isExportMenuHidden', true);
}
});
[06/18] ambari git commit: AMBARI-18497 - [Grafana] Replicate HBase
dashboards for System(AMS) HBase (prajwal)
Posted by jo...@apache.org.
AMBARI-18497 - [Grafana] Replicate HBase dashboards for System(AMS) HBase (prajwal)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4170ff49
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4170ff49
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4170ff49
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 4170ff49f72eae596fe1e9f0a4afd03649b98e16
Parents: d8cd374
Author: Prajwal Rao <pr...@gmail.com>
Authored: Thu Sep 29 14:23:34 2016 -0700
Committer: Prajwal Rao <pr...@gmail.com>
Committed: Thu Sep 29 14:23:34 2016 -0700
----------------------------------------------------------------------
.../default/grafana-ams-hbase-home.json | 2558 +++++
.../default/grafana-ams-hbase-misc.json | 1680 ++++
.../grafana-ams-hbase-regionservers.json | 9063 ++++++++++++++++++
3 files changed, 13301 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/4170ff49/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-home.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-home.json b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-home.json
new file mode 100644
index 0000000..c9edd62
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-home.json
@@ -0,0 +1,2558 @@
+{
+ "id": null,
+ "title": "AMS HBase - Home",
+ "originalTitle": "AMS HBase - Home",
+ "tags": [
+ "ams-hbase"
+ ],
+ "style": "dark",
+ "timezone": "browser",
+ "editable": true,
+ "hideControls": false,
+ "sharedCrosshair": false,
+ "rows": [
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "25px",
+ "panels": [
+ {
+ "content": "<h4 align=\"center\">Metrics to see the overall status of AMS-HBase. Click on each row title to expand on demand to look at various metrics. </h4>\n<h6 style=\"color:red;\" align=\"center\">This dashboard is managed by Ambari. You may lose any changes made to this dashboard. If you want to customize, make your own copy.</h6>",
+ "editable": true,
+ "error": false,
+ "id": 22,
+ "isNew": true,
+ "links": [],
+ "mode": "html",
+ "span": 12,
+ "style": {},
+ "title": "",
+ "type": "text"
+ }
+ ],
+ "showTitle": false,
+ "title": "Description"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "25px",
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "hideTimeOverride": true,
+ "id": 2,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "100%",
+ "prefix": "",
+ "prefixFontSize": "100%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "master.Server.numRegionServers",
+ "precision": "default",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num RegionServers",
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "hideTimeOverride": true,
+ "id": 3,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "100%",
+ "prefix": "",
+ "prefixFontSize": "100%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "master.Server.numDeadRegionServers",
+ "precision": "default",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "timeFrom": null,
+ "title": "Num Dead RegionServers",
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "hideTimeOverride": true,
+ "id": 5,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "sum",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "regionserver.Server.regionCount",
+ "precision": "default",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Regions",
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "datasource": null,
+ "decimals": 1,
+ "editable": true,
+ "error": false,
+ "format": "none",
+ "hideTimeOverride": true,
+ "id": 4,
+ "interval": null,
+ "isNew": true,
+ "links": [],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "span": 3,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": true,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "master.Server.averageLoad",
+ "precision": "default",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "timeFrom": null,
+ "title": "Avg Num Regions per RegionServer",
+ "type": "singlestat",
+ "valueFontSize": "100%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ }
+ ],
+ "showTitle": false,
+ "title": "RegionServers / Regions"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "200px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 1,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "regionCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "regionserver.Server.regionCount",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "storeCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.storeCount",
+ "precision": "default",
+ "refId": "B"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Regions / Stores - Total",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 6,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "storeFileCount",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "storeFileSize",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.storeFileSize",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "storeFileCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.storeFileCount",
+ "precision": "default",
+ "refId": "B"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "storeFileIndexSize",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.storeFileIndexSize",
+ "precision": "default",
+ "refId": "C"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "staticIndexSize",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.staticIndexSize",
+ "precision": "default",
+ "refId": "D"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "staticBloomSize",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.staticBloomSize",
+ "precision": "default",
+ "refId": "E"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Store File Size / Count - Total",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Regions / Stores"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 7,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "totalRequestCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.totalRequestCount",
+ "precision": "default",
+ "refId": "B",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "readRequestCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.readRequestCount",
+ "precision": "default",
+ "refId": "C",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "writeRequestCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.writeRequestCount",
+ "precision": "default",
+ "refId": "D",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "rpcCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.TotalCallTime_num_ops",
+ "precision": "default",
+ "refId": "E",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Requests - Total",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 8,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "getCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_num_ops",
+ "precision": "default",
+ "refId": "A",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "scanNextCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.ScanNext_num_ops",
+ "precision": "default",
+ "refId": "B",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "mutateCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_num_ops",
+ "precision": "default",
+ "refId": "C",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "deleteCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Delete_num_ops",
+ "precision": "default",
+ "refId": "D",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "incrementCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Increment_num_ops",
+ "precision": "default",
+ "refId": "E",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "appendCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Append_num_ops",
+ "precision": "default",
+ "refId": "F",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "replayCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Replay_num_ops",
+ "precision": "default",
+ "refId": "H",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Request - Breakdown - Total",
+ "tooltip": {
+ "shared": true,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Requests"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "200px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 10,
+ "isNew": true,
+ "leftYAxisLabel": "",
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "MemHeapMax",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "jvm.RegionServer.JvmMetrics.MemHeapMaxM",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "MemHeapUsed",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "jvm.RegionServer.JvmMetrics.MemHeapUsedM",
+ "precision": "default",
+ "refId": "B"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "MemHeapCommitted",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "jvm.RegionServer.JvmMetrics.MemHeapCommittedM",
+ "precision": "default",
+ "refId": "C"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "MemNonHeapMax",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "jvm.RegionServer.JvmMetrics.MemNonHeapMaxM",
+ "precision": "default",
+ "refId": "D"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "MemNonHeapUsed",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "jvm.RegionServer.JvmMetrics.MemNonHeapUsedM",
+ "precision": "default",
+ "refId": "E"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "MemNonHeapCommitted",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.MemNonHeapCommittedM",
+ "precision": "default",
+ "refId": "F"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer Memory - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "mbytes",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 11,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "MemNonHeapMax",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.MemNonHeapMaxM",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "MemNonHeapUsed",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.MemNonHeapUsedM",
+ "precision": "default",
+ "refId": "B"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "MemNonHeapCommitted",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.MemNonHeapCommittedM",
+ "precision": "default",
+ "refId": "C"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer Offheap Memory - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "mbytes",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "RegionServer Memory"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 12,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "memStoreSize",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.memStoreSize",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "blockCacheSize",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "regionserver.Server.blockCacheSize",
+ "precision": "default",
+ "refId": "B"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "blockCacheFreeSize",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "regionserver.Server.blockCacheFreeSize",
+ "precision": "default",
+ "refId": "C"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Memstore / BlockCache - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 24,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "blochCacheCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheCount",
+ "precision": "default",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Blocks in BlockCache - Total",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Memory - MemStore / BlockCache"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 13,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "blockCacheHitCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheHitCount",
+ "precision": "default",
+ "refId": "D",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "blockCacheMissCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheMissCount",
+ "precision": "default",
+ "refId": "E",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "sum",
+ "alias": "blockCacheEvictionCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheEvictionCount",
+ "precision": "default",
+ "refId": "A",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "BlockCache Hit / Miss /s - Total",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "percent"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 23,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "blockCacheExpressHitPercent",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheExpressHitPercent",
+ "precision": "default",
+ "refId": "C"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "blockCacheCountHitPercent",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheCountHitPercent",
+ "precision": "default",
+ "refId": "B"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "BlockCache Hit Percent - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "percent",
+ "percent"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "BlockCache"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 14,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Get_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Get_mean",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_mean",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Get_median",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_median",
+ "precision": "default",
+ "refId": "B"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Get_75th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_75th_percentile",
+ "precision": "default",
+ "refId": "E"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Get_95th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_95th_percentile",
+ "precision": "default",
+ "refId": "D"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Get_99th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_99th_percentile",
+ "precision": "default",
+ "refId": "C"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Get_max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_max",
+ "precision": "default",
+ "refId": "G"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Get_min",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_min",
+ "precision": "default",
+ "refId": "F"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Get_num_ops",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "regionserver.Server.Get_num_ops",
+ "precision": "default",
+ "refId": "H",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Get Latencies - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 15,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Mutate_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Mutate_mean",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_mean",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Mutate_median",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_median",
+ "precision": "default",
+ "refId": "B"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Mutate_75th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_75th_percentile",
+ "precision": "default",
+ "refId": "E"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Mutate_95th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_95th_percentile",
+ "precision": "default",
+ "refId": "D"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Mutate_99th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_99th_percentile",
+ "precision": "default",
+ "refId": "C"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Mutate_max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_max",
+ "precision": "default",
+ "refId": "G"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Mutate_min",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_min",
+ "precision": "default",
+ "refId": "F"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Mutate_num_ops",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_num_ops",
+ "precision": "default",
+ "refId": "H",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Mutate Latencies - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Operation Latencies - Get / Mutate"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 16,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Delete_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Delete_mean",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Delete_mean",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Delete_median",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Delete_median",
+ "precision": "default",
+ "refId": "B"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Delete_75th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Delete_75th_percentile",
+ "precision": "default",
+ "refId": "E"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Delete_95th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Delete_95th_percentile",
+ "precision": "default",
+ "refId": "D"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Delete_99th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Delete_99th_percentile",
+ "precision": "default",
+ "refId": "C"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Delete_max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Delete_max",
+ "precision": "default",
+ "refId": "G"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Delete_min",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Delete_min",
+ "precision": "default",
+ "refId": "F"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Delete_num_ops",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Delete_num_ops",
+ "precision": "default",
+ "refId": "H",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Delete Latencies - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 17,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Increment_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Increment_mean",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Increment_mean",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Increment_median",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Increment_median",
+ "precision": "default",
+ "refId": "B"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Increment_75th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Increment_75th_percentile",
+ "precision": "default",
+ "refId": "E"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Increment_95th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Increment_95th_percentile",
+ "precision": "default",
+ "refId": "D"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Increment_99th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Increment_99th_percentile",
+ "precision": "default",
+ "refId": "C"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Increment_max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Increment_max",
+ "precision": "default",
+ "refId": "G"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Increment_min",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Increment_min",
+ "precision": "default",
+ "refId": "F"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Increment_num_ops",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Increment_num_ops",
+ "precision": "default",
+ "refId": "H",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Increment Latencies - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Operation Latencies - Delete / Increment"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 18,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Append_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Append_mean",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Append_mean",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Append_median",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Append_median",
+ "precision": "default",
+ "refId": "B"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Append_75th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Append_75th_percentile",
+ "precision": "default",
+ "refId": "E"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Append_95th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Append_95th_percentile",
+ "precision": "default",
+ "refId": "D"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Append_99th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Append_99th_percentile",
+ "precision": "default",
+ "refId": "C"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Append_max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Append_max",
+ "precision": "default",
+ "refId": "G"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Append_min",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Append_min",
+ "precision": "default",
+ "refId": "F"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Append_num_ops",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Append_num_ops",
+ "precision": "default",
+ "refId": "H",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Append Latencies - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 19,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Replay_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "Replay_mean",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Replay_mean",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Replay_median",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Replay_median",
+ "precision": "default",
+ "refId": "B"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Replay_75th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Replay_75th_percentile",
+ "precision": "default",
+ "refId": "E"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Replay_95th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Replay_95th_percentile",
+ "precision": "default",
+ "refId": "D"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Replay_99th_percentile",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Replay_99th_percentile",
+ "precision": "default",
+ "refId": "C"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Replay_max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Replay_max",
+ "precision": "default",
+ "refId": "G"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Replay_min",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Replay_min",
+ "precision": "default",
+ "refId": "F"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "Replay_num_ops",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Replay_num_ops",
+ "precision": "default",
+ "refId": "H",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Replay Latencies - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Operation Latencies - Append / Replay"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 20,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.RegionServer.queueSize",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "sum",
+ "alias": "rpcCount",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hide": false,
+ "metric": "master.Master.TotalCallTime_num_ops",
+ "precision": "default",
+ "refId": "C",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "numActiveHandler",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.numActiveHandler",
+ "precision": "default",
+ "refId": "A"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "numOpenConnections",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.numOpenConnections",
+ "precision": "default",
+ "refId": "B"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer RPC - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "bytes"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 25,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "queueSize",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "numCallsInGeneralQueue",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.numCallsInGeneralQueue",
+ "precision": "default",
+ "refId": "C"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "numCallsInPriorityQueue",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hide": false,
+ "metric": "regionserver.RegionServer.numCallsInPriorityQueue",
+ "precision": "default",
+ "refId": "D"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "numCallsInReplicationQueue",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.numCallsInReplicationQueue",
+ "precision": "default",
+ "refId": "E"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "queueSize",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.queueSize",
+ "precision": "default",
+ "refId": "G"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer RPC Queues - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "bytes"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "RegionServer RPC"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 21,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "numActiveHandler",
+ "yaxis": 2
+ }
+ ],
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "alias": "receivedBytes",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.receivedBytes",
+ "precision": "default",
+ "refId": "A",
+ "transform": "rate"
+ },
+ {
+ "aggregator": "avg",
+ "alias": "sentBytes",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.sentBytes",
+ "precision": "default",
+ "refId": "B",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer RPC Throughput - Average",
+ "tooltip": {
+ "shared": true,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "Bps",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "RegionServer RPC"
+ }
+ ],
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "templating": {
+ "list": []
+ },
+ "annotations": {
+ "list": []
+ },
+ "schemaVersion": 8,
+ "version": 0,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "keepTime": true,
+ "tags": [
+ "ams-hbase"
+ ],
+ "title": "AMS-HBase Dashboards",
+ "type": "dashboards"
+ }
+ ]
+}
\ No newline at end of file
[13/18] ambari git commit: AMBARI-18505. Ambari Status commands
should enforce a timeout < heartbeat interval (aonishuk)
Posted by jo...@apache.org.
AMBARI-18505. Ambari Status commands should enforce a timeout < heartbeat interval (aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/dfa16136
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/dfa16136
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/dfa16136
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: dfa16136d0ceaba1e2fdb67fbc4d9dc3e3ec49f5
Parents: 324107d
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Mon Oct 3 12:28:46 2016 +0300
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Mon Oct 3 12:28:46 2016 +0300
----------------------------------------------------------------------
ambari-agent/conf/unix/ambari-agent.ini | 1 +
.../src/main/python/ambari_agent/ActionQueue.py | 22 ++++++++++++++++-
.../ambari_agent/PythonReflectiveExecutor.py | 25 +++++++++++++++-----
.../test/python/ambari_agent/TestActionQueue.py | 3 ++-
4 files changed, 43 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/dfa16136/ambari-agent/conf/unix/ambari-agent.ini
----------------------------------------------------------------------
diff --git a/ambari-agent/conf/unix/ambari-agent.ini b/ambari-agent/conf/unix/ambari-agent.ini
index 914e09a..1c39c24 100644
--- a/ambari-agent/conf/unix/ambari-agent.ini
+++ b/ambari-agent/conf/unix/ambari-agent.ini
@@ -32,6 +32,7 @@ tolerate_download_failures=true
run_as_user=root
parallel_execution=0
alert_grace_period=5
+status_command_timeout=2
alert_kinit_timeout=14400000
system_resource_overrides=/etc/resource_overrides
; memory_threshold_soft_mb=400
http://git-wip-us.apache.org/repos/asf/ambari/blob/dfa16136/ambari-agent/src/main/python/ambari_agent/ActionQueue.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/ambari_agent/ActionQueue.py b/ambari-agent/src/main/python/ambari_agent/ActionQueue.py
index f104939..86918e5 100644
--- a/ambari-agent/src/main/python/ambari_agent/ActionQueue.py
+++ b/ambari-agent/src/main/python/ambari_agent/ActionQueue.py
@@ -29,6 +29,7 @@ import time
import signal
from AgentException import AgentException
+from PythonReflectiveExecutor import PythonReflectiveExecutor
from LiveStatus import LiveStatus
from ActualConfigHandler import ActualConfigHandler
from CommandStatusDict import CommandStatusDict
@@ -82,9 +83,11 @@ class ActionQueue(threading.Thread):
self.controller = controller
self.configTags = {}
self._stop = threading.Event()
+ self.hangingStatusCommands = {}
self.tmpdir = config.get('agent', 'prefix')
self.customServiceOrchestrator = CustomServiceOrchestrator(config, controller)
self.parallel_execution = config.get_parallel_exec_option()
+ self.status_command_timeout = int(self.config.get('agent', 'status_command_timeout', 5))
if self.parallel_execution == 1:
logger.info("Parallel execution is enabled, will execute agent commands in parallel")
@@ -225,7 +228,24 @@ class ActionQueue(threading.Thread):
if self.controller.recovery_manager.enabled():
self.controller.recovery_manager.stop_execution_command()
elif commandType == self.STATUS_COMMAND:
- self.execute_status_command(command)
+ component_name = command['componentName']
+
+ if component_name in self.hangingStatusCommands and not self.hangingStatusCommands[component_name].isAlive():
+ del self.hangingStatusCommands[component_name]
+
+ if not component_name in self.hangingStatusCommands:
+ thread = threading.Thread(target = self.execute_status_command, args = (command,))
+ thread.daemon = True # hanging status commands should not be prevent ambari-agent from stopping
+ thread.start()
+ thread.join(timeout=self.status_command_timeout)
+
+ if thread.isAlive():
+ # Force context to reset to normal. By context we mean sys.path, imports, logger setting, etc. They are set by specific status command, and are not relevant to ambari-agent.
+ PythonReflectiveExecutor.last_context.revert()
+ logger.warn("Command {0} for {1} is running for more than {2} seconds. Skipping it for current pack of status commands.".format(commandType, component_name, self.status_command_timeout))
+ self.hangingStatusCommands[component_name] = thread
+ else:
+ logger.info("Not running {0} for {1}, because previous one is still running.".format(commandType, component_name))
else:
logger.error("Unrecognized command " + pprint.pformat(command))
except Exception:
http://git-wip-us.apache.org/repos/asf/ambari/blob/dfa16136/ambari-agent/src/main/python/ambari_agent/PythonReflectiveExecutor.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/ambari_agent/PythonReflectiveExecutor.py b/ambari-agent/src/main/python/ambari_agent/PythonReflectiveExecutor.py
index 655b2fc..b476671 100644
--- a/ambari-agent/src/main/python/ambari_agent/PythonReflectiveExecutor.py
+++ b/ambari-agent/src/main/python/ambari_agent/PythonReflectiveExecutor.py
@@ -53,7 +53,9 @@ class PythonReflectiveExecutor(PythonExecutor):
returncode = 1
try:
- with PythonContext(script_dir, pythonCommand):
+ current_context = PythonContext(script_dir, pythonCommand)
+ PythonReflectiveExecutor.last_context = current_context
+ with current_context:
imp.load_source('__main__', script)
except SystemExit as e:
returncode = e.code
@@ -62,7 +64,10 @@ class PythonReflectiveExecutor(PythonExecutor):
except (ClientComponentHasNoStatus, ComponentIsNotRunning):
logger.debug("Reflective command failed with exception:", exc_info=1)
except Exception:
- logger.info("Reflective command failed with exception:", exc_info=1)
+ if current_context.is_forced_revert:
+ logger.info("Hanging status command finished its execution")
+ else:
+ logger.info("Reflective command failed with exception:", exc_info=1)
else:
returncode = 0
@@ -76,6 +81,8 @@ class PythonContext:
def __init__(self, script_dir, pythonCommand):
self.script_dir = script_dir
self.pythonCommand = pythonCommand
+ self.is_reverted = False
+ self.is_forced_revert = False
def __enter__(self):
self.old_sys_path = copy.copy(sys.path)
@@ -88,12 +95,18 @@ class PythonContext:
sys.argv = self.pythonCommand[1:]
def __exit__(self, exc_type, exc_val, exc_tb):
- sys.path = self.old_sys_path
- sys.argv = self.old_agv
- logging.disable(self.old_logging_disable)
- self.revert_sys_modules(self.old_sys_modules)
+ self.revert(is_forced_revert=False)
return False
+ def revert(self, is_forced_revert=True):
+ if not self.is_reverted:
+ self.is_forced_revert = is_forced_revert
+ self.is_reverted = True
+ sys.path = self.old_sys_path
+ sys.argv = self.old_agv
+ logging.disable(self.old_logging_disable)
+ self.revert_sys_modules(self.old_sys_modules)
+
def revert_sys_modules(self, value):
sys.modules.update(value)
http://git-wip-us.apache.org/repos/asf/ambari/blob/dfa16136/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
index 7d04d42..32773b8 100644
--- a/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
+++ b/ambari-agent/src/test/python/ambari_agent/TestActionQueue.py
@@ -225,6 +225,7 @@ class TestActionQueue(TestCase):
retryable_command = {
'commandType': 'EXECUTION_COMMAND',
'role': 'NAMENODE',
+ 'componentName': 'NAMENODE',
'roleCommand': 'INSTALL',
'commandId': '1-1',
'taskId': 19,
@@ -322,6 +323,7 @@ class TestActionQueue(TestCase):
}
status_command = {
'commandType' : ActionQueue.STATUS_COMMAND,
+ 'componentName': 'NAMENODE'
}
wrong_command = {
'commandType' : "SOME_WRONG_COMMAND",
@@ -1126,7 +1128,6 @@ class TestActionQueue(TestCase):
self.assertTrue(runCommand_mock.called)
self.assertEqual(2, runCommand_mock.call_count)
self.assertEqual(1, sleep_mock.call_count)
- sleep_mock.assert_has_calls([call(1)], False)
runCommand_mock.assert_has_calls([
call(command, os.sep + 'tmp' + os.sep + 'ambari-agent' + os.sep + 'output-19.txt',
os.sep + 'tmp' + os.sep + 'ambari-agent' + os.sep + 'errors-19.txt', override_output_files=True, retry=False),
[05/18] ambari git commit: AMBARI-18497 - [Grafana] Replicate HBase
dashboards for System(AMS) HBase (prajwal)
Posted by jo...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/4170ff49/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-misc.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-misc.json b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-misc.json
new file mode 100644
index 0000000..4820ae3
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-misc.json
@@ -0,0 +1,1680 @@
+{
+ "id": null,
+ "title": "AMS HBase - Misc",
+ "originalTitle": "AMS HBase - Misc",
+ "tags": [
+ "ams-hbase"
+ ],
+ "style": "dark",
+ "timezone": "browser",
+ "editable": true,
+ "hideControls": false,
+ "sharedCrosshair": false,
+ "rows": [
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "25px",
+ "panels": [
+ {
+ "content": "<h4 align=\"center\">Miscellaneous metrics related to AMS-HBase for troubleshooting and other purposes. Click on each row title to expand on demand to look at various metrics. </h4>\n<h6 style=\"color:red;\" align=\"center\">This dashboard is managed by Ambari. You may lose any changes made to this dashboard. If you want to customize, make your own copy.</h6>",
+ "editable": true,
+ "error": false,
+ "id": 1,
+ "isNew": true,
+ "links": [],
+ "mode": "html",
+ "span": 12,
+ "style": {},
+ "title": "",
+ "type": "text"
+ }
+ ],
+ "showTitle": false,
+ "title": "Description"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 19,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "master.AssignmentManger.ritCount",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "%"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Master - Regions In Transition",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 20,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "master.AssignmentManger.ritCountOverThreshold",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "%"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Master - Regions In Transition Longer Than Threshold Time",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 22,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "master.AssignmentManger.ritOldestAge",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "%"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Regions In Transition Oldest Age",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Regions In Transition"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 6,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.Master.JvmMetrics.ThreadsRunnable",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Master Num Threads - Runnable",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 13,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.ThreadsRunnable",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer Num Threads - Runnable",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Threads - Runnable"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 5,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.Master.JvmMetrics.ThreadsBlocked",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Master Num Threads - Blocked",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 14,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.ThreadsBlocked",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer Num Threads - Blocked",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Threads - Blocked"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 8,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.Master.JvmMetrics.ThreadsWaiting",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Master Num Threads - Waiting",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 15,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.ThreadsWaiting",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer Num Threads - Waiting",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Threads - Waiting"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 9,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.Master.JvmMetrics.ThreadsTimedWaiting",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Master Num Threads - Timed Waiting",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 16,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.ThreadsTimedWaiting",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer Num Threads - Timed Waiting",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Threads - Timed Waiting"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 7,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.Master.JvmMetrics.ThreadsNew",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Master Num Threads - New",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 17,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.ThreadsNew",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer Num Threads - New",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Threads - New"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 10,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.Master.JvmMetrics.ThreadsTerminated",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Master Num Threads - Terminated",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 18,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.ThreadsTerminated",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer Num Threads - Terminated",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Threads - Terminated"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 23,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.authenticationSuccesses",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer RPC Authentication Successes /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 24,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.authenticationFailures",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer RPC Authentication Failures /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "RPC Authentication"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 3,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.authorizationSuccesses",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer RPC Authorization Successes /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 4,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.authorizationFailures",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer RPC Authorization Failures /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "RPC Authorization"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 12,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "master.Master.exceptions",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Master Exceptions /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 11,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.RegionServer.exceptions",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServers Exceptions /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Exceptions"
+ }
+ ],
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "current": {
+ "text": "ams-hbase",
+ "value": "ams-hbase"
+ },
+ "datasource": null,
+ "hideLabel": true,
+ "includeAll": false,
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "components",
+ "options": [
+ {
+ "selected": true,
+ "text": "ams-hbase",
+ "value": "ams-hbase"
+ }
+ ],
+ "query": "ams-hbase",
+ "refresh": false,
+ "type": "custom"
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "text": "All",
+ "value": ""
+ },
+ "datasource": null,
+ "hideLabel": true,
+ "includeAll": true,
+ "multi": true,
+ "multiFormat": "glob",
+ "name": "hosts",
+ "options": [
+ {
+ "text": "All",
+ "value": "",
+ "selected": true
+ }
+ ],
+ "query": "hosts",
+ "refresh": true,
+ "regex": "",
+ "type": "query"
+ }
+ ]
+ },
+ "annotations": {
+ "list": []
+ },
+ "schemaVersion": 8,
+ "version": 2,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "keepTime": true,
+ "tags": [
+ "ams-hbase"
+ ],
+ "title": "AMS-HBase Dashboards",
+ "type": "dashboards"
+ }
+ ]
+}
\ No newline at end of file
[10/18] ambari git commit: AMBARI-18494 Js error when changing config
group via dropdown. (ababiichuk)
Posted by jo...@apache.org.
AMBARI-18494 Js error when changing config group via dropdown. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/120505f9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/120505f9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/120505f9
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 120505f9a2b4da35604564f0ab066ad67fecd86a
Parents: 013b7bd
Author: ababiichuk <ab...@hortonworks.com>
Authored: Thu Sep 29 17:09:42 2016 +0300
Committer: ababiichuk <ab...@hortonworks.com>
Committed: Fri Sep 30 10:33:49 2016 +0300
----------------------------------------------------------------------
.../app/mixins/common/configs/config_recommendation_parser.js | 2 +-
.../mixins/common/configs/config_recommendation_parser_test.js | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/120505f9/ambari-web/app/mixins/common/configs/config_recommendation_parser.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/configs/config_recommendation_parser.js b/ambari-web/app/mixins/common/configs/config_recommendation_parser.js
index b88cf62..d07d108 100644
--- a/ambari-web/app/mixins/common/configs/config_recommendation_parser.js
+++ b/ambari-web/app/mixins/common/configs/config_recommendation_parser.js
@@ -82,7 +82,7 @@ App.ConfigRecommendationParser = Em.Mixin.create(App.ConfigRecommendations, {
propertiesToDelete.push(config);
} else if (attr === 'visible' || stackProperty) {
/** update config boundaries **/
- updateBoundariesCallback(stackProperty, attr, propertyAttributes[attr], name, fileName, configGroup);
+ updateBoundariesCallback(stackProperty, attr, propertyAttributes[attr], configGroup);
}
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/120505f9/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js b/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js
index f08bbad..c7c24d4 100644
--- a/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js
+++ b/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js
@@ -102,12 +102,12 @@ describe('App.ConfigRecommendationParser', function() {
it('updateBoundariesCallback maximum', function() {
expect(instanceObject.updateBoundariesCallback.calledWith({ name: 'p3', filename: 'fileName1' },
- 'maximum', 100, 'p3', 'fileName1', null)).to.be.true;
+ 'maximum', 100, null)).to.be.true;
});
it('updateBoundariesCallback minimum', function() {
expect(instanceObject.updateBoundariesCallback.calledWith({ name: 'p3', filename: 'fileName1' },
- 'minimum', 1, 'p3', 'fileName1', null)).to.be.true;
+ 'minimum', 1, null)).to.be.true;
});
});
[03/18] ambari git commit: AMBARI-18308. Ambari UI: Memory leak while
adding and removing property. (jaimin)
Posted by jo...@apache.org.
AMBARI-18308. Ambari UI: Memory leak while adding and removing property. (jaimin)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d8cd374b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d8cd374b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d8cd374b
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: d8cd374baa7afca9cdb9e682a28ac1563870baa6
Parents: b8e3c10
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Thu Sep 29 12:08:23 2016 -0700
Committer: Jaimin Jetly <ja...@hortonworks.com>
Committed: Thu Sep 29 13:02:39 2016 -0700
----------------------------------------------------------------------
.../configs/service_configs_by_category_view.js | 535 +++++++++++--------
.../service_configs_by_category_view_test.js | 7 +-
2 files changed, 311 insertions(+), 231 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/d8cd374b/ambari-web/app/views/common/configs/service_configs_by_category_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/service_configs_by_category_view.js b/ambari-web/app/views/common/configs/service_configs_by_category_view.js
index 579348a..3eebfea 100644
--- a/ambari-web/app/views/common/configs/service_configs_by_category_view.js
+++ b/ambari-web/app/views/common/configs/service_configs_by_category_view.js
@@ -52,27 +52,102 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri
* and sorted by <code>displayType</code> and <code>index</code>
* @type {App.ServiceConfigProperty[]}
*/
- categoryConfigs: function () {
- // sort content type configs, sort the rest of configs based on index and then add content array at the end (as intended)
- var categoryConfigs = this.get('categoryConfigsAll'),
- contentOrderedArray = this.orderContentAtLast(categoryConfigs.filterProperty('displayType','content')),
- contentFreeConfigs = categoryConfigs.filter(function(config) {return config.get('displayType')!=='content';}),
- indexOrdered = this.sortByIndex(contentFreeConfigs);
-
- return indexOrdered.concat(contentOrderedArray).filterProperty('isVisible', true);
- }.property('categoryConfigsAll.@each.isVisible').cacheable(),
+ categoryConfigs: [],
/**
- * This method provides all the properties which apply
+ * This is array of all the properties which apply
* to this category, irrespective of visibility. This
* is helpful in Oozie/Hive database configuration, where
* MySQL etc. database options don't show up, because
* they were not visible initially.
* @type {App.ServiceConfigProperty[]}
*/
- categoryConfigsAll: function () {
- return this.get('serviceConfigs').filterProperty('category', this.get('category.name'));
- }.property('serviceConfigs.@each').cacheable(),
+ categoryConfigsAll: [],
+
+ didInsertElement: function () {
+ var self = this;
+ this.setCategoryConfigs();
+ this.setVisibleCategoryConfigs();
+ var isCollapsed = this.calcIsCollapsed();
+ this.set('category.isCollapsed', isCollapsed);
+ if (isCollapsed) {
+ this.$('.accordion-body').hide();
+ }
+ else {
+ this.$('.accordion-body').show();
+ }
+ $('#serviceConfig').tooltip({
+ selector: '[data-toggle=tooltip]',
+ placement: 'top'
+ });
+ this.filteredCategoryConfigs();
+ Em.run.next(function () {
+ self.updateReadOnlyFlags();
+ });
+ },
+
+ willDestroyElement: function () {
+ $('[data-toggle=tooltip]').tooltip('destroy');
+ },
+
+ setVisibleCategoryConfigsOnce: function () {
+ Em.run.once(this, 'addConfigToCategoryConfigs');
+ }.observes('categoryConfigsAll.@each.isVisible'),
+
+ setCategoryConfigs: function () {
+ var categoryConfigsAll = this.get('serviceConfigs').filterProperty('category', this.get('category.name'));
+ if (categoryConfigsAll && categoryConfigsAll.length) {
+ this.set('categoryConfigsAll',categoryConfigsAll);
+ }
+ },
+
+ setVisibleCategoryConfigs: function () {
+ var orderedCategoryConfigs = this.getOrderedCategoryConfigs();
+ this.set('categoryConfigs', orderedCategoryConfigs);
+ },
+
+ /**
+ * This method is invoked when any change in visibility of items of `categoryConfigsAll` array happens and accordingly sets `categoryConfigs` array
+ * Instead of completely resetting `categoryConfigs` array whenever this function is invoked , items are added/removed in `categoryConfigs` (which is binded in template)
+ * Doing so is observed to avoid memory leak
+ */
+ addConfigToCategoryConfigs: function () {
+ var orderedCategoryConfigs = this.getOrderedCategoryConfigs();
+ var categoryConfigs = this.get('categoryConfigs');
+ var configsToAdd = [];
+ var configsToRemove = [];
+ // If property is added or made visible then add it to visible categoryconfigs
+ orderedCategoryConfigs.forEach(function(item){
+ var isPresent = categoryConfigs.filterProperty('name', item.get('name')).findProperty('filename',item.get('filename'));
+ if (!isPresent) {
+ configsToAdd.pushObject(item);
+ }
+ }, this);
+
+ // If property is removed or made invisible, then remove it from visible categoryconfigs
+ categoryConfigs.forEach(function(item){
+ var orderedCategoryConfig = orderedCategoryConfigs.filterProperty('name', item.get('name')).findProperty('filename',item.get('filename'));
+ if (!orderedCategoryConfig) {
+ configsToRemove.pushObject(item);
+ }
+ }, this);
+
+ categoryConfigs.pushObjects(configsToAdd);
+ categoryConfigs.removeObjects(configsToRemove);
+ },
+
+ getOrderedCategoryConfigs: function() {
+ var categoryConfigsAll = this.get('categoryConfigsAll');
+ var orderedCategoryConfigs = [];
+ if (categoryConfigsAll) {
+ var contentOrderedArray = this.orderContentAtLast(categoryConfigsAll.filterProperty('displayType','content')),
+ contentFreeConfigs = categoryConfigsAll.filter(function(config) {return config.get('displayType')!=='content';}),
+ indexOrdered = this.sortByIndex(contentFreeConfigs);
+ orderedCategoryConfigs = indexOrdered.concat(contentOrderedArray).filterProperty('isVisible', true);
+ }
+ return orderedCategoryConfigs;
+ },
+
/**
* If added/removed a serverConfigObject, this property got updated.
@@ -304,30 +379,6 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri
return Em.isNone(this.get('category.isCollapsed')) ? (this.get('category.name').indexOf('Advanced') != -1 || this.get('category.name').indexOf('CapacityScheduler') != -1 || this.get('category.name').indexOf('Custom') != -1) : this.get('category.isCollapsed');
},
- didInsertElement: function () {
- var isCollapsed = this.calcIsCollapsed();
- var self = this;
- this.set('category.isCollapsed', isCollapsed);
- if (isCollapsed) {
- this.$('.accordion-body').hide();
- }
- else {
- this.$('.accordion-body').show();
- }
- $('#serviceConfig').tooltip({
- selector: '[data-toggle=tooltip]',
- placement: 'top'
- });
- this.filteredCategoryConfigs();
- Em.run.next(function () {
- self.updateReadOnlyFlags();
- });
- },
-
- willDestroyElement: function () {
- $('[data-toggle=tooltip]').tooltip('destroy');
- },
-
/**
* @returns {string}
*/
@@ -360,224 +411,243 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri
isNotSaved: true
}, selectedConfigGroup);
}
- this.get('serviceConfigs').pushObject(App.ServiceConfigProperty.create(config));
+ var serviceConfigProperty = App.ServiceConfigProperty.create(config);
+ this.get('serviceConfigs').pushObject(serviceConfigProperty);
+ this.get('categoryConfigsAll').pushObject(serviceConfigProperty);
},
/**
- * Show popup for adding new config-properties
- * @method showAddPropertyWindow
- */
- showAddPropertyWindow: function () {
- var persistController = this;
- var modePersistKey = this.persistKey();
- var selectedConfigGroup = this.get('controller.selectedConfigGroup');
-
- persistController.getUserPref(modePersistKey).pipe(function (data) {
- return !!data;
- },function () {
- return false;
- }).always((function (isBulkMode) {
-
- var category = this.get('category');
- var siteFileName = category.get('siteFileName');
-
- var service = this.get('service');
- var serviceName = service.get('serviceName');
-
- var configsOfFile = service.get('configs').filterProperty('filename', siteFileName);
-
- /**
- * Find duplications within the same confType
- * Result in error, as no duplicated property keys are allowed in the same configType
- * */
- function isDuplicatedConfigKey(name) {
- return configsOfFile.findProperty('name', name);
- }
+ * Find duplications within the same confType
+ * Result in error, as no duplicated property keys are allowed in the same configType
+ * */
+ isDuplicatedConfigKey: function(name) {
+ var category = this.get('category');
+ var siteFileName = category.get('siteFileName');
+
+ var service = this.get('service');
+ var serviceName = service.get('serviceName');
+
+ var configsOfFile = service.get('configs').filterProperty('filename', siteFileName);
+ return configsOfFile.findProperty('name', name);
+ },
- /**
- * find duplications in all confTypes of the service
- * Result in warning, to remind user the existence of a same-named property
- * */
- function isDuplicatedConfigKeyinConfigs(name) {
- var files = [];
- var configFiles = service.get('configs').mapProperty('filename').uniq();
- configFiles.forEach(function(configFile){
- var configsOfFile = service.get('configs').filterProperty('filename', configFile);
- if(configsOfFile.findProperty('name', name)){
- files.push(configFile);
- }
- }, this);
- return files;
- }
+ /**
+ * find duplications in all confTypes of the service
+ * Result in warning, to remind user the existence of a same-named property
+ * */
+ isDuplicatedConfigKeyinConfigs: function(name) {
+ var files = [];
+ var service = this.get('service');
+ var configFiles = service.get('configs').mapProperty('filename').uniq();
+ configFiles.forEach(function (configFile) {
+ var configsOfFile = service.get('configs').filterProperty('filename', configFile);
+ if (configsOfFile.findProperty('name', name)) {
+ files.push(configFile);
+ }
+ }, this);
+ return files;
+ },
- var serviceConfigObj = Ember.Object.create({
- isBulkMode: isBulkMode,
- bulkConfigValue: '',
- bulkConfigError: false,
- bulkConfigErrorMessage: '',
-
- name: '',
- value: '',
- propertyType: [],
- content: ['PASSWORD', 'USER', 'GROUP', 'TEXT', 'ADDITIONAL_USER_PROPERTY', 'NOT_MANAGED_HDFS_PATH', 'VALUE_FROM_PROPERTY_FILE'],
- isKeyError: false,
- showFilterLink: false,
- errorMessage: '',
- observeAddPropertyValue: function () {
- var name = this.get('name');
- if (name.trim() != '') {
- if (validator.isValidConfigKey(name)) {
- if (!isDuplicatedConfigKey(name)) { //no duplication within the same confType
- var files = isDuplicatedConfigKeyinConfigs(name);
- if (files.length > 0) {
- //still check for a warning, if there are duplications across confTypes
- this.set('showFilterLink', true);
- this.set('isKeyWarning', true);
- this.set('isKeyError', false);
- this.set('warningMessage', Em.I18n.t('services.service.config.addPropertyWindow.error.derivedKey.location').format(files.join(" ")));
- } else {
- this.set('showFilterLink', false);
- this.set('isKeyError', false);
- this.set('isKeyWarning', false);
- this.set('errorMessage', '');
- }
- } else {
- this.set('showFilterLink', true);
- this.set('isKeyError', true);
- this.set('isKeyWarning', false);
- this.set('errorMessage', Em.I18n.t('services.service.config.addPropertyWindow.error.derivedKey.infile'));
- }
+ processAddPropertyWindow: function(isBulkMode, modePersistKey) {
+ var self = this;
+ var category = this.get('category');
+ var siteFileName = category.get('siteFileName');
+
+ var service = this.get('service');
+ var serviceName = service.get('serviceName');
+
+ var serviceConfigObj = Em.Object.create({
+ isBulkMode: isBulkMode,
+ bulkConfigValue: '',
+ bulkConfigError: false,
+ bulkConfigErrorMessage: '',
+
+ name: '',
+ value: '',
+ isKeyError: false,
+ showFilterLink: false,
+ errorMessage: '',
+ observeAddPropertyValue: function () {
+ var name = this.get('name');
+ if (name.trim() != '') {
+ if (validator.isValidConfigKey(name)) {
+ if (!self.isDuplicatedConfigKey(name)) { //no duplication within the same confType
+ var files = self.isDuplicatedConfigKeyinConfigs(name);
+ if (files.length > 0) {
+ //still check for a warning, if there are duplications across confTypes
+ this.set('showFilterLink', true);
+ this.set('isKeyWarning', true);
+ this.set('isKeyError', false);
+ this.set('warningMessage', Em.I18n.t('services.service.config.addPropertyWindow.error.derivedKey.location').format(files.join(" ")));
} else {
this.set('showFilterLink', false);
- this.set('isKeyError', true);
+ this.set('isKeyError', false);
this.set('isKeyWarning', false);
- this.set('errorMessage', Em.I18n.t('form.validator.configKey'));
+ this.set('errorMessage', '');
}
} else {
- this.set('showFilterLink', false);
+ this.set('showFilterLink', true);
this.set('isKeyError', true);
this.set('isKeyWarning', false);
- this.set('errorMessage', Em.I18n.t('services.service.config.addPropertyWindow.error.required'));
+ this.set('errorMessage', Em.I18n.t('services.service.config.addPropertyWindow.error.derivedKey.infile'));
}
- }.observes('name')
- });
-
- function processConfig(config, callback) {
- var lines = config.split('\n');
- var errorMessages = [];
- var parsedConfig = {};
- var propertyCount = 0;
-
- function lineNumber(index) {
- return Em.I18n.t('services.service.config.addPropertyWindow.error.lineNumber').format(index + 1);
+ } else {
+ this.set('showFilterLink', false);
+ this.set('isKeyError', true);
+ this.set('isKeyWarning', false);
+ this.set('errorMessage', Em.I18n.t('form.validator.configKey'));
}
+ } else {
+ this.set('showFilterLink', false);
+ this.set('isKeyError', true);
+ this.set('isKeyWarning', false);
+ this.set('errorMessage', Em.I18n.t('services.service.config.addPropertyWindow.error.required'));
+ }
+ }
+ });
- lines.forEach(function (line, index) {
- if (line.trim() === '') {
- return;
- }
- var delimiter = '=';
- var delimiterPosition = line.indexOf(delimiter);
- if (delimiterPosition === -1) {
- errorMessages.push(lineNumber(index) + Em.I18n.t('services.service.config.addPropertyWindow.error.format'));
- return;
- }
- var key = Em.Handlebars.Utils.escapeExpression(line.slice(0, delimiterPosition).trim());
- var value = line.slice(delimiterPosition + 1);
- if (validator.isValidConfigKey(key)) {
- if (!isDuplicatedConfigKey(key) && !(key in parsedConfig)) {
- parsedConfig[key] = value;
- propertyCount++;
- } else {
- errorMessages.push(lineNumber(index) + Em.I18n.t('services.service.config.addPropertyWindow.error.derivedKey.specific').format(key));
- }
+ App.ModalPopup.show({
+ classNames: ['sixty-percent-width-modal'],
+ header: Em.I18n.t('installer.step7.config.addProperty'),
+ primary: Em.I18n.t('add'),
+ secondary: Em.I18n.t('common.cancel'),
+ onPrimary: function () {
+ var propertyObj = {
+ filename: siteFileName,
+ serviceName: serviceName,
+ categoryName: category.get('name')
+ };
+ if (serviceConfigObj.isBulkMode) {
+ var popup = this;
+ this.processConfig(serviceConfigObj.bulkConfigValue, function (error, parsedConfig) {
+ if (error) {
+ serviceConfigObj.set('bulkConfigError', true);
+ serviceConfigObj.set('bulkConfigErrorMessage', error);
} else {
- errorMessages.push(lineNumber(index) + Em.I18n.t('form.validator.configKey.specific').format(key));
+ for (var key in parsedConfig) {
+ if (parsedConfig.hasOwnProperty(key)) {
+ propertyObj.name = key;
+ propertyObj.value = parsedConfig[key];
+ self.createProperty(propertyObj);
+ }
+ }
+ popup.hide();
}
});
-
- if (errorMessages.length > 0) {
- callback(errorMessages.join('<br>'), parsedConfig);
+ } else {
+ serviceConfigObj.observeAddPropertyValue();
+ /**
+ * For the first entrance use this if (serviceConfigObj.name.trim() != '')
+ */
+ if (!serviceConfigObj.isKeyError) {
+ propertyObj.name = serviceConfigObj.get('name');
+ propertyObj.value = serviceConfigObj.get('value');
+ self.createProperty(propertyObj);
+ this.hide();
}
- else if (propertyCount === 0) {
- callback(Em.I18n.t('services.service.config.addPropertyWindow.propertiesPlaceholder', parsedConfig));
+ }
+ },
+
+ lineNumber: function(index) {
+ return Em.I18n.t('services.service.config.addPropertyWindow.error.lineNumber').format(index + 1);
+ },
+
+ processConfig: function(config, callback) {
+ var lines = config.split('\n');
+ var errorMessages = [];
+ var parsedConfig = {};
+ var propertyCount = 0;
+ lines.forEach(function (line, index) {
+ if (line.trim() === '') {
+ return;
}
- else {
- callback(null, parsedConfig);
+ var delimiter = '=';
+ var delimiterPosition = line.indexOf(delimiter);
+ if (delimiterPosition === -1) {
+ errorMessages.push(this.lineNumber(index) + Em.I18n.t('services.service.config.addPropertyWindow.error.format'));
+ return;
}
- }
-
- App.ModalPopup.show({
- classNames: ['sixty-percent-width-modal'],
- header: Em.I18n.t('installer.step7.config.addProperty'),
- primary: Em.I18n.t('add'),
- secondary: Em.I18n.t('common.cancel'),
- onPrimary: function () {
- var propertyObj = {
- filename: siteFileName,
- serviceName: serviceName,
- categoryName: category.get('name')
- };
- if (serviceConfigObj.isBulkMode) {
- var popup = this;
- processConfig(serviceConfigObj.bulkConfigValue, function (error, parsedConfig) {
- if (error) {
- serviceConfigObj.set('bulkConfigError', true);
- serviceConfigObj.set('bulkConfigErrorMessage', error);
- } else {
- for (var key in parsedConfig) {
- if (parsedConfig.hasOwnProperty(key)) {
- propertyObj.name = key;
- propertyObj.value = parsedConfig[key];
- persistController.createProperty(propertyObj);
- }
- }
- popup.hide();
- }
- });
- }
- else {
- serviceConfigObj.observeAddPropertyValue();
- /**
- * For the first entrance use this if (serviceConfigObj.name.trim() != '')
- */
- if (!serviceConfigObj.isKeyError) {
- propertyObj.name = serviceConfigObj.get('name');
- propertyObj.value = serviceConfigObj.get('value');
- propertyObj.propertyType = serviceConfigObj.get('propertyType');
- persistController.createProperty(propertyObj);
- this.hide();
- }
- }
- },
- bodyClass: Em.View.extend({
- fileName: siteFileName,
- notMisc: serviceName !== 'MISC',
- templateName: require('templates/common/configs/addPropertyWindow'),
- controllerBinding: 'App.router.mainServiceInfoConfigsController',
- serviceConfigObj: serviceConfigObj,
- didInsertElement: function () {
- App.tooltip(this.$("[data-toggle=tooltip]"), {
- placement: "top"
- });
- },
- toggleBulkMode: function () {
- this.toggleProperty('serviceConfigObj.isBulkMode');
- persistController.postUserPref(modePersistKey, this.get('serviceConfigObj.isBulkMode'));
- },
- filterByKey: function (event) {
- var controller = (App.router.get('currentState.name') == 'configs')
- ? App.router.get('mainServiceInfoConfigsController')
- : App.router.get('wizardStep7Controller');
- this.get('parentView').onClose();
- controller.set('filter', event.view.get('serviceConfigObj.name'));
+ var key = Em.Handlebars.Utils.escapeExpression(line.slice(0, delimiterPosition).trim());
+ var value = line.slice(delimiterPosition + 1);
+ if (validator.isValidConfigKey(key)) {
+ if (!self.isDuplicatedConfigKey(key) && !(key in parsedConfig)) {
+ parsedConfig[key] = value;
+ propertyCount++;
+ } else {
+ errorMessages.push(this.lineNumber(index) + Em.I18n.t('services.service.config.addPropertyWindow.error.derivedKey.specific').format(key));
}
- })
+ } else {
+ errorMessages.push(this.lineNumber(index) + Em.I18n.t('form.validator.configKey.specific').format(key));
+ }
});
- }).bind(this));
+ if (errorMessages.length > 0) {
+ callback(errorMessages.join('<br>'), parsedConfig);
+ }
+ else if (propertyCount === 0) {
+ callback(Em.I18n.t('services.service.config.addPropertyWindow.propertiesPlaceholder', parsedConfig));
+ }
+ else {
+ callback(null, parsedConfig);
+ }
+ },
+ willDestroyElement: function () {
+ serviceConfigObj.destroy();
+ this._super();
+ },
+ bodyClass: Em.View.extend({
+ fileName: siteFileName,
+ notMisc: serviceName !== 'MISC',
+ templateName: require('templates/common/configs/addPropertyWindow'),
+ serviceConfigObj: serviceConfigObj,
+ didInsertElement: function () {
+ this._super();
+ serviceConfigObj.addObserver('name', serviceConfigObj, 'observeAddPropertyValue');
+ App.tooltip(this.$("[data-toggle=tooltip]"), {
+ placement: "top"
+ });
+ },
+ willDestroyElement: function () {
+ this.$().popover('destroy');
+ serviceConfigObj.removeObserver('name', serviceConfigObj, 'observeAddPropertyValue');
+ this.set('serviceConfigObj', null);
+ this._super();
+ },
+ toggleBulkMode: function () {
+ this.toggleProperty('serviceConfigObj.isBulkMode');
+ self.postUserPref(modePersistKey, this.get('serviceConfigObj.isBulkMode'));
+ },
+ filterByKey: function (event) {
+ var controller = (App.router.get('currentState.name') == 'configs')
+ ? App.router.get('mainServiceInfoConfigsController')
+ : App.router.get('wizardStep7Controller');
+ this.get('parentView').onClose();
+ controller.set('filter', event.view.get('serviceConfigObj.name'));
+ }
+ })
+ });
+ },
+
+ /**
+ * Show popup for adding new config-properties
+ * @method showAddPropertyWindow
+ */
+ showAddPropertyWindow: function () {
+ var persistController = this;
+ var modePersistKey = this.persistKey();
+ var selectedConfigGroup = this.get('controller.selectedConfigGroup');
+
+ persistController.getUserPref(modePersistKey).then(function (data) {
+ return !!data;
+ },function () {
+ return false;
+ }).always((function (isBulkMode) {
+ persistController.processAddPropertyWindow(isBulkMode, modePersistKey);
+ }));
},
+
+
/**
* Toggle <code>isFinal</code> for selected config-property if <code>isNotEditable</code> is false
* @param {object} event
@@ -589,6 +659,7 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri
return;
}
serviceConfigProperty.toggleProperty('isFinal');
+ serviceConfigProperty = null;
},
/**
@@ -598,7 +669,6 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri
*/
removeProperty: function (event) {
var serviceConfigProperty = event.contexts[0];
- this.get('serviceConfigs').removeObject(serviceConfigProperty);
// push config's file name if this config was stored on server
if (!serviceConfigProperty.get('isNotSaved')) {
var modifiedFileNames = this.get('controller.modifiedFileNames'),
@@ -614,6 +684,9 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri
}
}
}
+ this.get('serviceConfigs').removeObject(serviceConfigProperty);
+ this.get('categoryConfigsAll').removeObject(serviceConfigProperty);
+ serviceConfigProperty = null;
Em.$('body>.tooltip').remove(); //some tooltips get frozen when their owner's DOM element is removed
},
@@ -625,6 +698,7 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri
setRecommendedValue: function (event) {
var serviceConfigProperty = event.contexts[0];
serviceConfigProperty.set('value', serviceConfigProperty.get('recommendedValue'));
+ serviceConfigProperty = null;
},
/**
@@ -649,6 +723,7 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri
serviceConfigProperty.set('isFinal', savedIsFinal);
}
this.configChangeObserver(serviceConfigProperty);
+ serviceConfigProperty = null;
Em.$('body>.tooltip').remove(); //some tooltips get frozen when their owner's DOM element is removed
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/d8cd374b/ambari-web/test/views/common/configs/service_configs_by_category_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/common/configs/service_configs_by_category_view_test.js b/ambari-web/test/views/common/configs/service_configs_by_category_view_test.js
index 7b6c451..9b49653 100644
--- a/ambari-web/test/views/common/configs/service_configs_by_category_view_test.js
+++ b/ambari-web/test/views/common/configs/service_configs_by_category_view_test.js
@@ -308,9 +308,14 @@ describe('App.ServiceConfigsByCategoryView', function () {
category: {
name: item.categoryNname
},
- serviceConfigs: item.serviceConfigs
+ serviceConfigs: item.serviceConfigs,
+ filteredCategoryConfigs: Em.K,
+ collapseCategory: Em.K
});
+ view.setCategoryConfigs();
+ view.setVisibleCategoryConfigs();
expect(view.get('categoryConfigs').mapProperty('resultId')).to.deep.equal(result);
+ view.destroy();
});
});
});
[04/18] ambari git commit: AMBARI-18497 - [Grafana] Replicate HBase
dashboards for System(AMS) HBase (prajwal)
Posted by jo...@apache.org.
http://git-wip-us.apache.org/repos/asf/ambari/blob/4170ff49/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-regionservers.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-regionservers.json b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-regionservers.json
new file mode 100644
index 0000000..4ec784e
--- /dev/null
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/files/grafana-dashboards/default/grafana-ams-hbase-regionservers.json
@@ -0,0 +1,9063 @@
+{
+ "id": null,
+ "title": "AMS HBase - RegionServers",
+ "originalTitle": "AMS HBase - RegionServers",
+ "tags": [
+ "ams-hbase"
+ ],
+ "style": "dark",
+ "timezone": "browser",
+ "editable": true,
+ "hideControls": false,
+ "sharedCrosshair": false,
+ "rows": [
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "25px",
+ "panels": [
+ {
+ "content": "<h4 align=\"center\">Performance related metrics for AMS-HBase. Click on each row title to expand on demand to look at various metrics per regionserver. </h4>\n<h6 style=\"color:red;\" align=\"center\">This dashboard is managed by Ambari. You may lose any changes made to this dashboard. If you want to customize, make your own copy.</h6>",
+ "editable": true,
+ "error": false,
+ "id": 99,
+ "isNew": true,
+ "links": [],
+ "mode": "html",
+ "span": 12,
+ "style": {},
+ "title": "",
+ "type": "text"
+ }
+ ],
+ "title": "Description"
+ },
+ {
+ "collapse": false,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 1,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "max",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "regionserver.Server.regionCount",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "%"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Regions",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Regions"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "200px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 6,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.storeFileCount",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.storeFileSize",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Store File Size",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 23,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.storeFileCount"
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.storeFileCount",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Store File Count",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Store Files"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 7,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.totalRequestCount",
+ "precision": "default",
+ "refId": "C",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Total Requests /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 24,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.writeRequestCount",
+ "precision": "default",
+ "refId": "D",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Write Requests /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "wps",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 101,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.readRequestCount",
+ "precision": "default",
+ "refId": "C",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Read Requests /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "rps",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Requests"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 8,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_num_ops",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Get Requests /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 25,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.ScanNext_num_ops",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Scan Next Requests /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Requests - Get / Scan"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 26,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_num_ops",
+ "precision": "default",
+ "refId": "C",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Mutate Requests /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 27,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Delete_num_ops",
+ "precision": "default",
+ "refId": "D",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Delete Requests /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Requests - Mutate / Delete"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 29,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Append_num_ops",
+ "precision": "default",
+ "refId": "F",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Append Requests /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 28,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Increment_num_ops",
+ "precision": "default",
+ "refId": "E",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Increment Requests /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 30,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Replay_num_ops",
+ "precision": "default",
+ "refId": "H",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Replay Requests /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Num Requests - Append / Increment"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "200px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 10,
+ "isNew": true,
+ "leftYAxisLabel": "",
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "hosts": "",
+ "metric": "jvm.RegionServer.JvmMetrics.MemHeapUsedM",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer Memory Used",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "mbytes",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 11,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "jvm.RegionServer.JvmMetrics.MemNonHeapUsedM",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "RegionServer Offheap Memory Used",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "mbytes",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Memory"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 34,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.memStoreSize",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Memstore Size",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Memstore"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 35,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheSize",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "BlockCache Size",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 131,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheFreeSize",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "BlockCache Free Size",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": null,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 130,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheCount",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num Blocks in Cache",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "BlockCache - Overview"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 13,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.blockCacheCountHitPercent",
+ "yaxis": 2
+ },
+ {
+ "alias": "regionserver.Server.blockCacheExpressHitPercent",
+ "yaxis": 2
+ }
+ ],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheHitCount",
+ "precision": "default",
+ "refId": "D",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num BlockCache Hits /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "percent"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 32,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.blockCacheCountHitPercent",
+ "yaxis": 2
+ },
+ {
+ "alias": "regionserver.Server.blockCacheExpressHitPercent",
+ "yaxis": 2
+ }
+ ],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheMissCount",
+ "precision": "default",
+ "refId": "E",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num BlockCache Misses /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "percent"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 36,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.blockCacheCountHitPercent",
+ "yaxis": 2
+ },
+ {
+ "alias": "regionserver.Server.blockCacheExpressHitPercent",
+ "yaxis": 2
+ }
+ ],
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheEvictionCount",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": "",
+ "transform": "rate"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Num BlockCache Evictions /s",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ops",
+ "percent"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 38,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheExpressHitPercent",
+ "precision": "default",
+ "refId": "C",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "BlockCache Caching Hit Percent",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "percent",
+ "percent"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMax": null,
+ "leftMin": null,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 37,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.blockCacheCountHitPercent",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "BlockCache Hit Percent",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "percent",
+ "percent"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "BlockCache - Hits/Misses"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 14,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Get_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_mean",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Get Latencies - Mean",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 39,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Get_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_median",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Get Latencies - Median",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 40,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Get_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_75th_percentile",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Get Latencies - 75th Percentile",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 41,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Get_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_95th_percentile",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Get Latencies - 95th Percentile",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 42,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Get_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_99th_percentile",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Get Latencies - 99th Percentile",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 43,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "regionserver.Server.Get_num_ops",
+ "yaxis": 2
+ }
+ ],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Get_max",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Get Latencies - Max",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Operation Latencies - Get"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 75,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.ScanTime_mean",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Scan Next Latencies - Mean",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 76,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.ScanTime_median",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Scan Next Latencies - Median",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 77,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.ScanTime_75th_percentile",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Scan Next Latencies - 75th Percentile",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 78,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.ScanTime_95th_percentile",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Scan Next Latencies - 95th Percentile",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 79,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.ScanTime_99th_percentile",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Scan Next Latencies - 99th Percentile",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 80,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.ScanTime_max",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Scan Next Latencies - Max",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Operation Latencies - Scan Next"
+ },
+ {
+ "collapse": true,
+ "editable": true,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 50,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_mean",
+ "precision": "default",
+ "refId": "A",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Mutate Latencies - Mean",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 45,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_median",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Mutate Latencies - Median",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 46,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_75th_percentile",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Mutate Latencies - 75th Percentile",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 47,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_95th_percentile",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Mutate Latencies - 95th Percentile",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 48,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+ "metric": "regionserver.Server.Mutate_99th_percentile",
+ "precision": "default",
+ "refId": "B",
+ "templatedHost": ""
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Mutate Latencies - 99th Percentile",
+ "tooltip": {
+ "shared": false,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "y-axis": true,
+ "y_formats": [
+ "ms",
+ "short"
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "datasource": null,
+ "editable": true,
+ "error": false,
+ "fill": 0,
+ "grid": {
+ "leftLogBase": 10,
+ "leftMax": null,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMax": null,
+ "rightMin": 0,
+ "threshold1": null,
+ "threshold1Color": "rgba(216, 200, 27, 0.27)",
+ "threshold2": null,
+ "threshold2Color": "rgba(234, 112, 112, 0.22)"
+ },
+ "id": 49,
+ "isNew": true,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "connected",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "aggregator": "avg",
+ "app": "ams-hbase",
+ "downsampleAggregator": "avg",
+ "errors": {},
+
<TRUNCATED>
[14/18] ambari git commit: AMBARI-18505. Ambari Status commands
should enforce a timeout < heartbeat interval (aonishuk)
Posted by jo...@apache.org.
AMBARI-18505. Ambari Status commands should enforce a timeout < heartbeat interval (aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d6d5df5c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d6d5df5c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d6d5df5c
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: d6d5df5c47f28916fbeec1d019f07d615a4e8d4d
Parents: dfa1613
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Mon Oct 3 12:39:28 2016 +0300
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Mon Oct 3 12:39:28 2016 +0300
----------------------------------------------------------------------
ambari-agent/src/main/python/ambari_agent/ActionQueue.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/d6d5df5c/ambari-agent/src/main/python/ambari_agent/ActionQueue.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/ambari_agent/ActionQueue.py b/ambari-agent/src/main/python/ambari_agent/ActionQueue.py
index 86918e5..c03ee4f 100644
--- a/ambari-agent/src/main/python/ambari_agent/ActionQueue.py
+++ b/ambari-agent/src/main/python/ambari_agent/ActionQueue.py
@@ -87,7 +87,7 @@ class ActionQueue(threading.Thread):
self.tmpdir = config.get('agent', 'prefix')
self.customServiceOrchestrator = CustomServiceOrchestrator(config, controller)
self.parallel_execution = config.get_parallel_exec_option()
- self.status_command_timeout = int(self.config.get('agent', 'status_command_timeout', 5))
+ self.status_command_timeout = int(self.config.get('agent', 'status_command_timeout', 2))
if self.parallel_execution == 1:
logger.info("Parallel execution is enabled, will execute agent commands in parallel")
[18/18] ambari git commit: Merge branch 'trunk' into
branch-feature-AMBARI-18456
Posted by jo...@apache.org.
Merge branch 'trunk' into branch-feature-AMBARI-18456
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/aee49b67
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/aee49b67
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/aee49b67
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: aee49b67f5daf558e0dfa2091bb97c2619e3c097
Parents: d53c9e2 f2bcbbe
Author: Jonathan Hurley <jh...@hortonworks.com>
Authored: Mon Oct 3 14:04:20 2016 -0400
Committer: Jonathan Hurley <jh...@hortonworks.com>
Committed: Mon Oct 3 14:04:20 2016 -0400
----------------------------------------------------------------------
.../ui/admin-web/app/views/groups/edit.html | 4 +-
ambari-agent/conf/unix/ambari-agent.ini | 1 +
.../src/main/python/ambari_agent/ActionQueue.py | 22 +-
.../src/main/python/ambari_agent/HostCleanup.py | 6 +-
.../ambari_agent/PythonReflectiveExecutor.py | 25 +-
.../test/python/ambari_agent/TestActionQueue.py | 3 +-
.../ambari/logfeeder/LogFeederAMSClient.java | 9 +-
.../logsearch/solr/metrics/SolrAmsClient.java | 9 +-
.../timeline/AbstractTimelineMetricsSink.java | 59 +-
.../availability/MetricCollectorHATest.java | 22 +-
.../cache/HandleConnectExceptionTest.java | 12 +-
.../sink/flume/FlumeTimelineMetricsSink.java | 14 +-
.../timeline/HadoopTimelineMetricsSink.java | 27 +-
.../timeline/HadoopTimelineMetricsSinkTest.java | 12 +-
.../kafka/KafkaTimelineMetricsReporter.java | 14 +-
.../storm/StormTimelineMetricsReporter.java | 14 +-
.../sink/storm/StormTimelineMetricsSink.java | 15 +-
.../storm/StormTimelineMetricsReporter.java | 13 +-
.../sink/storm/StormTimelineMetricsSink.java | 15 +-
.../system/impl/AmbariMetricSinkImpl.java | 12 +-
.../org/apache/ambari/server/state/Alert.java | 7 +-
.../1.6.1.2.2.0/package/scripts/params.py | 5 -
.../hadoop-metrics2-accumulo.properties.j2 | 12 +-
.../default/grafana-ams-hbase-home.json | 2558 +++++
.../default/grafana-ams-hbase-misc.json | 1680 ++++
.../grafana-ams-hbase-regionservers.json | 9063 ++++++++++++++++++
.../hadoop-metrics2-hbase.properties.j2 | 14 +-
.../FLUME/1.4.0.2.0/package/scripts/flume.py | 1 +
.../FLUME/1.4.0.2.0/package/scripts/params.py | 7 -
.../templates/flume-metrics2.properties.j2 | 2 +-
.../0.96.0.2.0/package/scripts/params_linux.py | 12 -
...-metrics2-hbase.properties-GANGLIA-MASTER.j2 | 15 +-
...doop-metrics2-hbase.properties-GANGLIA-RS.j2 | 15 +-
.../hadoop-metrics2.properties.xml | 18 +-
.../0.12.0.2.0/package/scripts/params_linux.py | 5 -
.../hadoop-metrics2-hivemetastore.properties.j2 | 3 +-
.../hadoop-metrics2-hiveserver2.properties.j2 | 4 +-
.../templates/hadoop-metrics2-llapdaemon.j2 | 3 +-
.../hadoop-metrics2-llaptaskscheduler.j2 | 3 +-
.../KAFKA/0.8.1/configuration/kafka-broker.xml | 2 +-
.../KAFKA/0.8.1/package/scripts/kafka.py | 2 +-
.../KAFKA/0.8.1/package/scripts/params.py | 7 -
.../common-services/KAFKA/0.9.0/widgets.json | 18 +-
.../STORM/0.9.1/package/scripts/params_linux.py | 11 -
.../0.9.1/package/templates/config.yaml.j2 | 6 +-
.../templates/storm-metrics2.properties.j2 | 2 +-
.../2.0.6/hooks/before-START/scripts/params.py | 7 -
.../templates/hadoop-metrics2.properties.j2 | 18 +-
.../stacks/HDP/2.0.6/services/stack_advisor.py | 10 +-
.../apache/ambari/server/state/AlertTest.java | 53 +
.../service/manage_config_groups_controller.js | 2 +-
.../configs/config_recommendation_parser.js | 2 +-
ambari-web/app/utils/hosts.js | 2 +-
.../app/views/common/chart/linear_time.js | 2 +-
.../configs/service_configs_by_category_view.js | 535 +-
.../config_recommendation_parser_test.js | 4 +-
.../service_configs_by_category_view_test.js | 7 +-
57 files changed, 13991 insertions(+), 434 deletions(-)
----------------------------------------------------------------------
[09/18] ambari git commit: AMBARI-18493 Error on manage group popup.
(ababiichuk)
Posted by jo...@apache.org.
AMBARI-18493 Error on manage group popup. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/013b7bd0
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/013b7bd0
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/013b7bd0
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 013b7bd08117abc082400279f7b24d33a9819e34
Parents: 32ab17b
Author: ababiichuk <ab...@hortonworks.com>
Authored: Thu Sep 29 15:40:22 2016 +0300
Committer: ababiichuk <ab...@hortonworks.com>
Committed: Fri Sep 30 10:33:49 2016 +0300
----------------------------------------------------------------------
.../controllers/main/service/manage_config_groups_controller.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/013b7bd0/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
index ad44b9c..539d03e 100644
--- a/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
+++ b/ambari-web/app/controllers/main/service/manage_config_groups_controller.js
@@ -931,7 +931,7 @@ App.ManageConfigGroupsController = Em.Controller.extend(App.ConfigOverridable, {
var errors = [];
var self = this;
var finishFunction = function (xhr, text, errorThrown) {
- if (xhr && errorThrown) {
+ if (xhr && typeof (errorThrown) === 'string') {
var error = xhr.status + "(" + errorThrown + ") ";
try {
var json = $.parseJSON(xhr.responseText);
[16/18] ambari git commit: AMBARI-18499 Ability to remove broken
symbolic links via HostCleanup.py (dili)
Posted by jo...@apache.org.
AMBARI-18499 Ability to remove broken symbolic links via HostCleanup.py (dili)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7b15e388
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7b15e388
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7b15e388
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 7b15e388c37cd2cabf224568760ab127d07412ca
Parents: 30eadbf
Author: Di Li <di...@apache.org>
Authored: Mon Oct 3 11:44:52 2016 -0400
Committer: Di Li <di...@apache.org>
Committed: Mon Oct 3 11:44:52 2016 -0400
----------------------------------------------------------------------
ambari-agent/src/main/python/ambari_agent/HostCleanup.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/7b15e388/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/ambari_agent/HostCleanup.py b/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
index e9ae8e5..a3c72e6 100644
--- a/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
+++ b/ambari-agent/src/main/python/ambari_agent/HostCleanup.py
@@ -405,13 +405,13 @@ class HostCleanup:
def do_erase_files_silent(self, pathList):
if pathList:
for path in pathList:
- if path and os.path.exists(path):
+ if path and ( os.path.exists(path) or os.path.islink(path) ):
try:
os.remove(path)
except:
- logger.warn("Failed to delete file: " + path + ", error: " + str(sys.exc_info()[0]))
+ logger.warn("Failed to delete file: {0}, error: {1}".format(path, str(sys.exc_info()[0])))
else:
- logger.info("File doesn't exists: " + path)
+ logger.info("File doesn't exists: {0}".format(path))
return 0
def do_delete_group(self):
[02/18] ambari git commit: AMBARI-18485 - Kafka Widgets show
incorrect values - Ambari Web (prajwal)
Posted by jo...@apache.org.
AMBARI-18485 - Kafka Widgets show incorrect values - Ambari Web (prajwal)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b8e3c10a
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b8e3c10a
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b8e3c10a
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: b8e3c10abf1c49506481b35c2ecf2ed081289ecf
Parents: 84c172c
Author: Prajwal Rao <pr...@gmail.com>
Authored: Thu Sep 29 12:43:20 2016 -0700
Committer: Prajwal Rao <pr...@gmail.com>
Committed: Thu Sep 29 12:43:20 2016 -0700
----------------------------------------------------------------------
.../common-services/KAFKA/0.9.0/widgets.json | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/b8e3c10a/ambari-server/src/main/resources/common-services/KAFKA/0.9.0/widgets.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.9.0/widgets.json b/ambari-server/src/main/resources/common-services/KAFKA/0.9.0/widgets.json
index 7237236..d513075 100644
--- a/ambari-server/src/main/resources/common-services/KAFKA/0.9.0/widgets.json
+++ b/ambari-server/src/main/resources/common-services/KAFKA/0.9.0/widgets.json
@@ -56,8 +56,8 @@
"is_visible": true,
"metrics": [
{
- "name": "kafka.controller.KafkaController.ActiveControllerCount",
- "metric_path": "metrics/kafka/controller/KafkaController/ActiveControllerCount",
+ "name": "kafka.controller.KafkaController.ActiveControllerCount._sum",
+ "metric_path": "metrics/kafka/controller/KafkaController/ActiveControllerCount._sum",
"service_name": "KAFKA",
"component_name": "KAFKA_BROKER"
}
@@ -65,7 +65,7 @@
"values": [
{
"name": "Active Controller Count",
- "value": "${kafka.controller.KafkaController.ActiveControllerCount}"
+ "value": "${kafka.controller.KafkaController.ActiveControllerCount._sum}"
}
],
"properties": {
@@ -138,8 +138,8 @@
"is_visible": true,
"metrics": [
{
- "name": "kafka.server.ReplicaManager.PartitionCount",
- "metric_path": "metrics/kafka/server/ReplicaManager/PartitionCount",
+ "name": "kafka.server.ReplicaManager.PartitionCount._sum",
+ "metric_path": "metrics/kafka/server/ReplicaManager/PartitionCount._sum",
"service_name": "KAFKA",
"component_name": "KAFKA_BROKER"
},
@@ -150,8 +150,8 @@
"component_name": "KAFKA_BROKER"
},
{
- "name": "kafka.server.ReplicaManager.LeaderCount",
- "metric_path": "metrics/kafka/server/ReplicaManager/LeaderCount",
+ "name": "kafka.server.ReplicaManager.LeaderCount._sum",
+ "metric_path": "metrics/kafka/server/ReplicaManager/LeaderCount._sum",
"service_name": "KAFKA",
"component_name": "KAFKA_BROKER"
}
@@ -159,7 +159,7 @@
"values": [
{
"name": "Partitions count",
- "value": "${kafka.server.ReplicaManager.PartitionCount}"
+ "value": "${kafka.server.ReplicaManager.PartitionCount._sum}"
},
{
"name": "Under Replicated Partitions",
@@ -167,7 +167,7 @@
},
{
"name": "Leader Count",
- "value": "${kafka.server.ReplicaManager.LeaderCount}"
+ "value": "${kafka.server.ReplicaManager.LeaderCount._sum}"
}
],
"properties": {
[15/18] ambari git commit: AMBARI-18488. Delete group button always
shows tooltip "Cannot Delete Group" (alexantonenko)
Posted by jo...@apache.org.
AMBARI-18488. Delete group button always shows tooltip "Cannot Delete Group" (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/30eadbf0
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/30eadbf0
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/30eadbf0
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 30eadbf07fe601931e9029c4a7007218b62194ad
Parents: d6d5df5
Author: Alex Antonenko <hi...@gmail.com>
Authored: Mon Oct 3 15:22:34 2016 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Mon Oct 3 15:22:57 2016 +0300
----------------------------------------------------------------------
.../src/main/resources/ui/admin-web/app/views/groups/edit.html | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/30eadbf0/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
----------------------------------------------------------------------
diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
index 8271432..78a6884 100644
--- a/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
+++ b/ambari-admin/src/main/resources/ui/admin-web/app/views/groups/edit.html
@@ -24,7 +24,7 @@
<div class="pull-right top-margin-4">
<div ng-switch="group.ldap_group">
<button ng-switch-when="true" class="btn disabled deletegroup-btn deleteuser-btn" tooltip="{{'common.cannotDelete' | translate: '{term: constants.group}'}}">{{'common.delete' | translate: '{term: constants.group}'}}</button>
- <button ng-switch-when="false" class="btn btn-danger deletegroup-btn" ng-click="deleteGroup(group)" tooltip="{{'common.cannotDelete' | translate: '{term: constants.group}'}}">{{'common.delete' | translate: '{term: constants.group}'}}</button>
+ <button ng-switch-when="false" class="btn btn-danger deletegroup-btn" ng-click="deleteGroup(group)">{{'common.delete' | translate: '{term: constants.group}'}}</button>
</div>
</div>
@@ -92,4 +92,4 @@
<div class="alert alert-info hide-soft" ng-class="{'visible' : !privileges}">{{'common.alerts.noPrivilegesDescription' | translate: '{term: constants.group.toLowerCase()}'}}</div>
</div>
</div>
-</form>
\ No newline at end of file
+</form>
[08/18] ambari git commit: Revert "Test Commit (avijayan)"
Posted by jo...@apache.org.
Revert "Test Commit (avijayan)"
This reverts commit 908f6e861ee242766a7bc1b3c09a3e9a0faeee87.
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/32ab17b3
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/32ab17b3
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/32ab17b3
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 32ab17b33bd9c75fada71f1e85871e55f287937e
Parents: 908f6e8
Author: Aravindan Vijayan <av...@hortonworks.com>
Authored: Thu Sep 29 14:47:26 2016 -0700
Committer: Aravindan Vijayan <av...@hortonworks.com>
Committed: Thu Sep 29 14:47:26 2016 -0700
----------------------------------------------------------------------
.../metrics/timeline/PhoenixHBaseAccessor.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/32ab17b3/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
index 8fa8c84..1174554 100644
--- a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
@@ -723,7 +723,7 @@ public class PhoenixHBaseAccessor {
TimelineMetrics metrics, boolean skipCache) throws SQLException, IOException {
List<TimelineMetric> timelineMetrics = metrics.getMetrics();
if (timelineMetrics == null || timelineMetrics.isEmpty()) {
- LOG.debug("Empty Metrics insert request.");
+ LOG.debug("Empty metrics insert request.");
return;
}
for (Iterator<TimelineMetric> iterator = timelineMetrics.iterator(); iterator.hasNext();) {
[11/18] ambari git commit: AMBARI-18362 Update sinks to read multiple
collector hostnames from configs (dsen)
Posted by jo...@apache.org.
AMBARI-18362 Update sinks to read multiple collector hostnames from configs (dsen)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/113d51e1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/113d51e1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/113d51e1
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 113d51e15ab0cbd6d342023a0a0d470e51dc1a62
Parents: 120505f
Author: Dmytro Sen <ds...@apache.org>
Authored: Fri Sep 30 12:47:19 2016 +0300
Committer: Dmytro Sen <ds...@apache.org>
Committed: Fri Sep 30 12:47:19 2016 +0300
----------------------------------------------------------------------
.../ambari/logfeeder/LogFeederAMSClient.java | 9 ++-
.../logsearch/solr/metrics/SolrAmsClient.java | 9 ++-
.../timeline/AbstractTimelineMetricsSink.java | 59 ++++++++++++++------
.../availability/MetricCollectorHATest.java | 22 +++++---
.../cache/HandleConnectExceptionTest.java | 12 +++-
.../sink/flume/FlumeTimelineMetricsSink.java | 14 +++--
.../timeline/HadoopTimelineMetricsSink.java | 27 +++++++--
.../timeline/HadoopTimelineMetricsSinkTest.java | 12 ++--
.../kafka/KafkaTimelineMetricsReporter.java | 14 +++--
.../storm/StormTimelineMetricsReporter.java | 14 +++--
.../sink/storm/StormTimelineMetricsSink.java | 15 +++--
.../storm/StormTimelineMetricsReporter.java | 13 +++--
.../sink/storm/StormTimelineMetricsSink.java | 15 +++--
.../system/impl/AmbariMetricSinkImpl.java | 12 +++-
.../1.6.1.2.2.0/package/scripts/params.py | 5 --
.../hadoop-metrics2-accumulo.properties.j2 | 12 ++--
.../hadoop-metrics2-hbase.properties.j2 | 14 +++--
.../FLUME/1.4.0.2.0/package/scripts/flume.py | 1 +
.../FLUME/1.4.0.2.0/package/scripts/params.py | 7 ---
.../templates/flume-metrics2.properties.j2 | 2 +-
.../0.96.0.2.0/package/scripts/params_linux.py | 12 ----
...-metrics2-hbase.properties-GANGLIA-MASTER.j2 | 15 +++--
...doop-metrics2-hbase.properties-GANGLIA-RS.j2 | 15 +++--
.../hadoop-metrics2.properties.xml | 18 +++---
.../0.12.0.2.0/package/scripts/params_linux.py | 5 --
.../hadoop-metrics2-hivemetastore.properties.j2 | 3 +-
.../hadoop-metrics2-hiveserver2.properties.j2 | 4 +-
.../templates/hadoop-metrics2-llapdaemon.j2 | 3 +-
.../hadoop-metrics2-llaptaskscheduler.j2 | 3 +-
.../KAFKA/0.8.1/configuration/kafka-broker.xml | 2 +-
.../KAFKA/0.8.1/package/scripts/kafka.py | 2 +-
.../KAFKA/0.8.1/package/scripts/params.py | 7 ---
.../STORM/0.9.1/package/scripts/params_linux.py | 11 ----
.../0.9.1/package/templates/config.yaml.j2 | 6 +-
.../templates/storm-metrics2.properties.j2 | 2 +-
.../2.0.6/hooks/before-START/scripts/params.py | 7 ---
.../templates/hadoop-metrics2.properties.j2 | 18 +++---
.../stacks/HDP/2.0.6/services/stack_advisor.py | 10 +---
38 files changed, 257 insertions(+), 174 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederAMSClient.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederAMSClient.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederAMSClient.java
index da61d83..133646a 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederAMSClient.java
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederAMSClient.java
@@ -23,6 +23,8 @@ import org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink;
import org.apache.hadoop.metrics2.sink.timeline.TimelineMetrics;
import org.apache.log4j.Logger;
+import java.util.Collection;
+
// TODO: Refactor for failover
public class LogFeederAMSClient extends AbstractTimelineMetricsSink {
private static final Logger logger = Logger.getLogger(LogFeederAMSClient.class);
@@ -58,7 +60,7 @@ public class LogFeederAMSClient extends AbstractTimelineMetricsSink {
}
@Override
- protected String getConfiguredCollectors() {
+ protected Collection<String> getConfiguredCollectorHosts() {
return null;
}
@@ -77,4 +79,9 @@ public class LogFeederAMSClient extends AbstractTimelineMetricsSink {
return null;
}
+ @Override
+ protected String getCollectorPort() {
+ return null;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/solr/metrics/SolrAmsClient.java
----------------------------------------------------------------------
diff --git a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/solr/metrics/SolrAmsClient.java b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/solr/metrics/SolrAmsClient.java
index 85ea69d..0d4deab 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/solr/metrics/SolrAmsClient.java
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/solr/metrics/SolrAmsClient.java
@@ -22,6 +22,8 @@ package org.apache.ambari.logsearch.solr.metrics;
import org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink;
import org.apache.hadoop.metrics2.sink.timeline.TimelineMetrics;
+import java.util.Collection;
+
// TODO: Refactor for failover
public class SolrAmsClient extends AbstractTimelineMetricsSink {
private final String collectorHost;
@@ -46,7 +48,7 @@ public class SolrAmsClient extends AbstractTimelineMetricsSink {
}
@Override
- protected String getConfiguredCollectors() {
+ protected Collection<String> getConfiguredCollectorHosts() {
return null;
}
@@ -64,4 +66,9 @@ public class SolrAmsClient extends AbstractTimelineMetricsSink {
protected String getCollectorProtocol() {
return null;
}
+
+ @Override
+ protected String getCollectorPort() {
+ return null;
+ }
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/AbstractTimelineMetricsSink.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/AbstractTimelineMetricsSink.java b/ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/AbstractTimelineMetricsSink.java
index 426eb42..fa5b694 100644
--- a/ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/AbstractTimelineMetricsSink.java
+++ b/ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/AbstractTimelineMetricsSink.java
@@ -51,8 +51,10 @@ import java.net.URL;
import java.security.KeyStore;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashSet;
import java.util.List;
import java.util.Random;
+import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -61,7 +63,7 @@ public abstract class AbstractTimelineMetricsSink {
public static final String MAX_METRIC_ROW_CACHE_SIZE = "maxRowCacheSize";
public static final String METRICS_SEND_INTERVAL = "sendInterval";
public static final String METRICS_POST_TIMEOUT_SECONDS = "timeout";
- public static final String COLLECTOR_PROPERTY = "collector";
+ public static final String COLLECTOR_HOSTS_PROPERTY = "collector.hosts";
public static final String COLLECTOR_PROTOCOL = "protocol";
public static final String COLLECTOR_PORT = "port";
public static final String ZOOKEEPER_QUORUM = "zookeeper.quorum";
@@ -211,6 +213,7 @@ public abstract class AbstractTimelineMetricsSink {
String connectUrl = getCollectorUri(collectorHost);
String jsonData = null;
+ LOG.debug("EmitMetrics connectUrl = " + connectUrl);
try {
jsonData = mapper.writeValueAsString(metrics);
} catch (IOException e) {
@@ -326,22 +329,16 @@ public abstract class AbstractTimelineMetricsSink {
}
}
- String collectorHosts = getConfiguredCollectors();
+ Collection<String> collectorHosts = getConfiguredCollectorHosts();
+
+ LOG.debug("Trying to find live collector host from : " + collectorHosts);
// Reach out to all configured collectors before Zookeeper
if (collectorHosts != null && !collectorHosts.isEmpty()) {
- String[] hosts = collectorHosts.split(",");
- for (String hostPortStr : hosts) {
- if (hostPortStr != null && !hostPortStr.isEmpty()) {
- String[] hostPortPair = hostPortStr.split(":");
- if (hostPortPair.length < 2) {
- LOG.warn("Collector port is missing from the configuration.");
- continue;
- }
- String hostStr = hostPortPair[0].trim();
- String portStr = hostPortPair[1].trim();
- // Check liveliness and get known instances
+ for (String hostStr : collectorHosts) {
+ hostStr = hostStr.trim();
+ if (!hostStr.isEmpty()) {
try {
- Collection<String> liveHosts = findLiveCollectorHostsFromKnownCollector(hostStr, portStr);
+ Collection<String> liveHosts = findLiveCollectorHostsFromKnownCollector(hostStr, getCollectorPort());
// Update live Hosts - current host will already be a part of this
for (String host : liveHosts) {
allKnownLiveCollectors.add(host);
@@ -377,6 +374,7 @@ public abstract class AbstractTimelineMetricsSink {
return targetCollectorHostSupplier.get();
}
+ LOG.warn("Couldn't find any live collectors. Returning null");
return null;
}
@@ -455,6 +453,31 @@ public abstract class AbstractTimelineMetricsSink {
sb.append(WS_V1_TIMELINE_METRICS);
return sb.toString();
}
+ /**
+ * Parses input Sting of format "['host1', 'host2']" into Collection of hostnames
+ */
+ protected Collection<String> parseHostsStringIntoCollection(String hostsString) {
+ Set<String> hosts = new HashSet<>();
+
+ if (hostsString == null) {
+ LOG.error("No Metric collector configured.");
+ return hosts;
+ }
+
+ hostsString = hostsString.replace("[", "");
+ hostsString = hostsString.replace("]", "");
+ hostsString = hostsString.replace("'", "");
+
+ String [] hostNamesWithApostrophes = hostsString.split(",");
+
+ for (String host : hostNamesWithApostrophes) {
+ host = host.trim();
+ if (host.equals("")) continue;
+ hosts.add(host);
+ }
+
+ return hosts;
+ }
/**
* Get a pre-formatted URI for the collector
@@ -463,6 +486,8 @@ public abstract class AbstractTimelineMetricsSink {
abstract protected String getCollectorProtocol();
+ abstract protected String getCollectorPort();
+
/**
* How soon to timeout on the emit calls in seconds.
*/
@@ -475,10 +500,10 @@ public abstract class AbstractTimelineMetricsSink {
abstract protected String getZookeeperQuorum();
/**
- * Get pre-configured list of collectors available
- * @return String "host1:port,host2:port"
+ * Get pre-configured list of collectors hosts available
+ * @return Collection<String> host1,host2
*/
- abstract protected String getConfiguredCollectors();
+ abstract protected Collection<String> getConfiguredCollectorHosts();
/**
* Get hostname used for calculating write shard.
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/availability/MetricCollectorHATest.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/availability/MetricCollectorHATest.java b/ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/availability/MetricCollectorHATest.java
index 7fadeb2..ac1f52d 100644
--- a/ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/availability/MetricCollectorHATest.java
+++ b/ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/availability/MetricCollectorHATest.java
@@ -27,11 +27,12 @@ import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
-import java.util.HashSet;
+import java.util.Arrays;
+import java.util.Collection;
+
import static org.easymock.EasyMock.expect;
import static org.powermock.api.easymock.PowerMock.createNiceMock;
import static org.powermock.api.easymock.PowerMock.expectNew;
@@ -49,7 +50,8 @@ public class MetricCollectorHATest {
URL url = createNiceMock(URL.class);
MetricCollectorHAHelper haHelper = createNiceMock(MetricCollectorHAHelper.class);
- expectNew(URL.class, "http://localhost:2181/ws/v1/timeline/metrics/livenodes").andReturn(url).anyTimes();
+ expectNew(URL.class, "http://localhost1:2181/ws/v1/timeline/metrics/livenodes").andReturn(url).anyTimes();
+ expectNew(URL.class, "http://localhost2:2181/ws/v1/timeline/metrics/livenodes").andReturn(url).anyTimes();
expect(url.openConnection()).andReturn(connection).anyTimes();
expect(connection.getInputStream()).andReturn(is).anyTimes();
expect(connection.getResponseCode()).andThrow(new IOException()).anyTimes();
@@ -82,7 +84,8 @@ public class MetricCollectorHATest {
output.add("h3");
InputStream is = IOUtils.toInputStream(gson.toJson(output));
- expectNew(URL.class, "http://localhost:2181/ws/v1/timeline/metrics/livenodes").andReturn(url).anyTimes();
+ expectNew(URL.class, "http://localhost1:2181/ws/v1/timeline/metrics/livenodes").andReturn(url).anyTimes();
+ expectNew(URL.class, "http://localhost2:2181/ws/v1/timeline/metrics/livenodes").andReturn(url).anyTimes();
expect(url.openConnection()).andReturn(connection).anyTimes();
expect(connection.getInputStream()).andReturn(is).anyTimes();
expect(connection.getResponseCode()).andReturn(200).anyTimes();
@@ -127,18 +130,23 @@ public class MetricCollectorHATest {
}
@Override
+ protected String getCollectorPort() {
+ return "2181";
+ }
+
+ @Override
protected int getTimeoutSeconds() {
return 10;
}
@Override
protected String getZookeeperQuorum() {
- return "localhost:2181";
+ return "localhost1:2181";
}
@Override
- protected String getConfiguredCollectors() {
- return "localhost:2181";
+ protected Collection<String> getConfiguredCollectorHosts() {
+ return Arrays.asList("localhost1", "localhost2");
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/cache/HandleConnectExceptionTest.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/cache/HandleConnectExceptionTest.java b/ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/cache/HandleConnectExceptionTest.java
index ccaa574..36ec074 100644
--- a/ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/cache/HandleConnectExceptionTest.java
+++ b/ambari-metrics/ambari-metrics-common/src/test/java/org/apache/hadoop/metrics2/sink/timeline/cache/HandleConnectExceptionTest.java
@@ -21,9 +21,10 @@ import java.io.IOException;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
+import java.util.Arrays;
+import java.util.Collection;
import org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink;
-import org.apache.hadoop.metrics2.sink.timeline.TimelineMetric;
import org.apache.hadoop.metrics2.sink.timeline.TimelineMetrics;
import org.apache.hadoop.metrics2.sink.timeline.UnableToConnectException;
import org.junit.Assert;
@@ -99,6 +100,11 @@ public class HandleConnectExceptionTest {
}
@Override
+ protected String getCollectorPort() {
+ return "2181";
+ }
+
+ @Override
protected int getTimeoutSeconds() {
return 10;
}
@@ -109,8 +115,8 @@ public class HandleConnectExceptionTest {
}
@Override
- protected String getConfiguredCollectors() {
- return "localhost:2181";
+ protected Collection<String> getConfiguredCollectorHosts() {
+ return Arrays.asList("localhost");
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java b/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java
index 1b36e9a..c1b684b 100644
--- a/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java
+++ b/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java
@@ -34,6 +34,7 @@ import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -55,7 +56,7 @@ public class FlumeTimelineMetricsSink extends AbstractTimelineMetricsSink implem
private long pollFrequency;
private String hostname;
private String port;
- private String collectors;
+ private Collection<String> collectorHosts;
private String zookeeperQuorum;
private final static String COUNTER_METRICS_PROPERTY = "counters";
private final Set<String> counterMetrics = new HashSet<String>();
@@ -99,7 +100,7 @@ public class FlumeTimelineMetricsSink extends AbstractTimelineMetricsSink implem
metricsSendInterval = Integer.parseInt(configuration.getProperty(METRICS_SEND_INTERVAL,
String.valueOf(TimelineMetricsCache.MAX_EVICTION_TIME_MILLIS)));
metricsCaches = new HashMap<String, TimelineMetricsCache>();
- collectors = configuration.getProperty(COLLECTOR_PROPERTY);
+ collectorHosts = parseHostsStringIntoCollection(configuration.getProperty(COLLECTOR_HOSTS_PROPERTY));
zookeeperQuorum = configuration.getProperty("zookeeper.quorum");
protocol = configuration.getProperty(COLLECTOR_PROTOCOL, "http");
port = configuration.getProperty(COLLECTOR_PORT, "6188");
@@ -130,6 +131,11 @@ public class FlumeTimelineMetricsSink extends AbstractTimelineMetricsSink implem
}
@Override
+ protected String getCollectorPort() {
+ return port;
+ }
+
+ @Override
protected int getTimeoutSeconds() {
return timeoutSeconds;
}
@@ -140,8 +146,8 @@ public class FlumeTimelineMetricsSink extends AbstractTimelineMetricsSink implem
}
@Override
- protected String getConfiguredCollectors() {
- return collectors;
+ protected Collection<String> getConfiguredCollectorHosts() {
+ return collectorHosts;
}
@Override
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java b/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java
index b720ba9..d81187e 100644
--- a/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java
+++ b/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java
@@ -52,7 +52,7 @@ public class HadoopTimelineMetricsSink extends AbstractTimelineMetricsSink imple
private TimelineMetricsCache metricsCache;
private String hostName = "UNKNOWN.example.com";
private String serviceName = "";
- private String collectors;
+ private Collection<String> collectorHosts;
private String collectorUri;
private String containerMetricsUri;
private String protocol;
@@ -101,10 +101,10 @@ public class HadoopTimelineMetricsSink extends AbstractTimelineMetricsSink imple
// Load collector configs
protocol = conf.getString(COLLECTOR_PROTOCOL, "http");
- collectors = conf.getString(COLLECTOR_PROPERTY, "").trim();
+ collectorHosts = parseHostsStringArrayIntoCollection(conf.getStringArray(COLLECTOR_HOSTS_PROPERTY));
port = conf.getString(COLLECTOR_PORT, "6188");
- if (StringUtils.isEmpty(collectors)) {
+ if (collectorHosts.isEmpty()) {
LOG.error("No Metric collector configured.");
} else {
String preferredCollectorHost = findPreferredCollectHost();
@@ -119,6 +119,7 @@ public class HadoopTimelineMetricsSink extends AbstractTimelineMetricsSink imple
}
LOG.info("Collector Uri: " + collectorUri);
+ LOG.info("Container Metrics Uri: " + containerMetricsUri);
timeoutSeconds = conf.getInt(METRICS_POST_TIMEOUT_SECONDS, DEFAULT_POST_TIMEOUT_SECONDS);
@@ -192,6 +193,18 @@ public class HadoopTimelineMetricsSink extends AbstractTimelineMetricsSink imple
return conf.getPrefix();
}
+ /**
+ * Parses input Stings array of format "['host1'", '"host2']" into Collection of hostnames
+ */
+ protected Collection<String> parseHostsStringArrayIntoCollection(String[] hostStrings) {
+ Collection<String> result = new HashSet<>();
+ if (hostStrings == null) return result;
+ for (String s : hostStrings) {
+ result.addAll(parseHostsStringIntoCollection(s));
+ }
+ return result;
+ }
+
@Override
protected String getCollectorUri(String host) {
return constructTimelineMetricUri(protocol, host, port);
@@ -213,11 +226,15 @@ public class HadoopTimelineMetricsSink extends AbstractTimelineMetricsSink imple
}
@Override
- protected String getConfiguredCollectors() {
- return collectors;
+ protected Collection<String> getConfiguredCollectorHosts() {
+ return collectorHosts;
}
@Override
+ protected String getCollectorPort() {
+ return port;
+ }
+ @Override
protected String getHostname() {
return hostName;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-hadoop-sink/src/test/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSinkTest.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-hadoop-sink/src/test/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSinkTest.java b/ambari-metrics/ambari-metrics-hadoop-sink/src/test/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSinkTest.java
index f44ca35..3259c18 100644
--- a/ambari-metrics/ambari-metrics-hadoop-sink/src/test/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSinkTest.java
+++ b/ambari-metrics/ambari-metrics-hadoop-sink/src/test/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSinkTest.java
@@ -52,7 +52,7 @@ import java.util.List;
import java.util.Set;
import static org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.COLLECTOR_PORT;
-import static org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.COLLECTOR_PROPERTY;
+import static org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.COLLECTOR_HOSTS_PROPERTY;
import static org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.COLLECTOR_PROTOCOL;
import static org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.MAX_METRIC_ROW_CACHE_SIZE;
import static org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.METRICS_SEND_INTERVAL;
@@ -99,7 +99,7 @@ public class HadoopTimelineMetricsSinkTest {
expect(conf.getString("slave.host.name")).andReturn("localhost").anyTimes();
expect(conf.getParent()).andReturn(null).anyTimes();
expect(conf.getPrefix()).andReturn("service").anyTimes();
- expect(conf.getString(eq(COLLECTOR_PROPERTY), eq(""))).andReturn("localhost:6188").anyTimes();
+ expect(conf.getStringArray(eq(COLLECTOR_HOSTS_PROPERTY))).andReturn(new String[]{"['localhost", "'localhost2']"}).anyTimes();
expect(conf.getString(eq("serviceName-prefix"), eq(""))).andReturn("").anyTimes();
expect(conf.getString(eq(COLLECTOR_PROTOCOL), eq("http"))).andReturn("http").anyTimes();
expect(conf.getString(eq(COLLECTOR_PORT), eq("6188"))).andReturn("6188").anyTimes();
@@ -171,7 +171,7 @@ public class HadoopTimelineMetricsSinkTest {
expect(conf.getString("slave.host.name")).andReturn("localhost").anyTimes();
expect(conf.getParent()).andReturn(null).anyTimes();
expect(conf.getPrefix()).andReturn("service").anyTimes();
- expect(conf.getString(eq(COLLECTOR_PROPERTY), eq(""))).andReturn("localhost:6188").anyTimes();
+ expect(conf.getStringArray(eq(COLLECTOR_HOSTS_PROPERTY))).andReturn(new String[]{"['localhost", "'localhost2']"}).anyTimes();
expect(conf.getString(eq("serviceName-prefix"), eq(""))).andReturn("").anyTimes();
expect(conf.getString(eq(COLLECTOR_PROTOCOL), eq("http"))).andReturn("http").anyTimes();
expect(conf.getString(eq(COLLECTOR_PORT), eq("6188"))).andReturn("6188").anyTimes();
@@ -183,6 +183,8 @@ public class HadoopTimelineMetricsSinkTest {
expect(sink.findLiveCollectorHostsFromKnownCollector("localhost", "6188"))
.andReturn(Collections.singletonList("localhost")).anyTimes();
+ expect(sink.findLiveCollectorHostsFromKnownCollector("localhost2", "6188"))
+ .andReturn(Collections.singletonList("localhost2")).anyTimes();
conf.setListDelimiter(eq(','));
expectLastCall().anyTimes();
@@ -299,13 +301,15 @@ public class HadoopTimelineMetricsSinkTest {
expect(conf.getString("slave.host.name")).andReturn("localhost").anyTimes();
expect(conf.getParent()).andReturn(null).anyTimes();
expect(conf.getPrefix()).andReturn("service").anyTimes();
- expect(conf.getString(eq(COLLECTOR_PROPERTY), eq(""))).andReturn("localhost:6188").anyTimes();
+ expect(conf.getStringArray(eq(COLLECTOR_HOSTS_PROPERTY))).andReturn(new String[]{"['localhost", "'localhost2']"}).anyTimes();
expect(conf.getString(eq("serviceName-prefix"), eq(""))).andReturn("").anyTimes();
expect(conf.getString(eq(COLLECTOR_PROTOCOL), eq("http"))).andReturn("http").anyTimes();
expect(conf.getString(eq(COLLECTOR_PORT), eq("6188"))).andReturn("6188").anyTimes();
expect(sink.findLiveCollectorHostsFromKnownCollector("localhost", "6188"))
.andReturn(Collections.singletonList("localhost")).anyTimes();
+ expect(sink.findLiveCollectorHostsFromKnownCollector("localhost2", "6188"))
+ .andReturn(Collections.singletonList("localhost2")).anyTimes();
expect(conf.getInt(eq(MAX_METRIC_ROW_CACHE_SIZE), anyInt())).andReturn(10).anyTimes();
expect(conf.getInt(eq(METRICS_SEND_INTERVAL), anyInt())).andReturn(10).anyTimes();
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java b/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java
index 9c16564..fef1f24 100644
--- a/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java
+++ b/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java
@@ -45,6 +45,7 @@ import org.apache.hadoop.metrics2.sink.timeline.cache.TimelineMetricsCache;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map.Entry;
@@ -76,7 +77,7 @@ public class KafkaTimelineMetricsReporter extends AbstractTimelineMetricsSink
private final Object lock = new Object();
private String hostname;
private String metricCollectorPort;
- private String collectors;
+ private Collection<String> collectorHosts;
private String metricCollectorProtocol;
private TimelineScheduledReporter reporter;
private TimelineMetricsCache metricsCache;
@@ -99,6 +100,11 @@ public class KafkaTimelineMetricsReporter extends AbstractTimelineMetricsSink
}
@Override
+ protected String getCollectorPort() {
+ return metricCollectorPort;
+ }
+
+ @Override
protected int getTimeoutSeconds() {
return timeoutSeconds;
}
@@ -109,8 +115,8 @@ public class KafkaTimelineMetricsReporter extends AbstractTimelineMetricsSink
}
@Override
- protected String getConfiguredCollectors() {
- return collectors;
+ protected Collection<String> getConfiguredCollectorHosts() {
+ return collectorHosts;
}
@Override
@@ -147,7 +153,7 @@ public class KafkaTimelineMetricsReporter extends AbstractTimelineMetricsSink
zookeeperQuorum = props.getString("zookeeper.connect");
metricCollectorPort = props.getString(TIMELINE_PORT_PROPERTY, TIMELINE_DEFAULT_PORT);
- collectors = props.getString(TIMELINE_HOSTS_PROPERTY, TIMELINE_DEFAULT_HOST + ":" + metricCollectorPort);
+ collectorHosts = parseHostsStringIntoCollection(props.getString(TIMELINE_HOSTS_PROPERTY, TIMELINE_DEFAULT_HOST));
metricCollectorProtocol = props.getString(TIMELINE_PROTOCOL_PROPERTY, TIMELINE_DEFAULT_PROTOCOL);
setMetricsCache(new TimelineMetricsCache(maxRowCacheSize, metricsSendInterval));
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java b/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
index 73381d9..ef73a0e 100644
--- a/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
+++ b/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
@@ -33,6 +33,7 @@ import org.apache.hadoop.metrics2.sink.timeline.UnableToConnectException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -45,7 +46,7 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
private String hostname;
private String collectorUri;
private String port;
- private String collectors;
+ private Collection<String> collectorHosts;
private String zkQuorum;
private String protocol;
private NimbusClient nimbusClient;
@@ -77,8 +78,13 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
}
@Override
- protected String getConfiguredCollectors() {
- return collectors;
+ protected Collection<String> getConfiguredCollectorHosts() {
+ return collectorHosts;
+ }
+
+ @Override
+ protected String getCollectorPort() {
+ return port;
}
@Override
@@ -105,7 +111,7 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
Map stormConf = Utils.readStormConfig();
this.nimbusClient = NimbusClient.getConfiguredClient(stormConf);
- collectors = cf.get(COLLECTOR_PROPERTY).toString();
+ collectorHosts = parseHostsStringIntoCollection(cf.get(COLLECTOR_HOSTS_PROPERTY).toString());
protocol = cf.get(COLLECTOR_PROTOCOL) != null ? cf.get(COLLECTOR_PROTOCOL).toString() : "http";
port = cf.get(COLLECTOR_PORT) != null ? cf.get(COLLECTOR_PORT).toString() : "6188";
zkQuorum = cf.get(ZOOKEEPER_QUORUM) != null ? cf.get(ZOOKEEPER_QUORUM).toString() : null;
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java b/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java
index 0d3b770..60c1427 100644
--- a/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java
+++ b/ambari-metrics/ambari-metrics-storm-sink-legacy/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java
@@ -53,7 +53,7 @@ public class StormTimelineMetricsSink extends AbstractTimelineMetricsSink implem
private TimelineMetricsCache metricsCache;
private String hostname;
private int timeoutSeconds;
- private String collectors;
+ private Collection<String> collectorHosts;
private String zkQuorum;
private String protocol;
private String port;
@@ -81,8 +81,13 @@ public class StormTimelineMetricsSink extends AbstractTimelineMetricsSink implem
}
@Override
- protected String getConfiguredCollectors() {
- return collectors;
+ protected Collection<String> getConfiguredCollectorHosts() {
+ return collectorHosts;
+ }
+
+ @Override
+ protected String getCollectorPort() {
+ return port;
}
@Override
@@ -112,7 +117,7 @@ public class StormTimelineMetricsSink extends AbstractTimelineMetricsSink implem
String.valueOf(MAX_EVICTION_TIME_MILLIS)));
applicationId = configuration.getProperty(CLUSTER_REPORTER_APP_ID, DEFAULT_CLUSTER_REPORTER_APP_ID);
metricsCache = new TimelineMetricsCache(maxRowCacheSize, metricsSendInterval);
- collectors = configuration.getProperty(COLLECTOR_PROPERTY);
+ collectorHosts = parseHostsStringIntoCollection(configuration.getProperty(COLLECTOR_HOSTS_PROPERTY));
zkQuorum = configuration.getProperty("zookeeper.quorum");
protocol = configuration.getProperty(COLLECTOR_PROTOCOL, "http");
port = configuration.getProperty(COLLECTOR_PORT, "6188");
@@ -296,4 +301,4 @@ public class StormTimelineMetricsSink extends AbstractTimelineMetricsSink implem
this.metricsCache = metricsCache;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java b/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
index 9082e70..802e57d 100644
--- a/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
+++ b/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
@@ -42,7 +42,7 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
private String hostname;
private String port;
- private String collectors;
+ private Collection<String> collectorHosts;
private String zkQuorum;
private String protocol;
private String applicationId;
@@ -73,8 +73,13 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
}
@Override
- protected String getConfiguredCollectors() {
- return collectors;
+ protected String getCollectorPort() {
+ return port;
+ }
+
+ @Override
+ protected Collection<String> getConfiguredCollectorHosts() {
+ return collectorHosts;
}
@Override
@@ -98,7 +103,7 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
}
Configuration configuration = new Configuration("/storm-metrics2.properties");
- collectors = configuration.getProperty(COLLECTOR_PROPERTY);
+ collectorHosts = parseHostsStringIntoCollection(configuration.getProperty(COLLECTOR_HOSTS_PROPERTY));
protocol = configuration.getProperty(COLLECTOR_PROTOCOL, "http");
port = configuration.getProperty(COLLECTOR_PORT, "6188");
zkQuorum = configuration.getProperty(ZOOKEEPER_QUORUM);
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java b/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java
index f6531c8..5a3eac1 100644
--- a/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java
+++ b/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsSink.java
@@ -61,7 +61,7 @@ public class StormTimelineMetricsSink extends AbstractTimelineMetricsSink implem
private TimelineMetricsCache metricsCache;
private String hostname;
private int timeoutSeconds;
- private String collectors;
+ private Collection<String> collectorHosts;
private String zkQuorum;
private String protocol;
private String port;
@@ -89,8 +89,13 @@ public class StormTimelineMetricsSink extends AbstractTimelineMetricsSink implem
}
@Override
- protected String getConfiguredCollectors() {
- return collectors;
+ protected Collection<String> getConfiguredCollectorHosts() {
+ return collectorHosts;
+ }
+
+ @Override
+ protected String getCollectorPort() {
+ return port;
}
@Override
@@ -120,7 +125,7 @@ public class StormTimelineMetricsSink extends AbstractTimelineMetricsSink implem
String.valueOf(MAX_EVICTION_TIME_MILLIS)));
applicationId = configuration.getProperty(CLUSTER_REPORTER_APP_ID, DEFAULT_CLUSTER_REPORTER_APP_ID);
metricsCache = new TimelineMetricsCache(maxRowCacheSize, metricsSendInterval);
- collectors = configuration.getProperty(COLLECTOR_PROPERTY);
+ collectorHosts = parseHostsStringIntoCollection(configuration.getProperty(COLLECTOR_HOSTS_PROPERTY));
zkQuorum = configuration.getProperty("zookeeper.quorum");
protocol = configuration.getProperty(COLLECTOR_PROTOCOL, "http");
port = configuration.getProperty(COLLECTOR_PORT, "6188");
@@ -381,4 +386,4 @@ public class StormTimelineMetricsSink extends AbstractTimelineMetricsSink implem
this.metricsCache = metricsCache;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
index 4618618..00d205a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
@@ -28,6 +28,7 @@ import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -101,6 +102,11 @@ public class AmbariMetricSinkImpl extends AbstractTimelineMetricsSink implements
}
@Override
+ protected String getCollectorPort() {
+ return null;
+ }
+
+ @Override
protected int getTimeoutSeconds() {
return timeoutSeconds;
}
@@ -118,10 +124,10 @@ public class AmbariMetricSinkImpl extends AbstractTimelineMetricsSink implements
/**
* Get pre-configured list of collectors available
*
- * @return String "host1:port,host2:port"
+ * @return Collection<String> host1,host2
*/
@Override
- protected String getConfiguredCollectors() {
+ protected Collection<String> getConfiguredCollectorHosts() {
return null;
}
@@ -158,4 +164,4 @@ public class AmbariMetricSinkImpl extends AbstractTimelineMetricsSink implements
timelineMetric.getMetricValues().put(currentTimeMillis, attributeValue.doubleValue());
return timelineMetric;
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/params.py
index a8a7327..e00c1f5 100644
--- a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/params.py
@@ -126,11 +126,6 @@ ams_collector_hosts = default("/clusterHostInfo/metrics_collector_hosts", [])
has_metric_collector = not len(ams_collector_hosts) == 0
if has_metric_collector:
if 'cluster-env' in config['configurations'] and \
- 'metrics_collector_vip_host' in config['configurations']['cluster-env']:
- metric_collector_host = config['configurations']['cluster-env']['metrics_collector_vip_host']
- else:
- metric_collector_host = select_metric_collector_hosts_from_hostnames(ams_collector_hosts)
- if 'cluster-env' in config['configurations'] and \
'metrics_collector_vip_port' in config['configurations']['cluster-env']:
metric_collector_port = config['configurations']['cluster-env']['metrics_collector_vip_port']
else:
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/templates/hadoop-metrics2-accumulo.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/templates/hadoop-metrics2-accumulo.properties.j2 b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/templates/hadoop-metrics2-accumulo.properties.j2
index 3cd535e..f7926d0 100644
--- a/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/templates/hadoop-metrics2-accumulo.properties.j2
+++ b/ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/templates/hadoop-metrics2-accumulo.properties.j2
@@ -22,20 +22,24 @@
*.sink.timeline.slave.host.name={{hostname}}
accumulo.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
accumulo.period={{metrics_collection_period}}
-accumulo.collector={{metric_collector_host}}:{{metric_collector_port}}
+accumulo.collector.hosts={{ams_collector_hosts}}
+accumulo.port={{metric_collector_port}}
jvm.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
jvm.period={{metrics_collection_period}}
-jvm.collector={{metric_collector_host}}:{{metric_collector_port}}
+jvm.collector.hosts={{ams_collector_hosts}}
+jvm.port={{metric_collector_port}}
rpc.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
rpc.period={{metrics_collection_period}}
-rpc.collector={{metric_collector_host}}:{{metric_collector_port}}
+rpc.collector.hosts={{ams_collector_hosts}}
+rpc.port={{metric_collector_port}}
accumulo.sink.timeline.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
accumulo.sink.timeline.period={{metrics_collection_period}}
accumulo.sink.timeline.sendInterval={{metrics_report_interval}}000
-accumulo.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+accumulo.sink.timeline.collector.hosts={{ams_collector_hosts}}
+accumulo.sink.timeline.port={{metric_collector_port}}
# HTTPS properties
accumulo.sink.timeline.truststore.path = {{metric_truststore_path}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/templates/hadoop-metrics2-hbase.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/templates/hadoop-metrics2-hbase.properties.j2 b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/templates/hadoop-metrics2-hbase.properties.j2
index 586cd47..8c20f2b 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/templates/hadoop-metrics2-hbase.properties.j2
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/templates/hadoop-metrics2-hbase.properties.j2
@@ -40,22 +40,26 @@ hbase.extendedperiod = 3600
hbase.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
hbase.period=30
-hbase.collector={{metric_collector_host}}:{{metric_collector_port}}
+hbase.collector.hosts={{ams_collector_hosts}}
+hbase.port={{metric_collector_port}}
jvm.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
jvm.period=30
-jvm.collector={{metric_collector_host}}:{{metric_collector_port}}
+jvm.collector.hosts={{ams_collector_hosts}}
+jvm.port={{metric_collector_port}}
rpc.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
rpc.period=30
-rpc.collector={{metric_collector_host}}:{{metric_collector_port}}
+rpc.collector.hosts={{ams_collector_hosts}}
+rpc.port={{metric_collector_port}}
*.timeline.plugin.urls=file:///usr/lib/ambari-metrics-hadoop-sink/ambari-metrics-hadoop-sink.jar
*.sink.timeline.slave.host.name={{hostname}}
hbase.sink.timeline.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
hbase.sink.timeline.period={{metrics_collection_period}}
hbase.sink.timeline.sendInterval={{metrics_report_interval}}000
-hbase.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+hbase.sink.timeline.collector.hosts={{ams_collector_hosts}}
+hbase.sink.timeline.port={{metric_collector_port}}
hbase.sink.timeline.serviceName-prefix=ams
# HTTPS properties
@@ -65,4 +69,4 @@ hbase.sink.timeline.truststore.password = {{metric_truststore_password}}
# Switch off metrics generation on a per region basis
*.source.filter.class=org.apache.hadoop.metrics2.filter.RegexFilter
-hbase.*.source.filter.exclude=.*(Regions|Users|Tables).*
\ No newline at end of file
+hbase.*.source.filter.exclude=.*(Regions|Users|Tables).*
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume.py b/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume.py
index b839eb8..5823271 100644
--- a/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume.py
+++ b/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/flume.py
@@ -184,6 +184,7 @@ def flume(action = None):
if params.has_metric_collector:
extra_args = '-Dflume.monitoring.type=org.apache.hadoop.metrics2.sink.flume.FlumeTimelineMetricsSink ' \
'-Dflume.monitoring.node={0}:{1}'
+ # TODO check if this is used.
extra_args = extra_args.format(params.metric_collector_host, params.metric_collector_port)
flume_cmd = flume_base.format(agent, flume_agent_conf_dir,
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/params.py
index 9c79909..008e9d6 100644
--- a/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/scripts/params.py
@@ -114,13 +114,6 @@ if has_metric_collector:
metrics_report_interval = default("/configurations/ams-site/timeline.metrics.sink.report.interval", 60)
metrics_collection_period = default("/configurations/ams-site/timeline.metrics.sink.collection.period", 10)
-#Collector hosts
-metric_collector_hosts = ""
-if ams_collector_hosts:
- for host in ams_collector_hosts:
- metric_collector_hosts += host + ':' + metric_collector_port + ','
- metric_collector_hosts = metric_collector_hosts[:-1]
-
# Cluster Zookeeper quorum
zookeeper_quorum = None
if not len(default("/clusterHostInfo/zookeeper_hosts", [])) == 0:
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/templates/flume-metrics2.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/templates/flume-metrics2.properties.j2 b/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/templates/flume-metrics2.properties.j2
index b960296..cf2bd6c 100644
--- a/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/templates/flume-metrics2.properties.j2
+++ b/ambari-server/src/main/resources/common-services/FLUME/1.4.0.2.0/package/templates/flume-metrics2.properties.j2
@@ -16,7 +16,7 @@
# limitations under the License.
#}
-collector={{metric_collector_hosts}}
+collector.hosts={{ams_collector_hosts}}
protocol={{metric_collector_protocol}}
zookeeper.quorum={{zookeeper_quorum}}
port={{metric_collector_port}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py
index 49b684b..3eb6991 100644
--- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/scripts/params_linux.py
@@ -155,11 +155,6 @@ ams_collector_hosts = default("/clusterHostInfo/metrics_collector_hosts", [])
has_metric_collector = not len(ams_collector_hosts) == 0
if has_metric_collector:
if 'cluster-env' in config['configurations'] and \
- 'metrics_collector_vip_host' in config['configurations']['cluster-env']:
- metric_collector_host = config['configurations']['cluster-env']['metrics_collector_vip_host']
- else:
- metric_collector_host = select_metric_collector_hosts_from_hostnames(ams_collector_hosts)
- if 'cluster-env' in config['configurations'] and \
'metrics_collector_vip_port' in config['configurations']['cluster-env']:
metric_collector_port = config['configurations']['cluster-env']['metrics_collector_vip_port']
else:
@@ -180,13 +175,6 @@ if has_metric_collector:
metrics_report_interval = default("/configurations/ams-site/timeline.metrics.sink.report.interval", 60)
metrics_collection_period = default("/configurations/ams-site/timeline.metrics.sink.collection.period", 10)
-#Collector hosts
-metric_collector_hosts = ""
-if ams_collector_hosts:
- for host in ams_collector_hosts:
- metric_collector_hosts += host + ':' + metric_collector_port + ','
- metric_collector_hosts = metric_collector_hosts[:-1]
-
# if hbase is selected the hbase_rs_hosts, should not be empty, but still default just in case
if 'slave_hosts' in config['clusterHostInfo']:
rs_hosts = default('/clusterHostInfo/hbase_rs_hosts', '/clusterHostInfo/slave_hosts') #if hbase_rs_hosts not given it is assumed that region servers on same nodes as slaves
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-MASTER.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-MASTER.j2 b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-MASTER.j2
index e62ce9e..e808f5d 100644
--- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-MASTER.j2
+++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-MASTER.j2
@@ -54,21 +54,28 @@ hbase.extendedperiod = 3600
hbase.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
hbase.period={{metrics_collection_period}}
-hbase.collector={{metric_collector_host}}:{{metric_collector_port}}
+hbase.collector.hosts={{ams_collector_hosts}}
+hbase.protocol={{metric_collector_protocol}}
+hbase.port={{metric_collector_port}}
jvm.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
jvm.period={{metrics_collection_period}}
-jvm.collector={{metric_collector_host}}:{{metric_collector_port}}
+jvm.collector.hosts={{ams_collector_hosts}}
+jvm.protocol={{metric_collector_protocol}}
+jvm.port={{metric_collector_port}}
rpc.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
rpc.period={{metrics_collection_period}}
-rpc.collector={{metric_collector_host}}:{{metric_collector_port}}
+rpc.collector.hosts={{ams_collector_hosts}}
+rpc.protocol={{metric_collector_protocol}}
+rpc.port={{metric_collector_port}}
hbase.sink.timeline.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
hbase.sink.timeline.period={{metrics_collection_period}}
hbase.sink.timeline.sendInterval={{metrics_report_interval}}000
-hbase.sink.timeline.collector={{metric_collector_hosts}}
+hbase.sink.timeline.collector.hosts={{ams_collector_hosts}}
hbase.sink.timeline.protocol={{metric_collector_protocol}}
+hbase.sink.timeline.port={{metric_collector_port}}
# HTTPS properties
hbase.sink.timeline.truststore.path = {{metric_truststore_path}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-RS.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-RS.j2 b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-RS.j2
index 8183333..7e1abbc 100644
--- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-RS.j2
+++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-RS.j2
@@ -52,21 +52,28 @@ hbase.extendedperiod = 3600
*.sink.timeline.slave.host.name={{hostname}}
hbase.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
hbase.period={{metrics_collection_period}}
-hbase.collector={{metric_collector_host}}:{{metric_collector_port}}
+hbase.collector.hosts={{ams_collector_hosts}}
+hbase.protocol={{metric_collector_protocol}}
+hbase.port={{metric_collector_port}}
jvm.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
jvm.period={{metrics_collection_period}}
-jvm.collector={{metric_collector_host}}:{{metric_collector_port}}
+jvm.collector.hosts={{ams_collector_hosts}}
+jvm.protocol={{metric_collector_protocol}}
+jvm.port={{metric_collector_port}}
rpc.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
rpc.period={{metrics_collection_period}}
-rpc.collector={{metric_collector_host}}:{{metric_collector_port}}
+rpc.collector.hosts={{ams_collector_hosts}}
+rpc.protocol={{metric_collector_protocol}}
+rpc.port={{metric_collector_port}}
hbase.sink.timeline.class=org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink
hbase.sink.timeline.period={{metrics_collection_period}}
hbase.sink.timeline.sendInterval={{metrics_report_interval}}000
-hbase.sink.timeline.collector={{metric_collector_hosts}}
+hbase.sink.timeline.collector.hosts={{ams_collector_hosts}}
hbase.sink.timeline.protocol={{metric_collector_protocol}}
+hbase.sink.timeline.port={{metric_collector_port}}
# HTTPS properties
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hadoop-metrics2.properties.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hadoop-metrics2.properties.xml b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hadoop-metrics2.properties.xml
index 2b9964b..6b45e84 100644
--- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hadoop-metrics2.properties.xml
+++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/configuration/hadoop-metrics2.properties.xml
@@ -92,15 +92,15 @@ resourcemanager.sink.ganglia.tagsForPrefix.yarn=Queue
*.sink.timeline.truststore.type = {{metric_truststore_type}}
*.sink.timeline.truststore.password = {{metric_truststore_password}}
-datanode.sink.timeline.collector={{metric_collector_hosts}}
-namenode.sink.timeline.collector={{metric_collector_hosts}}
-resourcemanager.sink.timeline.collector={{metric_collector_hosts}}
-nodemanager.sink.timeline.collector={{metric_collector_hosts}}
-jobhistoryserver.sink.timeline.collector={{metric_collector_hosts}}
-journalnode.sink.timeline.collector={{metric_collector_hosts}}
-maptask.sink.timeline.collector={{metric_collector_hosts}}
-reducetask.sink.timeline.collector={{metric_collector_hosts}}
-applicationhistoryserver.sink.timeline.collector={{metric_collector_hosts}}
+datanode.sink.timeline.collector.hosts={{ams_collector_hosts}}
+namenode.sink.timeline.collector.hosts={{ams_collector_hosts}}
+resourcemanager.sink.timeline.collector.hosts={{ams_collector_hosts}}
+nodemanager.sink.timeline.collector.hosts={{ams_collector_hosts}}
+jobhistoryserver.sink.timeline.collector.hosts={{ams_collector_hosts}}
+journalnode.sink.timeline.collector.hosts={{ams_collector_hosts}}
+maptask.sink.timeline.collector.hosts={{ams_collector_hosts}}
+reducetask.sink.timeline.collector.hosts={{ams_collector_hosts}}
+applicationhistoryserver.sink.timeline.collector.hosts={{ams_collector_hosts}}
resourcemanager.sink.timeline.tagsForPrefix.yarn=Queue
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
index 558aa95..3caaefc 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
@@ -494,11 +494,6 @@ ams_collector_hosts = default("/clusterHostInfo/metrics_collector_hosts", [])
has_metric_collector = not len(ams_collector_hosts) == 0
if has_metric_collector:
if 'cluster-env' in config['configurations'] and \
- 'metrics_collector_vip_host' in config['configurations']['cluster-env']:
- metric_collector_host = config['configurations']['cluster-env']['metrics_collector_vip_host']
- else:
- metric_collector_host = select_metric_collector_hosts_from_hostnames(ams_collector_hosts)
- if 'cluster-env' in config['configurations'] and \
'metrics_collector_vip_port' in config['configurations']['cluster-env']:
metric_collector_port = config['configurations']['cluster-env']['metrics_collector_vip_port']
else:
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-hivemetastore.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-hivemetastore.properties.j2 b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-hivemetastore.properties.j2
index 88be81b..d2e43e9 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-hivemetastore.properties.j2
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-hivemetastore.properties.j2
@@ -48,7 +48,8 @@
*.sink.timeline.truststore.type = {{metric_truststore_type}}
*.sink.timeline.truststore.password = {{metric_truststore_password}}
- hivemetastore.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+ hivemetastore.sink.timeline.collector.hosts={{ams_collector_hosts}}
+ hivemetastore.sink.timeline.port={{metric_collector_port}}
{% endif %}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-hiveserver2.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-hiveserver2.properties.j2 b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-hiveserver2.properties.j2
index 3d71867..ed89679 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-hiveserver2.properties.j2
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-hiveserver2.properties.j2
@@ -48,7 +48,7 @@
*.sink.timeline.truststore.type = {{metric_truststore_type}}
*.sink.timeline.truststore.password = {{metric_truststore_password}}
- hiveserver2.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
-
+ hiveserver2.sink.timeline.collector.hosts={{ams_collector_hosts}}
+ hiveserver2.sink.timeline.port={{metric_collector_port}}
{% endif %}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-llapdaemon.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-llapdaemon.j2 b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-llapdaemon.j2
index ba44af5..6b609dd 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-llapdaemon.j2
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-llapdaemon.j2
@@ -47,6 +47,7 @@
*.sink.timeline.truststore.type = {{metric_truststore_type}}
*.sink.timeline.truststore.password = {{metric_truststore_password}}
- llapdaemon.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+ llapdaemon.sink.timeline.collector.hosts={{ams_collector_hosts}}
+ llapdaemon.sink.timeline.port={{metric_collector_port}}
{% endif %}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-llaptaskscheduler.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-llaptaskscheduler.j2 b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-llaptaskscheduler.j2
index 77f128b..c229b75 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-llaptaskscheduler.j2
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/templates/hadoop-metrics2-llaptaskscheduler.j2
@@ -47,6 +47,7 @@
*.sink.timeline.truststore.type = {{metric_truststore_type}}
*.sink.timeline.truststore.password = {{metric_truststore_password}}
- llaptaskscheduler.sink.timeline.collector={{metric_collector_host}}:{{metric_collector_port}}
+ llaptaskscheduler.sink.timeline.collector.hosts={{ams_collector_hosts}}
+ llaptaskscheduler.sink.timeline.port={{metric_collector_port}}
{% endif %}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-broker.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-broker.xml b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-broker.xml
index ab4d701..96b7750 100644
--- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-broker.xml
+++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-broker.xml
@@ -358,7 +358,7 @@
</property>
<property>
<name>kafka.timeline.metrics.hosts</name>
- <value>{{metric_collector_hosts}}</value>
+ <value>{{ams_collector_hosts}}</value>
<description>Timeline host</description>
<on-ambari-upgrade add="true"/>
</property>
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py
index 6cc85f4..88d8a9b 100644
--- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py
+++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py
@@ -94,7 +94,7 @@ def kafka(upgrade_type=None):
kafka_server_config['host.name'] = params.hostname
if params.has_metric_collector:
- kafka_server_config['kafka.timeline.metrics.hosts'] = params.metric_collector_hosts
+ kafka_server_config['kafka.timeline.metrics.hosts'] = params.ams_collector_hosts
kafka_server_config['kafka.timeline.metrics.port'] = params.metric_collector_port
kafka_server_config['kafka.timeline.metrics.protocol'] = params.metric_collector_protocol
kafka_server_config['kafka.timeline.metrics.truststore.path'] = params.metric_truststore_path
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
index a18c295..107bf6e 100644
--- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py
@@ -137,13 +137,6 @@ if has_metric_collector:
metric_collector_protocol = 'http'
pass
- # Collector hosts
- metric_collector_hosts = ""
- if ams_collector_hosts:
- for host in ams_collector_hosts:
- metric_collector_hosts += host + ':' + metric_collector_port + ','
- metric_collector_hosts = metric_collector_hosts[:-1]
-
# Security-related params
security_enabled = config['configurations']['cluster-env']['security_enabled']
kafka_kerberos_enabled = (('security.inter.broker.protocol' in config['configurations']['kafka-broker']) and
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py
index f96aeeb..e753e98 100644
--- a/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py
+++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/scripts/params_linux.py
@@ -175,11 +175,6 @@ has_metric_collector = not len(ams_collector_hosts) == 0
metric_collector_port = None
if has_metric_collector:
if 'cluster-env' in config['configurations'] and \
- 'metrics_collector_vip_host' in config['configurations']['cluster-env']:
- metric_collector_host = config['configurations']['cluster-env']['metrics_collector_vip_host']
- else:
- metric_collector_host = select_metric_collector_hosts_from_hostnames(ams_collector_hosts)
- if 'cluster-env' in config['configurations'] and \
'metrics_collector_vip_port' in config['configurations']['cluster-env']:
metric_collector_port = config['configurations']['cluster-env']['metrics_collector_vip_port']
else:
@@ -204,12 +199,6 @@ metrics_collection_period = default("/configurations/ams-site/timeline.metrics.s
metric_collector_sink_jar = "/usr/lib/storm/lib/ambari-metrics-storm-sink-with-common-*.jar"
metric_collector_legacy_sink_jar = "/usr/lib/storm/lib/ambari-metrics-storm-sink-legacy-with-common-*.jar"
-# Collector hosts
-metric_collector_hosts = ""
-if ams_collector_hosts:
- for host in ams_collector_hosts:
- metric_collector_hosts += host + ':' + metric_collector_port + ','
- metric_collector_hosts = metric_collector_hosts[:-1]
# Cluster Zookeeper quorum
zookeeper_quorum = ""
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/templates/config.yaml.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/templates/config.yaml.j2 b/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/templates/config.yaml.j2
index a9760cb..f2a75cf 100644
--- a/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/templates/config.yaml.j2
+++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/templates/config.yaml.j2
@@ -57,7 +57,9 @@ enableMetricsSink: True
metrics_collector:
reportInterval: {{metric_collector_report_interval}}
- collector: "{{metric_collector_protocol}}://{{metric_collector_host}}:{{metric_collector_port}}"
+ collector.hosts: "{{ams_collector_hosts}}"
+ protocol: "{{metric_collector_protocol}}"
+ port: "{{metric_collector_port}}"
appId: "{{metric_collector_app_id}}"
# HTTPS settings
@@ -65,4 +67,4 @@ metrics_collector:
truststore.type : "{{metric_truststore_type}}"
truststore.password : "{{metric_truststore_password}}"
-{% endif %}
\ No newline at end of file
+{% endif %}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/templates/storm-metrics2.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/templates/storm-metrics2.properties.j2 b/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/templates/storm-metrics2.properties.j2
index 1f0875f..001ff73 100644
--- a/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/templates/storm-metrics2.properties.j2
+++ b/ambari-server/src/main/resources/common-services/STORM/0.9.1/package/templates/storm-metrics2.properties.j2
@@ -16,7 +16,7 @@
# limitations under the License.
#}
-collector={{metric_collector_hosts}}
+collector.hosts={{ams_collector_hosts}}
protocol={{metric_collector_protocol}}
port={{metric_collector_port}}
zookeeper.quorum={{zookeeper_quorum}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py
index c678a72..4603c8b 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py
@@ -136,13 +136,6 @@ if has_metric_collector:
metrics_report_interval = default("/configurations/ams-site/timeline.metrics.sink.report.interval", 60)
metrics_collection_period = default("/configurations/ams-site/timeline.metrics.sink.collection.period", 10)
-#Collector hosts
-metric_collector_hosts = ""
-if ams_collector_hosts:
- for host in ams_collector_hosts:
- metric_collector_hosts += host + ':' + metric_collector_port + ','
- metric_collector_hosts = metric_collector_hosts[:-1]
-
# Cluster Zookeeper quorum
zookeeper_quorum = None
if has_zk_host:
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2 b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
index 374795f..100cb98 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
@@ -81,15 +81,15 @@ resourcemanager.sink.ganglia.tagsForPrefix.yarn=Queue
*.sink.timeline.truststore.type = {{metric_truststore_type}}
*.sink.timeline.truststore.password = {{metric_truststore_password}}
-datanode.sink.timeline.collector={{metric_collector_hosts}}
-namenode.sink.timeline.collector={{metric_collector_hosts}}
-resourcemanager.sink.timeline.collector={{metric_collector_hosts}}
-nodemanager.sink.timeline.collector={{metric_collector_hosts}}
-jobhistoryserver.sink.timeline.collector={{metric_collector_hosts}}
-journalnode.sink.timeline.collector={{metric_collector_hosts}}
-maptask.sink.timeline.collector={{metric_collector_hosts}}
-reducetask.sink.timeline.collector={{metric_collector_hosts}}
-applicationhistoryserver.sink.timeline.collector={{metric_collector_hosts}}
+datanode.sink.timeline.collector.hosts={{ams_collector_hosts}}
+namenode.sink.timeline.collector.hosts={{ams_collector_hosts}}
+resourcemanager.sink.timeline.collector.hosts={{ams_collector_hosts}}
+nodemanager.sink.timeline.collector.hosts={{ams_collector_hosts}}
+jobhistoryserver.sink.timeline.collector.hosts={{ams_collector_hosts}}
+journalnode.sink.timeline.collector.hosts={{ams_collector_hosts}}
+maptask.sink.timeline.collector.hosts={{ams_collector_hosts}}
+reducetask.sink.timeline.collector.hosts={{ams_collector_hosts}}
+applicationhistoryserver.sink.timeline.collector.hosts={{ams_collector_hosts}}
resourcemanager.sink.timeline.tagsForPrefix.yarn=Queue
http://git-wip-us.apache.org/repos/asf/ambari/blob/113d51e1/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
index 6cec585..897a654 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
@@ -581,14 +581,10 @@ class HDP206StackAdvisor(DefaultStackAdvisor):
amsCollectorHosts = self.getComponentHostNames(services, "AMBARI_METRICS", "METRICS_COLLECTOR")
- if 'cluster-env' in services['configurations'] and \
- 'metrics_collector_vip_host' in services['configurations']['cluster-env']['properties']:
- metric_collector_host = services['configurations']['cluster-env']['properties']['metrics_collector_vip_host']
- else:
- # TODO set "timeline.metrics.service.webapp.address" to 0.0.0.0:port in upgrade catalog
- metric_collector_host = '0.0.0.0'
+ # TODO set "timeline.metrics.service.webapp.address" to 0.0.0.0:port in upgrade catalog
+ timeline_metrics_service_webapp_address = '0.0.0.0'
- putAmsSiteProperty("timeline.metrics.service.webapp.address", str(metric_collector_host) + ":6188")
+ putAmsSiteProperty("timeline.metrics.service.webapp.address", str(timeline_metrics_service_webapp_address) + ":6188")
log_dir = "/var/log/ambari-metrics-collector"
if "ams-env" in services["configurations"]:
[12/18] ambari git commit: AMBARI-18492 Clusters With Many Hosts Can
Create Alerts With Text Too Large To Be Stored (dsen)
Posted by jo...@apache.org.
AMBARI-18492 Clusters With Many Hosts Can Create Alerts With Text Too Large To Be Stored (dsen)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/324107d1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/324107d1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/324107d1
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 324107d1b5783ac971a14a8f1fe920a98aaff298
Parents: 113d51e
Author: Dmytro Sen <ds...@apache.org>
Authored: Fri Sep 30 15:42:52 2016 +0300
Committer: Dmytro Sen <ds...@apache.org>
Committed: Fri Sep 30 15:42:52 2016 +0300
----------------------------------------------------------------------
.../org/apache/ambari/server/state/Alert.java | 7 ++-
.../apache/ambari/server/state/AlertTest.java | 53 ++++++++++++++++++++
2 files changed, 59 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/324107d1/ambari-server/src/main/java/org/apache/ambari/server/state/Alert.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/Alert.java b/ambari-server/src/main/java/org/apache/ambari/server/state/Alert.java
index 8252e0d..f6d5557 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/Alert.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/Alert.java
@@ -17,6 +17,7 @@
*/
package org.apache.ambari.server.state;
+import org.apache.commons.lang.StringUtils;
import org.codehaus.jackson.annotate.JsonProperty;
/**
* An alert represents a problem or notice for a cluster.
@@ -33,6 +34,9 @@ public class Alert {
private String text = null;
private long timestamp = 0L;
+ // Maximum string size for MySql TEXT (utf8) column data type
+ protected final static int MAX_ALERT_TEXT_SIZE = 32617;
+
/**
* Constructor.
@@ -127,7 +131,8 @@ public class Alert {
*/
@JsonProperty("text")
public void setText(String alertText) {
- text = alertText;
+ // middle-ellipsize the text to reduce the size to 32617 characters
+ text = StringUtils.abbreviateMiddle(alertText, "\u2026", MAX_ALERT_TEXT_SIZE);
}
@JsonProperty("instance")
http://git-wip-us.apache.org/repos/asf/ambari/blob/324107d1/ambari-server/src/test/java/org/apache/ambari/server/state/AlertTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/AlertTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/AlertTest.java
new file mode 100644
index 0000000..4a04818
--- /dev/null
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/AlertTest.java
@@ -0,0 +1,53 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ambari.server.state;
+
+
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Tests {@link Alert}.
+ */
+public class AlertTest extends Alert{
+
+ @Test
+ public void testSetTextMiddleEllipsizing() throws Exception {
+ Alert alert = new Alert();
+
+ String shortText = "Short alert text";
+ String longText = "Not so short" + new String(new char[MAX_ALERT_TEXT_SIZE]) + "alert text";
+
+ // Normal alert text
+ alert.setText(shortText);
+ assertEquals(shortText.length(), alert.getText().length());
+ assertEquals(shortText, alert.getText());
+
+ //Toooo long alert text
+ alert.setText(longText);
+ assertFalse(shortText.length() == alert.getText().length());
+ assertEquals(MAX_ALERT_TEXT_SIZE, alert.getText().length());
+ assertTrue(alert.getText().startsWith("Not so short"));
+ assertTrue(alert.getText().endsWith("alert text"));
+ assertTrue(alert.getText().contains("\u2026"));
+ }
+}
[07/18] ambari git commit: Test Commit (avijayan)
Posted by jo...@apache.org.
Test Commit (avijayan)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/908f6e86
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/908f6e86
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/908f6e86
Branch: refs/heads/branch-feature-AMBARI-18456
Commit: 908f6e861ee242766a7bc1b3c09a3e9a0faeee87
Parents: 4170ff4
Author: Aravindan Vijayan <av...@hortonworks.com>
Authored: Thu Sep 29 14:47:12 2016 -0700
Committer: Aravindan Vijayan <av...@hortonworks.com>
Committed: Thu Sep 29 14:47:12 2016 -0700
----------------------------------------------------------------------
.../metrics/timeline/PhoenixHBaseAccessor.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/908f6e86/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
index 1174554..8fa8c84 100644
--- a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
+++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixHBaseAccessor.java
@@ -723,7 +723,7 @@ public class PhoenixHBaseAccessor {
TimelineMetrics metrics, boolean skipCache) throws SQLException, IOException {
List<TimelineMetric> timelineMetrics = metrics.getMetrics();
if (timelineMetrics == null || timelineMetrics.isEmpty()) {
- LOG.debug("Empty metrics insert request.");
+ LOG.debug("Empty Metrics insert request.");
return;
}
for (Iterator<TimelineMetric> iterator = timelineMetrics.iterator(); iterator.hasNext();) {