Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / tools / metrics / histograms / histogram_ownership.py
1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
5
6 """A simple tool to go through histograms.xml and print out the owners for
7 histograms.
8 """
9
10 import xml.etree.ElementTree
11
12 DUMMY_OWNER = "Please list the metric's owners. Add more owner tags as needed."
13
14 def main():
15   tree = xml.etree.ElementTree.parse('histograms.xml')
16   root = tree.getroot()
17   assert root.tag == 'histogram-configuration'
18
19   root_children = root.getchildren()
20   histograms = None
21   for node in root_children:
22     if node.tag == 'histograms':
23       histograms = node
24       break
25   assert histograms != None
26
27   for histogram in histograms.getchildren():
28     if histogram.tag != 'histogram':
29       continue
30
31     name = histogram.attrib['name']
32     owners = []
33     obsolete = False
34     for node in histogram.getchildren():
35       if node.tag == 'obsolete':
36         obsolete = True
37         continue
38       if node.tag != 'owner':
39         continue
40       if node.text == DUMMY_OWNER:
41         continue
42       assert '@' in node.text
43       owners.append(node.text)
44
45     if not obsolete:
46       if owners:
47         print name, ' '.join(owners)
48       else:
49         print name, 'NO_OWNER'
50
51 if __name__ == '__main__':
52   main()