Files
palemoon27/toolkit/components/telemetry/gen-histogram-enum.py
T
roytam1 3c4a44c16e import changes from `devel' branch of rmottola/Arctic-Fox:
- Bug 1132874 - Improve protections against sending a parent plugin protocol shutdown message to the child after the child has torn down. r=aklotz (b80b45fa7)
- Bug 1103036 - Follow-up to initial patch; r=jchen (51337c2dc)
- Bug 1132874 - Simplify PPluginWidget protocol handling, and avoid sending async messages from the parent. Addresses a problem with sub protocols that are torn down randomly from either side of the connection. r=aklotz (3ad936e84)
- Bug 1128214 - Avoid a crash when attempting to render windows titlebar specific theme elements with e10s. r=roc (b6f17da09)
- Bug 1139368 - Set FilterTypeSet dependency in improveThisTypesForCall. r=h4writer (422de7271)
- Bug 864041 - Remove Firefox 2+3 compat code from about:sessionrestore. r=mak (4cfc6fe9a)
- Bug 1009599 - Restoring from about:sessionrestore fails when there is more than one tab in the window r=smacleod (88ca1cfbc)
- Bug 1146052 - Fix empty about:sessionrestore after crash as well as empty about:welcomeback after resetting the profile r=smacleod (211b50396)
- Bug 1043797: extended popup notifications to create a generic doorhanger for all security notifications incl. mixed content r=adw (f7c2d5ded)
- Bug 900845 - We aren't using the NetUtil module in SessionStore.jsm. (3f5ddd133)
- Bug 898755 - Remove _resume_session_once_on_shutdown code from SessionStore; r=yoric (eb159fec9)
- Bug 902727 - [Session Restore] Remove legacy _writeFileEncoder; r=smacleod (8e375c529)
- space cleanup (cbd71ce91)
- Bug 968923 - part 1 - add infrastructure for defining use counters from UseCounters.conf; original-author=heycam; r=heycam,gfritzsche,mshal (d0dea9997)
- Bug 968923 - part 2 - change MappedAttrParser to store a nsSVGElement directly, instead of its nsIPrincipal; r=smaug (4eff86d7f)
- Merge branch 'devel' of https://github.com/rmottola/Arctic-Fox into devel (feb4378e6)
2020-01-17 09:03:54 +08:00

66 lines
2.2 KiB
Python

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Write out a C++ enum definition whose members are the names of
# histograms as well as the following other members:
#
# - HistogramCount
# - HistogramFirstUseCounter
# - HistogramLastUseCounter
# - HistogramUseCounterCount
#
# The histograms are defined in files provided as command-line arguments.
import histogram_tools
import itertools
import sys
banner = """/* This file is auto-generated, see gen-histogram-enum.py. */
"""
def main(argv):
filenames = argv
print banner
print "enum ID : uint32_t {"
groups = itertools.groupby(histogram_tools.from_files(filenames),
lambda h: h.name().startswith("USE_COUNTER_"))
seen_use_counters = False
# Note that histogram_tools.py guarantees that all of the USE_COUNTER_*
# histograms are defined in a contiguous block. We therefore assume
# that there's at most one group for which use_counter_group is true.
for (use_counter_group, histograms) in groups:
if use_counter_group:
seen_use_counters = True
# The HistogramDUMMY* enum variables are used to make the computation
# of Histogram{First,Last}UseCounter easier. Otherwise, we'd have to
# special case the first and last histogram in the group.
if use_counter_group:
print " HistogramFirstUseCounter,"
print " HistogramDUMMY1 = HistogramFirstUseCounter - 1,"
for histogram in histograms:
cpp_guard = histogram.cpp_guard()
if cpp_guard:
print "#if defined(%s)" % cpp_guard
print " %s," % histogram.name()
if cpp_guard:
print "#endif"
if use_counter_group:
print " HistogramDUMMY2,"
print " HistogramLastUseCounter = HistogramDUMMY2 - 1,"
print " HistogramCount,"
if seen_use_counters:
print " HistogramUseCounterCount = HistogramLastUseCounter - HistogramFirstUseCounter + 1"
else:
print " HistogramUseCounterCount = 0"
print "};"
main(sys.argv[1:])