You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by od...@apache.org on 2013/10/28 15:18:22 UTC
git commit: AMBARI-3597. Services API call takes ~20s to respond
(odiachenko)
Updated Branches:
refs/heads/trunk ac94d2779 -> 2366731e5
AMBARI-3597. Services API call takes ~20s to respond (odiachenko)
Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/2366731e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/2366731e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/2366731e
Branch: refs/heads/trunk
Commit: 2366731e5f011d9586521cf27eb2c0cf3d7c76b9
Parents: ac94d27
Author: Oleksandr Diachenko <od...@hortonworks.com>
Authored: Mon Oct 28 16:17:11 2013 +0200
Committer: Oleksandr Diachenko <od...@hortonworks.com>
Committed: Mon Oct 28 16:17:11 2013 +0200
----------------------------------------------------------------------
.../puppet/modules/hdp-ganglia/files/rrd.py | 31 +++++++++++---------
1 file changed, 17 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/2366731e/ambari-agent/src/main/puppet/modules/hdp-ganglia/files/rrd.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/puppet/modules/hdp-ganglia/files/rrd.py b/ambari-agent/src/main/puppet/modules/hdp-ganglia/files/rrd.py
index 2e3f07a..b21f748 100644
--- a/ambari-agent/src/main/puppet/modules/hdp-ganglia/files/rrd.py
+++ b/ambari-agent/src/main/puppet/modules/hdp-ganglia/files/rrd.py
@@ -154,20 +154,23 @@ def _walk(*args, **kwargs):
for cluster in clusterParts:
for path, dirs, files in _walk(rrdPath + cluster):
pathParts = path.split("/")
- if len(hostParts) == 0 or pathParts[-1] in hostParts:
- for file in files:
- for metric in metricParts:
- doPrintMetric = False
- if file.endswith(metric + ".rrd"):
- doPrintMetric = True
- else:
- metricRegex = metric + '.rrd$'
- p = re.compile(metricRegex)
- if p.match(file):
- doPrintMetric = True
-
- if doPrintMetric:
- printMetric(pathParts[-2], pathParts[-1], file[:-4], os.path.join(path, file), cf, start, end, resolution, pointInTime)
+ #Process only path which contains files. If no host parameter passed - process all hosts folders and summary info
+ #If host parameter passed - process only this host folder
+ if len(files) > 0 and (len(hostParts) == 0 or pathParts[-1] in hostParts):
+ for metric in metricParts:
+ file = metric + ".rrd"
+ fileFullPath = os.path.join(path, file)
+ if os.path.exists(fileFullPath):
+ #Exact name of metric
+ printMetric(pathParts[-2], pathParts[-1], file[:-4], os.path.join(path, file), cf, start, end, resolution, pointInTime)
+ else:
+ #Regex as metric name
+ metricRegex = metric + '\.rrd$'
+ p = re.compile(metricRegex)
+ matchedFiles = filter(p.match, files)
+ for matchedFile in matchedFiles:
+ printMetric(pathParts[-2], pathParts[-1], matchedFile[:-4], os.path.join(path, matchedFile), cf, start, end, resolution, pointInTime)
+
sys.stdout.write("[AMBARI_END]\n")
# write end time