blob: 4d38420bbb6373198c8b44a7341c4dc9686e082f [file] [log] [blame]
# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
metric_definitions:
#####################################################################
# crash
#
# Count of times the crash reporter handles crash reports in various
# states.
# We send the event when performing actions on a crash report.
#####################################################################
- id: 2
metric_name: crash
metric_type: EVENT_OCCURRED
replacement_metric_id: 102
metric_dimensions: &c_dimensions
- dimension: state
event_codes:
0: Unknown
1: Filed
2: Uploaded
3: Archived
4: GarbageCollected
5: Dropped
6: UploadThrottled
7: OnDeviceQuotaReached
8: Deleted
9: UploadTimedOut
max_event_code: 32
reports:
#####################################################################
# crash_state_event_counts
#
# Count of each of the crash states.
#####################################################################
- report_name: crash_state_event_counts
id: 469278908 # legacy long report_id
report_type: SIMPLE_OCCURRENCE_COUNT
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
- id: 102
metric_name: crash_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *c_dimensions
reports:
- report_name: crash_state_event_counts
id: 1
report_type: FLEETWIDE_OCCURRENCE_COUNTS
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
#####################################################################
# crash_upload_attempts
#
# We log the current upload attempt number when:
# * we attempt to upload a crash report
# * we successfully upload a crash report
# * we delete a crash report that we attempted to upload at least
# once
# * we garbage collect a crash report that we attempted to upload at
# least once
# * we attempt to upload a report and are throttled by the server
# * we attempt to upload a report and the request times out
#
# Every time, we log the attempt number.
#####################################################################
- id: 3
metric_name: crash_upload_attempts
metric_type: EVENT_COUNT
replacement_metric_id: 103
metric_dimensions: &cua_dimensions
- dimension: state
event_codes:
0: Unknown
1: UploadAttempt
2: Uploaded
3: Deleted
4: GarbageCollected
5: UploadThrottled
6: UploadTimedOut
max_event_code: 16
reports:
#####################################################################
# histogram
#
# Determine the distribution of upload attempts.
#####################################################################
- report_name: histogram
id: 1
report_type: INT_RANGE_HISTOGRAM
int_buckets: &cua_buckets
linear:
floor: 1
num_buckets: 64
step_size: 1
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
- id: 103
metric_name: crash_upload_attempts_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *cua_dimensions
reports:
- report_name: histogram
id: 1
report_type: HOURLY_VALUE_HISTOGRAMS
privacy_level: NO_ADDED_PRIVACY
int_buckets: *cua_buckets
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
#####################################################################
# feedback_data_collection_timeout
#
# Record the number of times each data collection function times out
# during feedback data collection.
# We send an event each time collection of some data times out.
#####################################################################
- id: 5
metric_name: feedback_data_collection_timeout
metric_type: EVENT_OCCURRED
replacement_metric_id: 105
metric_dimensions: &fdct_dimensions
- dimension: data
event_codes:
0: Unknown
1: SystemLog
2: KernelLog
3: Screenshot
4: Inspect
5: Channel
6: ProductInfo
7: BoardInfo
8: LastRebootInfo
max_event_code: 32
reports:
#####################################################################
# counts
#
# Count the number of times each data collection funtion times out.
#####################################################################
- report_name: counts
id: 1
report_type: SIMPLE_OCCURRENCE_COUNT
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
- id: 105
metric_name: feedback_data_collection_timeout_migrated
metric_type: OCCURRENCE
metric_semantics: [USAGE_COUNTING]
metric_dimensions: *fdct_dimensions
reports:
- report_name: counts
id: 1
report_type: FLEETWIDE_OCCURRENCE_COUNTS
privacy_level: NO_ADDED_PRIVACY
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
#####################################################################
# snapshot_generation_duration_usecs
#
# Whenever a snapshot is generated, we log the elapsed time in
# microseconds from when the snapshot collection is started to when
# the snapshot is ready to be sent.
#
# Snapshots are primarily requested in response to user feedback and
# program crashes, so we expect this metric to be recorded at minute
# level frequency, with the potential for faster bursts in the
# circumstance where programs crash repeatedly.
# #####################################################################
- id: 6
metric_name: snapshot_generation_duration_usecs
metric_type: ELAPSED_TIME
replacement_metric_id: 106
metric_dimensions: &sgdu_dimensions
- dimension: flow
event_codes:
0: Unknown
1: Success
2: Failure
reports:
#####################################################################
# histogram
#
# Determine the distribution of snapshot generation durations
# between 0 and 120 seconds, using 1 second wide buckets.
#####################################################################
- report_name: histogram
id: 1
report_type: INT_RANGE_HISTOGRAM
int_buckets: &sgdu_buckets
linear:
floor: 0
num_buckets: 120
step_size: 1000000 # 1 second
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
- id: 106
metric_name: snapshot_generation_duration_usecs_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [LATENCY]
metric_dimensions: *sgdu_dimensions
reports:
- report_name: histogram
id: 1
report_type: FLEETWIDE_HISTOGRAMS
privacy_level: NO_ADDED_PRIVACY
int_buckets: *sgdu_buckets
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
#######################################################################
# reboot_reason_persist_duration_usecs
#
# Whenever last_reboot.cmx receives a notification that the system is
# going to shutdown we log the elapsed time in microseconds that it
# takes to persist the reboot reason to disk. This metric is collected
# once each time a device shuts down.
#######################################################################
- id: 7
metric_name: reboot_reason_persist_duration_usecs
metric_type: ELAPSED_TIME
replacement_metric_id: 107
metric_dimensions: &rrpdu_dimensions
- dimension: write_result
event_codes:
0: Success
1: Failure
reports:
#####################################################################
# histogram
#
# Determine the distribution of how long it takes to persist the
# reboot reason between 0 and 5 seconds, using 0.1 second wide
# bucket.
#####################################################################
- report_name: histogram
id: 1
report_type: INT_RANGE_HISTOGRAM
int_buckets: &rrpdu_buckets
linear:
floor: 0
num_buckets: 50
step_size: 100000 # .1 second
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
- id: 107
metric_name: reboot_reason_persist_duration_usecs_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [LATENCY]
metric_dimensions: *rrpdu_dimensions
reports:
- report_name: histogram
id: 1
report_type: FLEETWIDE_HISTOGRAMS
privacy_level: NO_ADDED_PRIVACY
int_buckets: *rrpdu_buckets
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
#####################################################################
# last_reboot_uptime
#
# The uptime of the last boot in microseconds and what caused the
# device to reboot.
# We send the event once after a reboot.
#####################################################################
- id: 8
metric_name: last_reboot_uptime
metric_type: ELAPSED_TIME
replacement_metric_id: 108
metric_dimensions: &lru_dimensions
- dimension: reason
event_codes:
0: Unknown
1: GenericGraceful
2: GenericUngraceful
3: Cold
4: BriefPowerLoss
5: Brownout
6: KernelPanic
7: SystemOutOfMemory
8: HardwareWatchdogTimeout
9: SoftwareWatchdogTimeout
10: UserRequest
11: SystemUpdate
12: HighTemperature
13: SessionFailure
14: SysmgrFailure
15: FactoryDataReset
16: CriticalComponentFailure
17: RetrySystemUpdate
18: ZbiSwap
19: RootJobTermination
reports:
#####################################################################
# histogram
#
# Distribution of uptimes for each type of reboot reason in
# microseconds.
#####################################################################
- report_name: histogram
id: 3671940974 # legacy long report_id
report_type: INT_RANGE_HISTOGRAM
int_buckets: &lru_buckets
exponential:
floor: 0
num_buckets: 25
initial_step: 60000000 # 1 minute
step_multiplier: 2
local_privacy_noise_level: NONE
system_profile_field: [OS, ARCH, BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
- id: 108
metric_name: last_reboot_uptime_migrated
metric_type: INTEGER
metric_units: MICROSECONDS
metric_semantics: [LATENCY]
metric_dimensions: *lru_dimensions
reports:
- report_name: histogram
id: 1
report_type: FLEETWIDE_HISTOGRAMS
privacy_level: NO_ADDED_PRIVACY
int_buckets: *lru_buckets
system_profile_field: [OS, ARCH, BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL, REALM]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
#####################################################################
# previous_boot_log_compression_ratio
#
# The truncated compression_ratio * 100 for the previous boot logs,
# e.g., 100 = no compression gain nor loss, 200 = 2x compression.
# We send this metric once after a reboot.
#####################################################################
- id: 9
metric_name: previous_boot_log_compression_ratio
metric_type: EVENT_COUNT
replacement_metric_id: 109
metric_dimensions: &pblcr_dimensions
# Represents how the data was compressed, e.g, using lz4.
- dimension: encoding_version
event_codes:
0: Unknown
1: V_01
2: V_02
3: V_03
4: V_04
5: V_05
reports:
#####################################################################
# stats
#
# Statistics for the metric value (mean, median, percentiles, etc.).
#####################################################################
- report_name: stats
id: 1
report_type: NUMERIC_AGGREGATION
percentiles: [10, 25, 75, 90]
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
- id: 109
metric_name: previous_boot_log_compression_ratio_migrated
metric_type: INTEGER
metric_units_other: "Ratio * 100"
metric_semantics: [DATA_SIZE, MEMORY_USAGE]
metric_dimensions: *pblcr_dimensions
reports:
- report_name: stats_10
id: 1
report_type: HOURLY_VALUE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: PERCENTILE_N
local_aggregation_procedure_percentile_n: 10
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: stats_25
id: 2
report_type: HOURLY_VALUE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: PERCENTILE_N
local_aggregation_procedure_percentile_n: 25
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: stats_75
id: 3
report_type: HOURLY_VALUE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: PERCENTILE_N
local_aggregation_procedure_percentile_n: 75
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: stats_90
id: 4
report_type: HOURLY_VALUE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: PERCENTILE_N
local_aggregation_procedure_percentile_n: 90
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
#####################################################################
# snapshot_size
#
# A Fuchsia snapshot is a bundle of files representing the current
# state of the device, e.g., logs, Inspect data that we attach to
# feedback reports. This metric tracks the file size in bytes of that
# bundle and we log the metric every time we generate a snapshot.
#####################################################################
- id: 10
metric_name: snapshot_size
metric_type: EVENT_COUNT
replacement_metric_id: 110
metric_dimensions: &ss_dimensions
# Represents how the snapshot was generated, e.g., using ZIP.
- dimension: version
event_codes:
0: Unknown
1: V_01
2: V_02
3: V_03
reports:
#####################################################################
# stats
#
# Statistics for the metric value (mean, median, percentiles, etc.).
#####################################################################
- report_name: stats
id: 1
report_type: NUMERIC_AGGREGATION
percentiles: [10, 25, 75, 90]
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
- id: 110
metric_name: snapshot_size_migrated
metric_type: INTEGER
metric_units: BYTES
metric_semantics: [DATA_SIZE, MEMORY_USAGE]
metric_dimensions: *ss_dimensions
reports:
- report_name: stats_10
id: 1
report_type: HOURLY_VALUE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: PERCENTILE_N
local_aggregation_procedure_percentile_n: 10
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: stats_25
id: 2
report_type: HOURLY_VALUE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: PERCENTILE_N
local_aggregation_procedure_percentile_n: 25
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: stats_75
id: 3
report_type: HOURLY_VALUE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: PERCENTILE_N
local_aggregation_procedure_percentile_n: 75
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
- report_name: stats_90
id: 4
report_type: HOURLY_VALUE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: PERCENTILE_N
local_aggregation_procedure_percentile_n: 90
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
#####################################################################
# max_input_inspect_budget
#
# The max_input_inspect_budget is a dynamic value that is calculated
# every time we create a new snapshot. This value is sent to inspect
# to limit the amount of inspect data that is included in the next
# snapshot to produced a compressed snapshot size lower than a certain
# threshold. This metric combined with the snapshot size metric can
# give us an early warning sign if we might be trimming too much data.
#
# Snapshots are primarily requested in response to user feedback and
# program crashes, so we expect this metric to be recorded at minute
# level frequency, with the potential for faster bursts in the
# circumstance where programs crash repeatedly.
#####################################################################
- id: 11
metric_name: max_input_inspect_budget
metric_type: EVENT_COUNT
replacement_metric_id: 111
reports:
- report_name: stats
id: 1
report_type: NUMERIC_AGGREGATION
percentiles: [5, 10]
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"
- id: 111
metric_name: max_input_inspect_budget_migrated
metric_type: INTEGER
metric_units: BYTES
metric_semantics: [DATA_SIZE, MEMORY_USAGE]
reports:
- report_name: stats_min
id: 1
report_type: HOURLY_VALUE_NUMERIC_STATS
privacy_level: NO_ADDED_PRIVACY
local_aggregation_procedure: MIN_PROCEDURE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2021/09/02"