You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ak...@apache.org on 2014/04/17 20:25:30 UTC
git commit: AMBARI-5498. Selecting agent in flume agents table should
show 3 additional graph sections. (Denys Buzhor via akovalenko)
Repository: ambari
Updated Branches:
refs/heads/trunk 5b2e8087b -> a4028880a
AMBARI-5498. Selecting agent in flume agents table should show 3 additional graph sections. (Denys Buzhor via akovalenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a4028880
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a4028880
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a4028880
Branch: refs/heads/trunk
Commit: a4028880af617911d25950d9a432eec09c26cee7
Parents: 5b2e808
Author: Aleksandr Kovalenko <ak...@hortonworks.com>
Authored: Thu Apr 17 21:25:10 2014 +0300
Committer: Aleksandr Kovalenko <ak...@hortonworks.com>
Committed: Thu Apr 17 21:25:10 2014 +0300
----------------------------------------------------------------------
ambari-web/app/styles/application.less | 25 ++++++++++++++
.../app/templates/main/service/info/summary.hbs | 35 ++++++++++++++++++--
.../app/views/main/service/info/summary.js | 32 ++++++++++++++++--
3 files changed, 87 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/a4028880/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index 1151516..4b2445a 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -2424,6 +2424,31 @@ width:100%;
}
}
+.metrics-collapsed-graphs {
+ margin-bottom: 10px;
+ .accordion {
+ .accordion-heading {
+ font-size: 15px;
+ color: #777;
+ font-weight: bold;
+ padding: 0;
+ .accordion-toggle {
+ .icon-caret-toggle:before {
+ content: "\f0d7";
+ }
+ &.collapsed {
+ .icon-caret-toggle:before {
+ content: "\f0da";
+ }
+ }
+ }
+ .btn {
+ margin: 3px;
+ }
+ }
+ }
+}
+
/*End Services*/
table.graphs {
table-layout: fixed;
http://git-wip-us.apache.org/repos/asf/ambari/blob/a4028880/ambari-web/app/templates/main/service/info/summary.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/service/info/summary.hbs b/ambari-web/app/templates/main/service/info/summary.hbs
index d06eb8a..23286e9 100644
--- a/ambari-web/app/templates/main/service/info/summary.hbs
+++ b/ambari-web/app/templates/main/service/info/summary.hbs
@@ -118,19 +118,50 @@
{{/unless}}
</div>
</div>
+
+{{#if view.collapsedMetrics}}
+ <div class="row-fluid">
+ <div class="span12 metrics-collapsed-graphs">
+ {{#each collapsedMetric in view.collapsedMetrics}}
+ <div {{bindAttr class=":accordion collapsedMetric.toggleIndex"}}>
+ <div class="accordion-group box">
+ <div class="accordion-heading box-header">
+ <span class="pull-left accordion-toggle" data-toggle="collapse" {{bindAttr dataParent="collapsedMetric.toggleIndex" href="collapsedMetric.toggleIndex"}}>
+ <i class="pull-left icon-caret-toggle"></i>
+ <span>{{collapsedMetric.header}}</span>
+ </span>
+ <a class="btn pull-right" {{bindAttr href="collapsedMetric.url"}} target="_blank">
+ <i class="icon-link"></i>
+ </a>
+ <div class="clearfix"></div>
+ </div>
+ <div class="accordion-body collapse in" {{bindAttr id="collapsedMetric.id"}}>
+ <div class="accordion-inner">
+ {{#if collapsedMetric.metricView}}
+ {{view collapsedMetric.metricView}}
+ {{/if}}
+ </div>
+ </div>
+ </div>
+ </div>
+ {{/each}}
+ </div>
+ </div>
+{{/if}}
+
{{#if view.serviceMetricGraphs.length}}
<div class="row-fluid">
<div class="span12">
<div class="box">
<div class="box-header">
- <h4>{{controller.content.label}} {{formatNull view.metricsHeader empty="t:common.metrics"}}</h4>
+ <h4>{{controller.content.label}} {{t common.metrics}}</h4>
{{#if controller.isGangliaInstalled}}
<div class="btn-group">
<a class="btn" target="_blank" rel="tooltip" title="Go to Ganglia" {{bindAttr href="view.gangliaUrl"}}><i class="icon-link"></i></a>
</div>
{{/if}}
</div>
-
+
<div class="">
<table class="graphs">
{{#each graphs in view.serviceMetricGraphs}}
http://git-wip-us.apache.org/repos/asf/ambari/blob/a4028880/ambari-web/app/views/main/service/info/summary.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/service/info/summary.js b/ambari-web/app/views/main/service/info/summary.js
index d0ab13d..6592f8f 100644
--- a/ambari-web/app/views/main/service/info/summary.js
+++ b/ambari-web/app/views/main/service/info/summary.js
@@ -54,8 +54,8 @@ App.MainServiceInfoSummaryView = Em.View.extend({
pig :false,
sqoop: false
},
- /** @property metricsHeader {string} - custom metrics title **/
- metricsHeader: null,
+ /** @property collapsedMetrics {array} - metrics list for collapsed view **/
+ collapsedMetrics: null,
servicesHaveClients: ["OOZIE", "ZOOKEEPER", "HIVE", "MAPREDUCE2", "TEZ", "SQOOP", "PIG","FALCON"],
@@ -543,7 +543,33 @@ App.MainServiceInfoSummaryView = Em.View.extend({
* @param {object} agent - DS.model of agent
*/
setFlumeAgentMetric: function(agent) {
- this.set('metricsHeader', Em.I18n.t('common.metrics') + " - " + agent.get('name'));
+ var getMetricTitle = function(metricTypeKey, hostName) {
+ var metricType = Em.I18n.t('services.service.info.metrics.flume.' + metricTypeKey).format(Em.I18n.t('common.metrics'));
+ return metricType + ' - ' + hostName;
+ };
+ var gangliaUrlTpl = App.router.get('clusterController.gangliaUrl') + '/?r=hour&cs=&ce=&m=load_one&s=by+name&c=HDPFlumeServer&h={0}&host_regex=&max_graphs=0&tab=m&vn=&sh=1&z=small&hc=4';
+ var agentHostMock = 'localhost'; // @todo change to agent hostname
+ var mockMetricData = [
+ {
+ header: 'sinkName',
+ metricView: App.ChartServiceMetricsFlume_SinkDrainSuccessCount.extend()
+ },
+ {
+ header: 'sourceName',
+ metricView: App.ChartServiceMetricsFlume_SourceAcceptedCount.extend()
+ },
+ {
+ header: 'channelName',
+ metricView: App.ChartServiceMetricsFlume_ChannelSize.extend()
+ }
+ ];
+ mockMetricData.forEach(function(mockData, index) {
+ mockData.header = getMetricTitle(mockData.header, agentHostMock);
+ mockData.url = gangliaUrlTpl.format(agentHostMock);
+ mockData.id = 'metric' + index;
+ mockData.toggleIndex = '#' + mockData.id;
+ });
+ this.set('collapsedMetrics', mockMetricData);
}
});