opmon/firefox-messaging-system.toml (198 lines of code) (raw):

# Monitoring of Firefox Desktop's Messaging System. [project] name = "Firefox Desktop Messaging System" platform = "firefox_desktop" xaxis = "submission_date" start_date = "2023-05-26" # We want continuous monitoring of this data: # end_date = skip_default_metrics = true compact_visualization = false metrics = [ "client_volume", "ping_volume", "undesired_events_ping_volume", "whats_new_panel_ping_volume", "moments_ping_volume", "infobar_ping_volume", "spotlight_ping_volume", "cfr_ping_volume", "toolbar_badge_ping_volume", "toast_notification_ping_volume", "null_ping_volume", "other_ping_volume", "unknown_keys_volume", "invalid_nested_data_volume", ] alerts = [ "unexpected_data", ] [project.population] data_source = "messaging_system" monitor_entire_population = true dimensions = ["normalized_channel", "normalized_os"] [project.metric_groups.ping_volume_by_ping_type] friendly_name = "Ping Volume by Ping Type" description = """\ The volume of 'messaging-system' pings broken down by `messaging_system.ping_type`.\ Currently supported: 'whats-new-panel', 'moments', 'infobar', 'spotlight', 'cfr', 'toolbar-badge', 'toast_notification', NULL, and 'other'.\ 'undesired-event' can be found in its own plot.\ """ metrics = [ "whats_new_panel_ping_volume", "moments_ping_volume", "infobar_ping_volume", "spotlight_ping_volume", "cfr_ping_volume", "null_ping_volume", "other_ping_volume", "toolbar_badge_ping_volume", "toast_notification_ping_volume" ] [project.metric_groups.unexpected_data] friendly_name = "Unexpected Data" description = """\ The volume of unknown and invalid information received by Messaging System.\ Further information (like what the unknown/invalid information's names are) are available in the raw ping tables.\ The aim is to ensure this remains 0. """ metrics = [ "unknown_keys_volume", "invalid_nested_data_volume", ] [dimensions.normalized_channel] data_source = "messaging_system" select_expression = "normalized_channel" friendly_name = "Channel" description = "Release channel, like 'release', 'beta', 'nightly', 'esr', 'devedition'." [dimensions.normalized_os] data_source = "messaging_system" select_expression = "normalized_os" friendly_name = "Operating System" description = "OS like 'Windows', 'Mac', 'Linux'" [data_sources] [data_sources.messaging_system] from_expression = """( SELECT * FROM mozdata.firefox_desktop.messaging_system WHERE COALESCE(normalized_channel, "Other") <> "Other" )""" submission_date_column = "DATE(submission_timestamp)" # Not sure that this would be helpful to include #build_id_column = "client_info.app_build" client_id_column = "document_id" [metrics] [metrics.client_volume] friendly_name = "Client Volume" description = """\ Count of distinct messaging_system.client_id.\ Might undercount for pings not allowed to send client_id or if the Legacy Telemetry isn't set at the time the ping is submitted.\ """ data_source = "messaging_system" select_expression = "COUNT(DISTINCT metrics.uuid.messaging_system_client_id)" type = "scalar" statistics.sum = {} [metrics.ping_volume] friendly_name = "Ping Volume" description = "Count of 'messaging-system' pings received." data_source = "messaging_system" select_expression = "COUNT(*)" type = "scalar" statistics.sum = {} [metrics.undesired_events_ping_volume] friendly_name = "'undesired-events' pings" description = "Count of 'messaging-system' pings with ping_type = 'undesired-events'" data_source = "messaging_system" select_expression = "COUNTIF(metrics.string.messaging_system_ping_type = 'undesired-events')" type = "scalar" statistics.sum = {} [metrics.whats_new_panel_ping_volume] friendly_name = "'whats-new-panel' pings" description = "Count of 'messaging-system' pings with ping_type = 'whats-new-panel'" data_source = "messaging_system" select_expression = "COUNTIF(metrics.string.messaging_system_ping_type = 'whats-new-panel')" type = "scalar" statistics.sum = {} [metrics.moments_ping_volume] friendly_name = "'moments' pings" description = "Count of 'messaging-system' pings with ping_type = 'moments'" data_source = "messaging_system" select_expression = "COUNTIF(metrics.string.messaging_system_ping_type = 'moments')" type = "scalar" statistics.sum = {} [metrics.infobar_ping_volume] friendly_name = "'infobar' pings" description = "Count of 'messaging-system' pings with ping_type = 'infobar'" data_source = "messaging_system" select_expression = "COUNTIF(metrics.string.messaging_system_ping_type = 'infobar')" type = "scalar" statistics.sum = {} [metrics.spotlight_ping_volume] friendly_name = "'spotlight' pings" description = "Count of 'messaging-system' pings with ping_type = 'spotlight'" data_source = "messaging_system" select_expression = "COUNTIF(metrics.string.messaging_system_ping_type = 'spotlight')" type = "scalar" statistics.sum = {} [metrics.cfr_ping_volume] friendly_name = "'cfr' pings" description = "Count of 'messaging-system' pings with ping_type = 'cfr'" data_source = "messaging_system" select_expression = "COUNTIF(metrics.string.messaging_system_ping_type = 'cfr')" type = "scalar" statistics.sum = {} [metrics.toolbar_badge_ping_volume] friendly_name = "'toolbar-badge' pings" description = "Count of 'messaging-system' pings with ping_type = 'toolbar-badge'" data_source = "messaging_system" select_expression = "COUNTIF(metrics.string.messaging_system_ping_type = 'toolbar-badge')" type = "scalar" statistics.sum = {} [metrics.toast_notification_ping_volume] friendly_name = "'toast_notification' pings" description = "Count of 'messaging-system' pings with ping_type = 'toast_notification'" data_source = "messaging_system" select_expression = "COUNTIF(metrics.string.messaging_system_ping_type = 'toast_notification')" type = "scalar" statistics.sum = {} [metrics.null_ping_volume] friendly_name = "NULL pings" description = "Count of 'messaging-system' pings with ping_type of NULL. Typical for onboarding pings." data_source = "messaging_system" select_expression = "COUNTIF(metrics.string.messaging_system_ping_type IS NULL)" type = "scalar" statistics.sum = {} [metrics.other_ping_volume] friendly_name = "other pings" description = """\ Count of 'messaging-system' pings with ping_type that isn't NULL and isn't any of the other handled types.\ If there are values in here, you probably should update the opmon config to handle that new ping_type explicitly.\ """ data_source = "messaging_system" select_expression = "COUNTIF(metrics.string.messaging_system_ping_type IS NOT NULL AND metrics.string.messaging_system_ping_type NOT IN ('undesired-events', 'whats-new-panel', 'moments', 'infobar', 'spotlight', 'cfr', 'toolbar-badge', 'toast_notification'))" type = "scalar" statistics.sum = {} [metrics.unknown_keys_volume] friendly_name = "unknown keys" description = "Count of the total number of values recorded to unknown keys. See messaging_system.unknown_keys." data_source = "messaging_system" select_expression = "SUM(mozfun.map.extract_keyed_scalar_sum(metrics.labeled_counter.messaging_system_unknown_keys))" type = "scalar" statistics.sum = {} [metrics.invalid_nested_data_volume] friendly_name = "invalid nested data" description = "Count of the total number of values recorded to invalidly-nested keys. See messaging_system.invalid_nested_data." data_source = "messaging_system" select_expression = "SUM(mozfun.map.extract_keyed_scalar_sum(metrics.labeled_counter.messaging_system_invalid_nested_data))" type = "scalar" statistics.sum = {} [alerts] [alerts.unexpected_data] # We want to know when there's any unexpected data at all type = "threshold" max = [1] metrics = [ "unknown_keys_volume", "invalid_nested_data_volume", ]