blob: cb4e38deb5620ae8362860c6dd60ba79326608ec [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:
#####################################################################
# fuchsia_up_ping
#
# Periodically, we log one or more of the following events:
# - Up, if the device is up at all
# - UpOneMinute, if the device has been up for at least one minute
# - UpTenMInutes, if the device has been up for at lest ten minutes
# - etc.
#
# Note that each event is logged repeatedly by our periodic process.
# It is not the case, for example, that UpOneMinute is only logged once
# when the device has been up for one minute. The intention is that this
# metric be used with local daily aggregation.
#####################################################################
- id: 1
metric_name: fuchsia_up_ping
metric_type: EVENT_OCCURRED
metric_dimensions:
- dimension: uptime
event_codes:
0: Up
1: UpOneMinute
2: UpTenMinutes
3: UpOneHour
4: UpTwelveHours
5: UpOneDay
6: UpThreeDays
7: UpSixDays
max_event_code: 7
reports:
#####################################################################
# fuchsia_unique_device_counts
#
# Every day we count the number of unique devices that are
# - up at all during the day
# - up during the day and have been up for at least one minute
# - up during the day and have been up for at least 10 minutes
# - etc.
#####################################################################
- report_name: fuchsia_unique_device_up_counts
id: 2228126248 # legacy long report_id
report_type: UNIQUE_N_DAY_ACTIVES
local_privacy_noise_level: NONE
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
#####################################################################
# fuchsia_up_ping
#
# We count the number of pings without the on-device aggregation.
# Note that the actual values of the counts are not particularly
# meaningful. We expect to use this report primarily as a sanity check of
# the reporting system.
#####################################################################
- report_name: fuchsia_up_ping
id: 1074068063 # 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: "2020/01/17"
#####################################################################
# fuchsia_lifetime_events
#
# We log each time one of these events occur on a Fuchsia device.
#####################################################################
- id: 2
metric_name: fuchsia_lifetime_events
metric_type: EVENT_OCCURRED
metric_dimensions:
- dimension: events
event_codes:
0: Boot
max_event_code: 7
reports:
#####################################################################
# fuchsia_lifetime_event_counts
#
# Every day we count the number of times the following events occur across
# the fleet:
# - boots
#####################################################################
- report_name: fuchsia_lifetime_event_counts
id: 14219118 # legacy long report_id
report_type: SIMPLE_OCCURRENCE_COUNT
local_privacy_noise_level: NONE
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
#####################################################################
# fuchsia_unique_device_lifetime_event_counts
#
# Every day we count the number of unique devices for which each
# of the following events occurred during the course of the day:
# - boot
#####################################################################
- report_name: fuchsia_unique_device_lifetime_event_counts
id: 560138269 # legacy long report_id
report_type: UNIQUE_N_DAY_ACTIVES
local_privacy_noise_level: NONE
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2020/01/17"
#####################################################################
# fuchsia memory_usage
#
# For every minute, we log the memory usage in bytes with breakdowns:
#####################################################################
- id: 3
metric_name: fuchsia_memory_experimental
metric_type: MEMORY_USAGE
metric_dimensions:
- dimension: memory_breakdown
event_codes:
0: TotalBytes
1: UsedBytes
2: FreeBytes
3: VmoBytes
4: KernelFreeHeapBytes
5: MmuBytes
6: IpcBytes
7: KernelTotalHeapBytes
8: WiredBytes
9: OtherBytes
reports:
#####################################################################
# fuchsia_memory_usage
#
#####################################################################
- report_name: fuchsia_memory_usage_numeric_aggr_experimental
id: 490323763 # legacy long report_id
report_type: NUMERIC_AGGREGATION
percentiles: [5, 10, 90, 95, 99]
system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
- report_name: fuchsia_memory_usage_histogram_experimental_2
id: 2249350189 # legacy long report_id
report_type: INT_RANGE_HISTOGRAM
system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
int_buckets:
linear:
floor: 0
num_buckets: 154
step_size: 10485760 # 10 MB
meta_data:
max_release_stage: GA
expiration_date: "2020/10/25"
#####################################################################
# fuchsia memory_usage with up time breakdown
#
# For every minute, we log the memory usage in bytes with breakdowns:
#####################################################################
- id: 4
metric_name: fuchsia_memory_experimental_2
metric_type: MEMORY_USAGE
metric_dimensions:
- dimension: memory_breakdown
event_codes:
0: TotalBytes
1: UsedBytes
2: FreeBytes
3: VmoBytes
4: KernelFreeHeapBytes
5: MmuBytes
6: IpcBytes
7: KernelTotalHeapBytes
8: WiredBytes
9: OtherBytes
- dimension: time_since_boot
event_codes:
0: Up
1: UpOneMinute
2: UpThirtyMinutes
3: UpOneHour
4: UpSixHours
5: UpTwelveHours
6: UpOneDay
7: UpTwoDays
8: UpThreeDays
9: UpSixDays
reports:
#####################################################################
# fuchsia_memory_usage
#####################################################################
- report_name: fuchsia_memory_usage_numeric_aggr_experimental
id: 490323763 # legacy long report_id
report_type: NUMERIC_AGGREGATION
percentiles: [5, 10, 90, 95, 99]
system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
- report_name: fuchsia_memory_usage_histogram_experimental
id: 57178942 # legacy long report_id
report_type: INT_RANGE_HISTOGRAM
system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
int_buckets:
linear:
floor: 0
num_buckets: 154
step_size: 10485760 # 10 MB
meta_data:
max_release_stage: GA
expiration_date: "2020/10/25"
#####################################################################
# ****** WILL DEPRECATE. Use id 8 below instead. ******
# fuchsia CPU% * 100 averaged over all cores taken per sec
#
# For every second, a syscall is made to fetch the CPU idle time for
# each CPU core. With that, we calculate the CPU% which is
# (busy time / 1 sec * 100) for each core. Assuming all cores are
# the same, we take the average CPU% over all cores.
# Note that Cobalt only take integer input, so we further multiply the
# average CPU% by 100 to get 2 decimal places.
# We aggregate 60 data points before flushing them into Cobalt through
# one FIDL call.
# Note that we are using MEMORY_USAGE metric_type until CPU_USAGE is
# avaiable.
#####################################################################
- id: 5
metric_name: fuchsia_cpu_percentage_experimental
metric_type: MEMORY_USAGE # TODO(CB-253) Change to CPU metric type when available
metric_dimensions:
- dimension: device_state
event_codes:
0: Unknown
1: Idle
2: Active
reports:
#####################################################################
# fuchsia_cpu_usage
#####################################################################
- report_name: fuchsia_cpu_percentage_histogram_experimental
id: 1375790990 # legacy long report_id
report_type: INT_RANGE_HISTOGRAM
system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
int_buckets:
linear:
floor: 0
num_buckets: 100
step_size: 100 # We multiply CPU% by 100. So step size is 100.
meta_data:
max_release_stage: GA
expiration_date: "2020/10/25"
#####################################################################
# fuchsia_uptime
#
# Once per hour, we check the time since the system metrics daemon
# started, and send the uptime in hours (rounded down to the nearest
# hour from the true uptime).
#####################################################################
- id: 6
metric_name: "fuchsia_uptime"
metric_type: ELAPSED_TIME
metric_dimensions:
- dimension: uptime_range
event_codes:
0: LessThanTwoWeeks
1: TwoWeeksOrMore
reports:
#####################################################################
# fuchsia_uptime_hourly_bucket_counts
#
# Each day, we report the total number of pings we received
# for each 1-hour uptime bucket, up to a cap of 2 weeks. These
# numbers will be used to compute statistics of the uptime per
# boot session, under the assumption that most devices will reboot
# for updates at least once every 2 weeks.
#####################################################################
- report_name: fuchsia_uptime_hourly_bucket_counts
id: 3731123077 # legacy long report_id
report_type: INT_RANGE_HISTOGRAM
int_buckets:
linear:
floor: 0
num_buckets: 336
step_size: 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
#####################################################################
# fuchsia_uptime_daily_bucket_counts
#
# Each day, we report the total number of pings we received
# for each 24-hour uptime bucket, up to a cap of 2 weeks. These numbers
# will be used to visualize the uptime per boot session, under the
# assumption that most devices will reboot for updates at least once
# every 2 weeks.
#####################################################################
- report_name: fuchsia_uptime_daily_bucket_counts
id: 3715674597 # legacy long report_id
report_type: INT_RANGE_HISTOGRAM
int_buckets:
linear:
floor: 0
num_buckets: 14
step_size: 24
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
#####################################################################
# fuchsia_uptime_per_device_max
#
# Each day, we report statistics of the maximum uptime reached by
# devices on that day. (The uptime session may have started on a
# previous day.) One piece of information provided by this report is
# the number of unique devices which have been up for 2 weeks or
# more on a given day.
#####################################################################
- report_name: fuchsia_uptime_per_device_max
id: 3666699243 # legacy long report_id
report_type: PER_DEVICE_NUMERIC_STATS
aggregation_type: MAX
window_size:
- 1
system_profile_field: [BOARD_NAME, PRODUCT_NAME, SYSTEM_VERSION, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2020/06/14"
#####################################################################
# fuchsia device temperature in degree celsius
# Device temperature is fetched every 10 seconds, and flushed into Cobalt
# every 1 minute (6 samples at once).
#####################################################################
- id: 7
metric_name: fuchsia_temperature_experimental
metric_type: INT_HISTOGRAM
int_buckets:
linear:
floor: 0
num_buckets: 80 # Assuming max 80 degree celsius.
step_size: 1
reports:
- report_name: fuchsia_temperature_histogram_experimental
id: 1340833861 # legacy long report_id
report_type: INT_RANGE_HISTOGRAM
system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2020/10/25"
#####################################################################
# fuchsia CPU% * 100 averaged over all cores taken per sec
#
# For every second, a syscall is made to fetch the CPU idle time for
# each CPU core. With that, we calculate the CPU% which is
# (busy time / 1 sec * 100) for each core. Assuming all cores are
# the same, we take the average CPU% over all cores.
# Note that Cobalt only take integer input, so we further multiply the
# average CPU% by 100 to get 2 decimal places.
# We aggregate 10 minutes of data before flushing them into Cobalt in
# one FIDL call.
# Estimated number of events per day is 3 * (24 * 60)/10 = 432.
#####################################################################
- id: 8
metric_name: cpu_percentage
metric_type: INT_HISTOGRAM
metric_dimensions:
- dimension: device_state
event_codes:
0: Unknown
1: Idle
2: Active
int_buckets:
linear:
floor: 0
num_buckets: 1000 # 0.00% - 100.00%.
step_size: 10 # 0.10%
reports:
#####################################################################
# fuchsia_cpu_usage
#####################################################################
- report_name: cpu_percentage_histogram
id: 1
report_type: INT_RANGE_HISTOGRAM
system_profile_field: [BOARD_NAME, PRODUCT_NAME, ARCH, SYSTEM_VERSION, OS, CHANNEL]
meta_data:
max_release_stage: GA
expiration_date: "2020/12/17"