summaryrefslogtreecommitdiff
path: root/chromium/components/metrics/generate_expired_histograms_array.gni
blob: 7be1c08b9d12c54eeca82840cda144f98303bfdb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# Copyright 2017 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.

# Runs the resources map generation script other the given header files to
# produce an output file and a source_set to build it.
#
# Parameters:
#   inputs:
#     List of file name to read. Each file should be a .xml file with
#     histogram descriptions and should be a path starting with
#     //tools/metrics/histograms/
#
#   namespace (optional):
#     Namespace in which the generated code should be scoped. If left empty,
#     the code will be in the global namespace.
#
#   header_filename:
#     Name of the generated header file.
#
#   major_branch_date_filepath:
#     A path to the file with the base date.
#
#   milestone_filepath:
#     A path to the file with the milestone information.
#
template("generate_expired_histograms_array") {
  action(target_name) {
    header_filename = "$target_gen_dir/" + invoker.header_filename

    script = "//tools/metrics/histograms/generate_expired_histograms_array.py"
    outputs = [ header_filename ]

    inputs = [
      "//tools/metrics/histograms/histograms.xml",
      "//tools/metrics/histograms/metadata/accessibility/histograms.xml",
      "//tools/metrics/histograms/metadata/android/histograms.xml",
      "//tools/metrics/histograms/metadata/apps/histograms.xml",
      "//tools/metrics/histograms/metadata/arc/histograms.xml",
      "//tools/metrics/histograms/metadata/ash/histograms.xml",
      "//tools/metrics/histograms/metadata/assistant/histograms.xml",
      "//tools/metrics/histograms/metadata/auth/histograms.xml",
      "//tools/metrics/histograms/metadata/auto/histograms.xml",
      "//tools/metrics/histograms/metadata/autofill/histograms.xml",
      "//tools/metrics/histograms/metadata/background/histograms.xml",
      "//tools/metrics/histograms/metadata/blink/histograms.xml",
      "//tools/metrics/histograms/metadata/bluetooth/histograms.xml",
      "//tools/metrics/histograms/metadata/borealis/histograms.xml",
      "//tools/metrics/histograms/metadata/browser/histograms.xml",
      "//tools/metrics/histograms/metadata/chrome/histograms.xml",
      "//tools/metrics/histograms/metadata/chromeos/histograms.xml",
      "//tools/metrics/histograms/metadata/chromeos_hps/histograms.xml",
      "//tools/metrics/histograms/metadata/cloud/histograms.xml",
      "//tools/metrics/histograms/metadata/commerce/histograms.xml",
      "//tools/metrics/histograms/metadata/compositing/histograms.xml",
      "//tools/metrics/histograms/metadata/content/histograms.xml",
      "//tools/metrics/histograms/metadata/content_creation/histograms.xml",
      "//tools/metrics/histograms/metadata/cookie/histograms.xml",
      "//tools/metrics/histograms/metadata/cras/histograms.xml",
      "//tools/metrics/histograms/metadata/cros/histograms.xml",
      "//tools/metrics/histograms/metadata/cros_ml/histograms.xml",
      "//tools/metrics/histograms/metadata/cross_device/histograms.xml",
      "//tools/metrics/histograms/metadata/crostini/histograms.xml",
      "//tools/metrics/histograms/metadata/cryptohome/histograms.xml",
      "//tools/metrics/histograms/metadata/custom_tabs/histograms.xml",
      "//tools/metrics/histograms/metadata/data/histograms.xml",
      "//tools/metrics/histograms/metadata/dev/histograms.xml",
      "//tools/metrics/histograms/metadata/diagnostics/histograms.xml",
      "//tools/metrics/histograms/metadata/direct/histograms.xml",
      "//tools/metrics/histograms/metadata/disk/histograms.xml",
      "//tools/metrics/histograms/metadata/download/histograms.xml",
      "//tools/metrics/histograms/metadata/enterprise/histograms.xml",
      "//tools/metrics/histograms/metadata/event/histograms.xml",
      "//tools/metrics/histograms/metadata/extension/histograms.xml",
      "//tools/metrics/histograms/metadata/extensions/histograms.xml",
      "//tools/metrics/histograms/metadata/feature_engagement/histograms.xml",
      "//tools/metrics/histograms/metadata/file/histograms.xml",
      "//tools/metrics/histograms/metadata/fingerprint/histograms.xml",
      "//tools/metrics/histograms/metadata/gcm/histograms.xml",
      "//tools/metrics/histograms/metadata/geolocation/histograms.xml",
      "//tools/metrics/histograms/metadata/google/histograms.xml",
      "//tools/metrics/histograms/metadata/gpu/histograms.xml",
      "//tools/metrics/histograms/metadata/hang_watcher/histograms.xml",
      "//tools/metrics/histograms/metadata/help_app/histograms.xml",
      "//tools/metrics/histograms/metadata/histogram_suffixes_list.xml",
      "//tools/metrics/histograms/metadata/history/histograms.xml",
      "//tools/metrics/histograms/metadata/holding_space/histograms.xml",
      "//tools/metrics/histograms/metadata/image/histograms.xml",
      "//tools/metrics/histograms/metadata/input/histograms.xml",
      "//tools/metrics/histograms/metadata/installer/histograms.xml",
      "//tools/metrics/histograms/metadata/interstitial/histograms.xml",
      "//tools/metrics/histograms/metadata/ios/histograms.xml",
      "//tools/metrics/histograms/metadata/language/histograms.xml",
      "//tools/metrics/histograms/metadata/leveldb_proto/histograms.xml",
      "//tools/metrics/histograms/metadata/local/histograms.xml",
      "//tools/metrics/histograms/metadata/login/histograms.xml",
      "//tools/metrics/histograms/metadata/media/histograms.xml",
      "//tools/metrics/histograms/metadata/memory/histograms.xml",
      "//tools/metrics/histograms/metadata/mobile/histograms.xml",
      "//tools/metrics/histograms/metadata/na_cl/histograms.xml",
      "//tools/metrics/histograms/metadata/navigation/histograms.xml",
      "//tools/metrics/histograms/metadata/nearby/histograms.xml",
      "//tools/metrics/histograms/metadata/net/histograms.xml",
      "//tools/metrics/histograms/metadata/network/histograms.xml",
      "//tools/metrics/histograms/metadata/new_tab_page/histograms.xml",
      "//tools/metrics/histograms/metadata/notifications/histograms.xml",
      "//tools/metrics/histograms/metadata/offline/histograms.xml",
      "//tools/metrics/histograms/metadata/omnibox/histograms.xml",
      "//tools/metrics/histograms/metadata/oobe/histograms.xml",
      "//tools/metrics/histograms/metadata/optimization/histograms.xml",
      "//tools/metrics/histograms/metadata/others/histograms.xml",
      "//tools/metrics/histograms/metadata/page/histograms.xml",
      "//tools/metrics/histograms/metadata/password/histograms.xml",
      "//tools/metrics/histograms/metadata/payment/histograms.xml",
      "//tools/metrics/histograms/metadata/pcscan/histograms.xml",
      "//tools/metrics/histograms/metadata/pdf/histograms.xml",
      "//tools/metrics/histograms/metadata/permissions/histograms.xml",
      "//tools/metrics/histograms/metadata/phonehub/histograms.xml",
      "//tools/metrics/histograms/metadata/platform/histograms.xml",
      "//tools/metrics/histograms/metadata/plugin/histograms.xml",
      "//tools/metrics/histograms/metadata/plugin_vm/histograms.xml",
      "//tools/metrics/histograms/metadata/power/histograms.xml",
      "//tools/metrics/histograms/metadata/prefetch/histograms.xml",
      "//tools/metrics/histograms/metadata/print/histograms.xml",
      "//tools/metrics/histograms/metadata/printing/histograms.xml",
      "//tools/metrics/histograms/metadata/profile/histograms.xml",
      "//tools/metrics/histograms/metadata/quickoffice/histograms.xml",
      "//tools/metrics/histograms/metadata/quota/histograms.xml",
      "//tools/metrics/histograms/metadata/renderer/histograms.xml",
      "//tools/metrics/histograms/metadata/renderer4/histograms.xml",
      "//tools/metrics/histograms/metadata/safe_browsing/histograms.xml",
      "//tools/metrics/histograms/metadata/sb_client/histograms.xml",
      "//tools/metrics/histograms/metadata/scanning/histograms.xml",
      "//tools/metrics/histograms/metadata/scheduler/histograms.xml",
      "//tools/metrics/histograms/metadata/search/histograms.xml",
      "//tools/metrics/histograms/metadata/security/histograms.xml",
      "//tools/metrics/histograms/metadata/segmentation_platform/histograms.xml",
      "//tools/metrics/histograms/metadata/service/histograms.xml",
      "//tools/metrics/histograms/metadata/session/histograms.xml",
      "//tools/metrics/histograms/metadata/settings/histograms.xml",
      "//tools/metrics/histograms/metadata/sharing/histograms.xml",
      "//tools/metrics/histograms/metadata/side_search/histograms.xml",
      "//tools/metrics/histograms/metadata/signin/histograms.xml",
      "//tools/metrics/histograms/metadata/simple/histograms.xml",
      "//tools/metrics/histograms/metadata/software/histograms.xml",
      "//tools/metrics/histograms/metadata/stability/histograms.xml",
      "//tools/metrics/histograms/metadata/startup/histograms.xml",
      "//tools/metrics/histograms/metadata/storage/histograms.xml",
      "//tools/metrics/histograms/metadata/subresource/histograms.xml",
      "//tools/metrics/histograms/metadata/sync/histograms.xml",
      "//tools/metrics/histograms/metadata/invalidation/histograms.xml",
      "//tools/metrics/histograms/metadata/tab/histograms.xml",
      "//tools/metrics/histograms/metadata/translate/histograms.xml",
      "//tools/metrics/histograms/metadata/ukm/histograms.xml",
      "//tools/metrics/histograms/metadata/uma/histograms.xml",
      "//tools/metrics/histograms/metadata/update_engine/histograms.xml",
      "//tools/metrics/histograms/metadata/v8/histograms.xml",
      "//tools/metrics/histograms/metadata/variations/histograms.xml",
      "//tools/metrics/histograms/metadata/video_tutorials/histograms.xml",
      "//tools/metrics/histograms/metadata/web_apk/histograms.xml",
      "//tools/metrics/histograms/metadata/web_audio/histograms.xml",
      "//tools/metrics/histograms/metadata/web_core/histograms.xml",
      "//tools/metrics/histograms/metadata/web_rtc/histograms.xml",
      "//tools/metrics/histograms/metadata/webapps/histograms.xml",
      "//tools/metrics/histograms/metadata/webauthn/histograms.xml",
      "//tools/metrics/histograms/metadata/weblayer/histograms.xml",
      "//tools/metrics/histograms/metadata/windows/histograms.xml",
      "//tools/metrics/histograms/metadata/xr/histograms.xml",
      "//tools/metrics/histograms/metadata/obsolete_histograms.xml",
      "//tools/metrics/histograms/enums.xml",
    ]

    major_branch_date_filepath = invoker.major_branch_date_filepath
    milestone_filepath = invoker.milestone_filepath

    args = []

    if (defined(invoker.namespace) && invoker.namespace != "") {
      args += [ "-n" + invoker.namespace ]
    }

    args += [
              "-o" + rebase_path(root_gen_dir, root_build_dir),
              "-H" + rebase_path(header_filename, root_gen_dir),
              "-d" + rebase_path(major_branch_date_filepath, root_build_dir),
              "-m" + rebase_path(milestone_filepath, root_build_dir),
            ] + rebase_path(inputs, root_build_dir)
  }
}