| #!/usr/bin/env python |
| # Copyright 2016 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import argparse |
| import json |
| import os |
| import string |
| import sys |
| |
| sys.path.insert( |
| 1, |
| os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')) |
| from tracing.metrics import discover |
| import tracing_project |
| |
| |
| def Main(): |
| all_registered_metrics = set(discover.DiscoverMetrics( |
| ['/tracing/metrics/all_metrics.html'])) |
| all_modules = list( |
| '/' + rel_path for rel_path in |
| tracing_project.TracingProject().FindAllMetricsModuleRelPaths()) |
| all_possible_metrics = set(discover.DiscoverMetrics(all_modules)) |
| unregistered_metrics = all_possible_metrics - all_registered_metrics |
| if unregistered_metrics: |
| print ('These metrics are unregistered: %s. Please import their modules in ' |
| 'tracing/tracing/metrics/all_metrics.html' % |
| ', '.join(unregistered_metrics)) |
| return 1 |
| uppercased_metrics = [] |
| for m in all_possible_metrics: |
| if str.isupper(m[0]): |
| uppercased_metrics.append(m) |
| if uppercased_metrics: |
| print ('These metrics must be renamed to start with a lower-case: %s' % |
| uppercased_metrics) |
| return 1 |
| return 0 |
| |
| if __name__ == '__main__': |
| sys.exit(Main()) |