Daniel Cheng | d8824447 | 2022-05-16 09:08:47 | [diff] [blame] | 1 | #!/usr/bin/env python3 |
Avi Drissman | dfd88085 | 2022-09-15 20:11:09 | [diff] [blame] | 2 | # Copyright 2014 The Chromium Authors |
tyoshino@chromium.org | 12eb474 | 2014-04-17 06:54:45 | [diff] [blame] | 3 | # Use of this source code is governed by a BSD-style license that can be |
| 4 | # found in the LICENSE file. |
| 5 | |
| 6 | """Scans the Chromium source of UseCounter, formats the Feature enum for |
| 7 | histograms.xml and merges it. This script can also generate a python code |
| 8 | snippet to put in uma.py of Chromium Dashboard. Make sure that you review the |
| 9 | output for correctness. |
| 10 | """ |
| 11 | |
Raul Tambre | 66e754d | 2019-09-25 12:03:44 | [diff] [blame] | 12 | from __future__ import print_function |
| 13 | |
tyoshino@chromium.org | 12eb474 | 2014-04-17 06:54:45 | [diff] [blame] | 14 | import optparse |
| 15 | import os |
| 16 | import sys |
| 17 | |
tyoshino@chromium.org | 12eb474 | 2014-04-17 06:54:45 | [diff] [blame] | 18 | from update_histogram_enum import ReadHistogramValues |
| 19 | from update_histogram_enum import UpdateHistogramEnum |
| 20 | |
tyoshino@chromium.org | 12eb474 | 2014-04-17 06:54:45 | [diff] [blame] | 21 | if __name__ == '__main__': |
Johnny Stenback | f26c656 | 2024-05-10 21:03:32 | [diff] [blame] | 22 | web_feature_source = \ |
Johnny Stenback | 8b7faf3e1 | 2024-04-05 22:13:04 | [diff] [blame] | 23 | 'third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom' |
mikelawther@chromium.org | ef401ee | 2014-05-23 10:49:29 | [diff] [blame] | 24 | |
Luna Lu | f41b449 | 2017-07-04 23:19:53 | [diff] [blame] | 25 | START_MARKER = '^enum WebFeature {' |
timloh | 4b963a8 | 2017-04-18 08:42:08 | [diff] [blame] | 26 | END_MARKER = '^kNumberOfFeatures' |
tyoshino@chromium.org | 12eb474 | 2014-04-17 06:54:45 | [diff] [blame] | 27 | |
Nathan Memmott | 7b53b06 | 2025-01-28 01:28:04 | [diff] [blame] | 28 | UpdateHistogramEnum('tools/metrics/histograms/metadata/blink/enums.xml', |
Johnny Stenback | 8b7faf3e1 | 2024-04-05 22:13:04 | [diff] [blame] | 29 | histogram_enum_name='FeatureObserver', |
Johnny Stenback | f26c656 | 2024-05-10 21:03:32 | [diff] [blame] | 30 | source_enum_path=web_feature_source, |
Johnny Stenback | 8b7faf3e1 | 2024-04-05 22:13:04 | [diff] [blame] | 31 | start_marker=START_MARKER, |
| 32 | end_marker=END_MARKER, |
| 33 | strip_k_prefix=True, |
| 34 | calling_script=os.path.basename(__file__)) |
Johnny Stenback | f26c656 | 2024-05-10 21:03:32 | [diff] [blame] | 35 | |
| 36 | webdx_feature_source = \ |
| 37 | 'third_party/blink/public/mojom/use_counter/metrics/webdx_feature.mojom' |
| 38 | WEBDX_START_MARKER = '^enum WebDXFeature {' |
| 39 | |
Alexei Svitkine | 5d15720 | 2025-01-27 20:42:48 | [diff] [blame] | 40 | UpdateHistogramEnum('tools/metrics/histograms/metadata/blink/enums.xml', |
Johnny Stenback | f26c656 | 2024-05-10 21:03:32 | [diff] [blame] | 41 | histogram_enum_name='WebDXFeatureObserver', |
| 42 | source_enum_path=webdx_feature_source, |
| 43 | start_marker=WEBDX_START_MARKER, |
| 44 | end_marker=END_MARKER, |
| 45 | strip_k_prefix=True, |
| 46 | calling_script=os.path.basename(__file__)) |