Files
tubestation/toolkit/components/telemetry/Processes.yaml
Georg Fritzsche 9385f14125 Bug 1302681 - Part 1: Extend Event Telemetry core for recording from addons. r=dexter
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.
2017-08-03 07:03:00 -04:00

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.