• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
7histograms.
8"""
9
10import xml.etree.ElementTree
11
12DUMMY_OWNER = "Please list the metric's owners. Add more owner tags as needed."
13
14def 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
51if __name__ == '__main__':
52  main()
53