To cut down on complexity, we don't require specifying any expiry versions. Given that these events will be recorded non-persistently from off-train add-ons, they can be expired by shipping new add-on releases. We also start to use the new "record on release" terminology here instead of opt-in/opt-out, but are not changing the internal functionality yet. Technically, this is implemented by keeping a separate registry for the dynamic event information. Built-in & dynamic events are tracked with separate numeric ids, so introduce a common identifier for both, an EventKey. For actual event storage, the events are treated the same as built-in events. They are simply bucketed into the 'dynamic' process storage. This approach ends up duplicating code paths that use the event info, but keeps a single implementation for recording, storage & serialization.
27 lines
1.3 KiB
YAML
27 lines
1.3 KiB
YAML
# This lists the known child processes we collect Telemetry for.
|
|
# The entries are keyed with the names used in Telemetry internally, the same name that is used
|
|
# in the main pings payload, i.e. "payload/processes/<process name>". See:
|
|
# https://gecko.readthedocs.io/en/latest/toolkit/components/telemetry/telemetry/data/main-ping.html#processes
|
|
#
|
|
# For now this is only used to inform the data pipeline about new processes, but will be used to
|
|
# generate headers with C++ data later (enums, strings, ...).
|
|
parent:
|
|
gecko_enum: GeckoProcessType_Default
|
|
description: This is the main process. It is also known as the parent or chrome process.
|
|
content:
|
|
gecko_enum: GeckoProcessType_Content
|
|
description: This is for processes web content is rendered in.
|
|
extension:
|
|
gecko_enum: GeckoProcessType_Content
|
|
description: >
|
|
This is the WebExtension process. It is a re-used content process, with the data submitted
|
|
separately to avoid skewing other content process Telemetry.
|
|
gpu:
|
|
gecko_enum: GeckoProcessType_GPU
|
|
description: This is the compositor or GPU process.
|
|
dynamic:
|
|
gecko_enum: GeckoProcessType_Default
|
|
description: >
|
|
This is not a real process, it is used to logically group add-on probes.
|
|
It contains data of any probes registered at runtime by add-ons.
|