opmon/print-background-task-times-by-build.toml (238 lines of code) (raw):
[project]
name = "Print Background Task Times By Build ID (1pct sample)"
platform = "firefox_desktop"
xaxis = "build_id"
start_date = "2020-12-01"
metrics = [
"total_printing_errors",
"print_failure",
"gfx_printer_doc_is_busy",
"not_available",
"unexpected",
"no_printer",
"name_not_found",
"cannot_open_file",
"startdoc",
"enddoc",
"start_page",
"abort",
"notimplemented",
"oom",
"total_printing_errors_new_ui",
"total_printing_errors_old_ui"
]
skip_default_metrics = true
[project.metric_groups.print_error_breakdown]
friendly_name = "Print Error Breakdown"
description = "Breakdown of print errors"
metrics = [
"print_failure",
"gfx_printer_doc_is_busy",
"not_available",
"unexpected",
"no_printer",
"name_not_found",
"cannot_open_file",
"startdoc",
"enddoc",
"start_page",
"abort",
"notimplemented",
"oom"
]
[project.metric_groups.print_error_by_ui]
friendly_name = "Print Error Breakdown per UI"
description = "Breakdown of print errors for old and new UI"
metrics = [
"total_printing_errors_new_ui",
"total_printing_errors_old_ui"
]
[project.population]
data_source = "main"
monitor_entire_population = true
dimensions = ["os", "channel"]
[dimensions.os]
data_source = "main"
select_expression = "environment.system.os.name"
friendly_name = "Operating System"
description = "Operating System"
[dimensions.channel]
data_source = "main"
select_expression = "normalized_channel"
friendly_name = "Channel"
description = "Channel"
[metrics.total_printing_errors]
select_expression = "SUM(total_errors)"
data_source = "print_errors"
friendly_name = "Total Printing Errors"
description = "Total number of printing errors"
[metrics.total_printing_errors.statistics]
sum = {}
[metrics.total_printing_errors_new_ui]
select_expression = "SUM(IF(is_new_ui = 'New UI', total_errors, 0))"
data_source = "print_errors"
friendly_name = "Total Printing Errors New UI"
description = "Total number of printing errors for new UI"
[metrics.total_printing_errors_new_ui.statistics]
sum = {}
[metrics.total_printing_errors_old_ui]
select_expression = "SUM(IF(is_new_ui = 'Old UI', 0, total_errors))"
data_source = "print_errors"
friendly_name = "Total Printing Errors Old UI"
description = "Total number of printing errors for old UI"
[metrics.total_printing_errors_old_ui.statistics]
sum = {}
[metrics.print_failure]
select_expression = "COALESCE(SUM(failure), 0)"
data_source = "print_errors"
friendly_name = "Print Failures"
description = "Total number of print failures"
[metrics.print_failure.statistics]
sum = {}
[metrics.gfx_printer_doc_is_busy]
select_expression = "COALESCE(SUM(gfx_printer_doc_is_busy), 0)"
data_source = "print_errors"
friendly_name = "GFX Printer doc is busy"
description = "Total number of gfx printer doc busy failures"
[metrics.gfx_printer_doc_is_busy.statistics]
sum = {}
[metrics.not_available]
select_expression = "COALESCE(SUM(not_available), 0)"
data_source = "print_errors"
friendly_name = "Not Available"
description = "Total number of not available failures"
[metrics.not_available.statistics]
sum = {}
[metrics.unexpected]
select_expression = "COALESCE(SUM(unexpected), 0)"
data_source = "print_errors"
friendly_name = "Unexpected"
description = "Total number of unexpected failures"
[metrics.unexpected.statistics]
sum = {}
[metrics.no_printer]
select_expression = "COALESCE(SUM(no_printer), 0)"
data_source = "print_errors"
friendly_name = "No Printer"
description = "Total number of no printer failures"
[metrics.no_printer.statistics]
sum = {}
[metrics.name_not_found]
select_expression = "COALESCE(SUM(name_not_found), 0)"
data_source = "print_errors"
friendly_name = "Name not found"
description = "Total number of name not found failures"
[metrics.name_not_found.statistics]
sum = {}
[metrics.cannot_open_file]
select_expression = "COALESCE(SUM(cannot_open_file), 0)"
data_source = "print_errors"
friendly_name = "Cannot open file"
description = "Total number of cannot open file failures"
[metrics.cannot_open_file.statistics]
sum = {}
[metrics.startdoc]
select_expression = "COALESCE(SUM(startdoc), 0)"
data_source = "print_errors"
friendly_name = "Startdoc"
description = "Total number of startdoc failures"
[metrics.startdoc.statistics]
sum = {}
[metrics.enddoc]
select_expression = "COALESCE(SUM(enddoc), 0)"
data_source = "print_errors"
friendly_name = "Enddoc"
description = "Total number of enddoc failures"
[metrics.enddoc.statistics]
sum = {}
[metrics.start_page]
select_expression = "COALESCE(SUM(start_page), 0)"
data_source = "print_errors"
friendly_name = "Start Page"
description = "Total number of start page failures"
[metrics.start_page.statistics]
sum = {}
[metrics.abort]
select_expression = "COALESCE(SUM(abort), 0)"
data_source = "print_errors"
friendly_name = "Abort"
description = "Total number of aborts"
[metrics.abort.statistics]
sum = {}
[metrics.notimplemented]
select_expression = "COALESCE(SUM(notimplemented), 0)"
data_source = "print_errors"
friendly_name = "Not Implemented"
description = "Total number of not implemented failures"
[metrics.notimplemented.statistics]
sum = {}
[metrics.oom]
select_expression = "COALESCE(SUM(oom), 0)"
data_source = "print_errors"
friendly_name = "Out of memory"
description = "Total number of out of memory failures"
[metrics.oom.statistics]
sum = {}
# use a 1 percent sample for now
[data_sources.main]
from_expression = """(
SELECT *
FROM `moz-fx-data-shared-prod.telemetry_derived.main_1pct_v1`
WHERE environment.system.os.name IN ("Darwin", "Windows_NT", "Linux") AND
normalized_channel IN ("release", "beta", "nightly")
)"""
submission_date_column = "DATE(submission_timestamp)"
[data_sources.print_errors]
from_expression = """(
SELECT
build_id,
submission_timestamp,
client_id,
is_new_ui,
FAILURE_count AS failure,
GFX_PRINTER_DOC_IS_BUSY_count AS gfx_printer_doc_is_busy,
NOT_AVAILABLE_count AS not_available,
UNEXPECTED_count AS unexpected,
NO_PRINTER_count AS no_printer,
NAME_NOT_FOUND_count AS name_not_found,
CANNOT_OPEN_FILE_count AS cannot_open_file,
STARTDOC_count AS startdoc,
ENDDOC_count AS enddoc,
STARTPAGE_count AS start_page,
ABORT_count AS abort,
NOTIMPLEMENTED_count AS notimplemented,
OOM_count AS oom,
COALESCE(FAILURE_count, 0) + COALESCE(GFX_PRINTER_DOC_IS_BUSY_count, 0) + COALESCE(NOT_AVAILABLE_count, 0) + COALESCE(UNEXPECTED_count, 0) +
COALESCE(NO_PRINTER_count, 0) + COALESCE(NAME_NOT_FOUND_count, 0) + COALESCE(CANNOT_OPEN_FILE_count, 0) + COALESCE(STARTDOC_count, 0) +
COALESCE(ENDDOC_count, 0) + COALESCE(STARTPAGE_count, 0) + COALESCE(ABORT_count, 0) + COALESCE(NOTIMPLEMENTED_count, 0) + COALESCE(OOM_count, 0) AS total_errors
FROM (
SELECT
submission_timestamp,
client_id,
substr(application.build_id, 0, 10) AS build_id,
CASE
when `moz-fx-data-shared-prod`.udf.get_key(environment.experiments, 'bug-1683348-rollout-tab-modal-print-ui-roll-out-release-84-85') IS NOT NULL then 'New UI'
else 'Old UI'
end as is_new_ui,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "FAILURE") AS FAILURE_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "GFX_PRINTER_DOC_IS_BUSY") AS GFX_PRINTER_DOC_IS_BUSY_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "NOT_AVAILABLE") AS NOT_AVAILABLE_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "UNEXPECTED") AS UNEXPECTED_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "GFX_PRINTER_NO_PRINTER_AVAILABLE") AS NO_PRINTER_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "GFX_PRINTER_NAME_NOT_FOUND") AS NAME_NOT_FOUND_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "GFX_PRINTER_COULD_NOT_OPEN_FILE") AS CANNOT_OPEN_FILE_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "GFX_PRINTER_STARTDOC") AS STARTDOC_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "GFX_PRINTER_ENDDOC") AS ENDDOC_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "GFX_PRINTER_STARTPAGE") AS STARTPAGE_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "ABORT") AS ABORT_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "NOT_IMPLEMENTED") AS NOTIMPLEMENTED_count,
`moz-fx-data-shared-prod`.udf.get_key(payload.processes.parent.keyed_scalars.printing_error, "OUT_OF_MEMORY") AS OOM_count,
FROM `moz-fx-data-shared-prod.telemetry_derived.main_1pct_v1`
WHERE DATE(submission_timestamp) >= '2021-01-01' -- data started coming in on 2020-05-05
AND normalized_channel IN ("release", "beta", "nightly")
AND environment.system.os.name IN ("Darwin", "Windows_NT", "Linux")
AND CAST(substr(application.build_id, 1, 4) AS INT64) >= 2020
)
)"""
submission_date_column = "DATE(submission_timestamp)"
build_id_column = "build_id"