forked from mirrors/gecko-dev
Bug 1877840 - Migrate GVST metrics in the avif namespace to pure glean r=chutten,tnikkel
GVST is how these probes sent data in Fenix and is now unnecessary (and doesn't send data in Fenix release) since Firefox Desktop has direct access to Glean. We therefore need to clean them up in some capacity. Following the recommendations from the GeckoView Streaming (GVST) validation effort, this is a pure Glean api implementation of the metrics that fell under network in geckoview streaming. Because these were all categorical histograms, to retain previous functionality we've added parallel instrumentation in Glean. Differential Revision: https://phabricator.services.mozilla.com/D201024
This commit is contained in:
parent
243bf6a480
commit
1ebc673e72
5 changed files with 675 additions and 462 deletions
439
image/decoders/metrics.yaml
Normal file
439
image/decoders/metrics.yaml
Normal file
|
|
@ -0,0 +1,439 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# Adding a new metric? We have docs for that!
|
||||
# https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/new_definitions_file.html
|
||||
|
||||
---
|
||||
$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0
|
||||
$tags:
|
||||
- "Core :: Graphics: ImageLib"
|
||||
|
||||
avif:
|
||||
decode_result:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- success
|
||||
- parse_error
|
||||
- no_primary_item
|
||||
- decode_error
|
||||
- size_overflow
|
||||
- out_of_memory
|
||||
- pipe_init_error
|
||||
- write_buffer_error
|
||||
- alpha_y_sz_mismatch
|
||||
- alpha_y_bpc_mismatch
|
||||
- ispe_mismatch
|
||||
- render_size_mismatch
|
||||
- frame_size_changed
|
||||
- invalid_cicp
|
||||
- invalid_parse_status
|
||||
- missing_brand
|
||||
- ftyp_not_first
|
||||
- no_image
|
||||
- multiple_moov
|
||||
- no_moov
|
||||
- lsel_no_essential
|
||||
- a1op_no_essential
|
||||
- a1lx_essential
|
||||
- txform_no_essential
|
||||
- image_item_type
|
||||
- item_type_missing
|
||||
- construction_method
|
||||
- item_loc_not_found
|
||||
- no_item_data_box
|
||||
- no_samples
|
||||
- uncategorized
|
||||
description: >
|
||||
Decode result of AVIF image.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827#c9
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
decoder:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- dav1d
|
||||
- aom
|
||||
description: >
|
||||
Decoder of AVIF image.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827#c9
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
aom_decode_error:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- error
|
||||
- mem_error
|
||||
- abi_mismatch
|
||||
- incapable
|
||||
- unsup_bitstream
|
||||
- unsup_feature
|
||||
- corrupt_frame
|
||||
- invalid_param
|
||||
description: >
|
||||
Image-decode Error from AOM decoder
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1690406
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1690406#c3
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
yuv_color_space:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- bt601
|
||||
- bt709
|
||||
- bt2020
|
||||
- identity
|
||||
- unknown
|
||||
description: >
|
||||
YUV color space of AVIF image.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827#c9
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
bit_depth:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- color_8
|
||||
- color_10
|
||||
- color_12
|
||||
- color_16
|
||||
- unknown
|
||||
gecko_datapoint: AVIF_BIT_DEPTH
|
||||
description: >
|
||||
Bits per pixel of AVIF image.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827#c9
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
alpha:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- absent
|
||||
- present
|
||||
description: >
|
||||
AVIF alpha plane.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
colr:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- nclx
|
||||
- icc
|
||||
- absent
|
||||
- both
|
||||
description: >
|
||||
AVIF colour information type.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1729071
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1729071#c15
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
cicp_cp:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- reserved
|
||||
- bt709
|
||||
- unspecified
|
||||
- reserved_3
|
||||
- bt470m
|
||||
- bt470bg
|
||||
- bt601
|
||||
- smpte240
|
||||
- generic_film
|
||||
- bt2020
|
||||
- xyz
|
||||
- smpte431
|
||||
- smpte432
|
||||
- reserved_13
|
||||
- reserved_14
|
||||
- reserved_15
|
||||
- reserved_16
|
||||
- reserved_17
|
||||
- reserved_18
|
||||
- reserved_19
|
||||
- reserved_20
|
||||
- reserved_21
|
||||
- ebu3213
|
||||
- reserved_rest
|
||||
description: >
|
||||
AVIF CICP colour primaries.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
cicp_tc:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- reserved
|
||||
- bt709
|
||||
- unspecified
|
||||
- reserved_3
|
||||
- bt470m
|
||||
- bt470bg
|
||||
- bt601
|
||||
- smpte240
|
||||
- linear
|
||||
- log_100
|
||||
- log_100_sqrt10
|
||||
- iec61966
|
||||
- bt_1361
|
||||
- srgb
|
||||
- bt2020_10bit
|
||||
- bt2020_12bit
|
||||
- smpte2084
|
||||
- smpte428
|
||||
- hlg
|
||||
- reserved_rest
|
||||
description: >
|
||||
AVIF CICP transfer characteristics.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
cicp_mc:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- identity
|
||||
- bt709
|
||||
- unspecified
|
||||
- reserved
|
||||
- fcc
|
||||
- bt470bg
|
||||
- bt601
|
||||
- smpte240
|
||||
- ycgco
|
||||
- bt2020_ncl
|
||||
- bt2020_cl
|
||||
- smpte2085
|
||||
- chromat_ncl
|
||||
- chromat_cl
|
||||
- ictcp
|
||||
- reserved_rest
|
||||
description: >
|
||||
AVIF CICP transfer characteristics.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
ispe:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- valid
|
||||
- absent
|
||||
- bitstream_mismatch
|
||||
description: >
|
||||
AVIF spatial extents (image size).
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
pixi:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- valid
|
||||
- absent
|
||||
- bitstream_mismatch
|
||||
description: >
|
||||
AVIF pixel information (bits per channel).
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
pasp:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- absent
|
||||
- square
|
||||
- nonsquare
|
||||
- invalid
|
||||
description: >
|
||||
AVIF pixel aspect ratio.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
a1lx:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
description: >
|
||||
AV1LayeredImageIndexingProperty (a1lx).
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
a1op:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
description: >
|
||||
AVIF OperatingPointSelectorProperty (a1op).
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
clap:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
description: >
|
||||
AVIF CleanApertureBox (clap).
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
grid:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
description: >
|
||||
AVIF AVIF grid-based image.
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
ipro:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
description: >
|
||||
AVIF ItemProtectionBox (ipro).
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
lsel:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
description: >
|
||||
AVIF LayerSelectorProperty (lsel).
|
||||
(Migrated from the geckoview metric of the same name).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1877840
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
|
@ -17,6 +17,7 @@
|
|||
|
||||
#include "SurfacePipeFactory.h"
|
||||
|
||||
#include "mozilla/glean/GleanMetrics.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "mozilla/TelemetryComms.h"
|
||||
#include "mozilla/UniquePtrExtensions.h"
|
||||
|
|
@ -893,27 +894,51 @@ class AOMDecoder final : AVIFDecoderInterface {
|
|||
break;
|
||||
case AOM_CODEC_ERROR:
|
||||
AccumulateCategorical(LABELS_AVIF_AOM_DECODE_ERROR::error);
|
||||
mozilla::glean::avif::aom_decode_error
|
||||
.EnumGet(glean::avif::AomDecodeErrorLabel::eError)
|
||||
.Add();
|
||||
break;
|
||||
case AOM_CODEC_MEM_ERROR:
|
||||
AccumulateCategorical(LABELS_AVIF_AOM_DECODE_ERROR::mem_error);
|
||||
mozilla::glean::avif::aom_decode_error
|
||||
.EnumGet(glean::avif::AomDecodeErrorLabel::eMemError)
|
||||
.Add();
|
||||
break;
|
||||
case AOM_CODEC_ABI_MISMATCH:
|
||||
AccumulateCategorical(LABELS_AVIF_AOM_DECODE_ERROR::abi_mismatch);
|
||||
mozilla::glean::avif::aom_decode_error
|
||||
.EnumGet(glean::avif::AomDecodeErrorLabel::eAbiMismatch)
|
||||
.Add();
|
||||
break;
|
||||
case AOM_CODEC_INCAPABLE:
|
||||
AccumulateCategorical(LABELS_AVIF_AOM_DECODE_ERROR::incapable);
|
||||
mozilla::glean::avif::aom_decode_error
|
||||
.EnumGet(glean::avif::AomDecodeErrorLabel::eIncapable)
|
||||
.Add();
|
||||
break;
|
||||
case AOM_CODEC_UNSUP_BITSTREAM:
|
||||
AccumulateCategorical(LABELS_AVIF_AOM_DECODE_ERROR::unsup_bitstream);
|
||||
mozilla::glean::avif::aom_decode_error
|
||||
.EnumGet(glean::avif::AomDecodeErrorLabel::eUnsupBitstream)
|
||||
.Add();
|
||||
break;
|
||||
case AOM_CODEC_UNSUP_FEATURE:
|
||||
AccumulateCategorical(LABELS_AVIF_AOM_DECODE_ERROR::unsup_feature);
|
||||
mozilla::glean::avif::aom_decode_error
|
||||
.EnumGet(glean::avif::AomDecodeErrorLabel::eUnsupFeature)
|
||||
.Add();
|
||||
break;
|
||||
case AOM_CODEC_CORRUPT_FRAME:
|
||||
AccumulateCategorical(LABELS_AVIF_AOM_DECODE_ERROR::corrupt_frame);
|
||||
mozilla::glean::avif::aom_decode_error
|
||||
.EnumGet(glean::avif::AomDecodeErrorLabel::eCorruptFrame)
|
||||
.Add();
|
||||
break;
|
||||
case AOM_CODEC_INVALID_PARAM:
|
||||
AccumulateCategorical(LABELS_AVIF_AOM_DECODE_ERROR::invalid_param);
|
||||
mozilla::glean::avif::aom_decode_error
|
||||
.EnumGet(glean::avif::AomDecodeErrorLabel::eInvalidParam)
|
||||
.Add();
|
||||
break;
|
||||
default:
|
||||
MOZ_ASSERT_UNREACHABLE(
|
||||
|
|
@ -1279,13 +1304,24 @@ static void RecordMetadataTelem(const Mp4parseAvifInfo& aInfo) {
|
|||
|
||||
if (h_spacing == 0 || v_spacing == 0) {
|
||||
AccumulateCategorical(LABELS_AVIF_PASP::invalid);
|
||||
mozilla::glean::avif::pasp
|
||||
.EnumGet(mozilla::glean::avif::PaspLabel::eInvalid)
|
||||
.Add();
|
||||
} else if (h_spacing == v_spacing) {
|
||||
AccumulateCategorical(LABELS_AVIF_PASP::square);
|
||||
mozilla::glean::avif::pasp
|
||||
.EnumGet(mozilla::glean::avif::PaspLabel::eSquare)
|
||||
.Add();
|
||||
} else {
|
||||
AccumulateCategorical(LABELS_AVIF_PASP::nonsquare);
|
||||
mozilla::glean::avif::pasp
|
||||
.EnumGet(mozilla::glean::avif::PaspLabel::eNonsquare)
|
||||
.Add();
|
||||
}
|
||||
} else {
|
||||
AccumulateCategorical(LABELS_AVIF_PASP::absent);
|
||||
mozilla::glean::avif::pasp.EnumGet(mozilla::glean::avif::PaspLabel::eAbsent)
|
||||
.Add();
|
||||
}
|
||||
|
||||
const auto& major_brand = aInfo.major_brand;
|
||||
|
|
@ -1312,14 +1348,36 @@ static void RecordMetadataTelem(const Mp4parseAvifInfo& aInfo) {
|
|||
FEATURE_TELEMETRY(IPRO);
|
||||
FEATURE_TELEMETRY(LSEL);
|
||||
|
||||
#define FEATURE_RECORD_GLEAN(metric, metricLabel, fourcc) \
|
||||
mozilla::glean::avif::metric \
|
||||
.EnumGet(aInfo.unsupported_features_bitfield & \
|
||||
(1 << MP4PARSE_FEATURE_##fourcc) \
|
||||
? mozilla::glean::avif::metricLabel::ePresent \
|
||||
: mozilla::glean::avif::metricLabel::eAbsent) \
|
||||
.Add()
|
||||
FEATURE_RECORD_GLEAN(a1lx, A1lxLabel, A1LX);
|
||||
FEATURE_RECORD_GLEAN(a1op, A1opLabel, A1OP);
|
||||
FEATURE_RECORD_GLEAN(clap, ClapLabel, CLAP);
|
||||
FEATURE_RECORD_GLEAN(grid, GridLabel, GRID);
|
||||
FEATURE_RECORD_GLEAN(ipro, IproLabel, IPRO);
|
||||
FEATURE_RECORD_GLEAN(lsel, LselLabel, LSEL);
|
||||
|
||||
if (aInfo.nclx_colour_information && aInfo.icc_colour_information.data) {
|
||||
AccumulateCategorical(LABELS_AVIF_COLR::both);
|
||||
mozilla::glean::avif::colr.EnumGet(mozilla::glean::avif::ColrLabel::eBoth)
|
||||
.Add();
|
||||
} else if (aInfo.nclx_colour_information) {
|
||||
AccumulateCategorical(LABELS_AVIF_COLR::nclx);
|
||||
mozilla::glean::avif::colr.EnumGet(mozilla::glean::avif::ColrLabel::eNclx)
|
||||
.Add();
|
||||
} else if (aInfo.icc_colour_information.data) {
|
||||
AccumulateCategorical(LABELS_AVIF_COLR::icc);
|
||||
mozilla::glean::avif::colr.EnumGet(mozilla::glean::avif::ColrLabel::eIcc)
|
||||
.Add();
|
||||
} else {
|
||||
AccumulateCategorical(LABELS_AVIF_COLR::absent);
|
||||
mozilla::glean::avif::colr.EnumGet(mozilla::glean::avif::ColrLabel::eAbsent)
|
||||
.Add();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1328,14 +1386,23 @@ static void RecordPixiTelemetry(uint8_t aPixiBitDepth,
|
|||
const char* aItemName) {
|
||||
if (aPixiBitDepth == 0) {
|
||||
AccumulateCategorical(LABELS_AVIF_PIXI::absent);
|
||||
mozilla::glean::avif::pixi.EnumGet(mozilla::glean::avif::PixiLabel::eAbsent)
|
||||
.Add();
|
||||
|
||||
} else if (aPixiBitDepth == aBitstreamBitDepth) {
|
||||
AccumulateCategorical(LABELS_AVIF_PIXI::valid);
|
||||
mozilla::glean::avif::pixi.EnumGet(mozilla::glean::avif::PixiLabel::eValid)
|
||||
.Add();
|
||||
|
||||
} else {
|
||||
MOZ_LOG(sAVIFLog, LogLevel::Error,
|
||||
("%s item pixi bit depth (%hhu) doesn't match "
|
||||
"bitstream (%hhu)",
|
||||
aItemName, aPixiBitDepth, aBitstreamBitDepth));
|
||||
AccumulateCategorical(LABELS_AVIF_PIXI::bitstream_mismatch);
|
||||
mozilla::glean::avif::pixi
|
||||
.EnumGet(mozilla::glean::avif::PixiLabel::eBitstreamMismatch)
|
||||
.Add();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1346,8 +1413,16 @@ static void RecordFrameTelem(bool aAnimated, const Mp4parseAvifInfo& aInfo,
|
|||
const AVIFDecodedData& aData) {
|
||||
AccumulateCategorical(
|
||||
gColorSpaceLabel[static_cast<size_t>(aData.mYUVColorSpace)]);
|
||||
mozilla::glean::avif::yuv_color_space
|
||||
.EnumGet(static_cast<mozilla::glean::avif::YuvColorSpaceLabel>(
|
||||
aData.mYUVColorSpace))
|
||||
.Add();
|
||||
AccumulateCategorical(
|
||||
gColorDepthLabel[static_cast<size_t>(aData.mColorDepth)]);
|
||||
mozilla::glean::avif::bit_depth
|
||||
.EnumGet(
|
||||
static_cast<mozilla::glean::avif::BitDepthLabel>(aData.mColorDepth))
|
||||
.Add();
|
||||
|
||||
RecordPixiTelemetry(
|
||||
aAnimated ? aInfo.color_track_bit_depth : aInfo.primary_item_bit_depth,
|
||||
|
|
@ -1355,32 +1430,55 @@ static void RecordFrameTelem(bool aAnimated, const Mp4parseAvifInfo& aInfo,
|
|||
|
||||
if (aData.mAlpha) {
|
||||
AccumulateCategorical(LABELS_AVIF_ALPHA::present);
|
||||
mozilla::glean::avif::alpha
|
||||
.EnumGet(mozilla::glean::avif::AlphaLabel::ePresent)
|
||||
.Add();
|
||||
RecordPixiTelemetry(
|
||||
aAnimated ? aInfo.alpha_track_bit_depth : aInfo.alpha_item_bit_depth,
|
||||
BitDepthForColorDepth(aData.mColorDepth), "alpha");
|
||||
} else {
|
||||
AccumulateCategorical(LABELS_AVIF_ALPHA::absent);
|
||||
mozilla::glean::avif::alpha
|
||||
.EnumGet(mozilla::glean::avif::AlphaLabel::eAbsent)
|
||||
.Add();
|
||||
}
|
||||
|
||||
if (CICP::IsReserved(aData.mColourPrimaries)) {
|
||||
AccumulateCategorical(LABELS_AVIF_CICP_CP::RESERVED_REST);
|
||||
mozilla::glean::avif::cicp_cp
|
||||
.EnumGet(mozilla::glean::avif::CicpCpLabel::eReservedRest)
|
||||
.Add();
|
||||
} else {
|
||||
AccumulateCategorical(
|
||||
static_cast<LABELS_AVIF_CICP_CP>(aData.mColourPrimaries));
|
||||
mozilla::glean::avif::cicp_cp.EnumGet(
|
||||
static_cast<mozilla::glean::avif::CicpCpLabel>(aData.mColourPrimaries));
|
||||
}
|
||||
|
||||
if (CICP::IsReserved(aData.mTransferCharacteristics)) {
|
||||
AccumulateCategorical(LABELS_AVIF_CICP_TC::RESERVED);
|
||||
mozilla::glean::avif::cicp_tc
|
||||
.EnumGet(mozilla::glean::avif::CicpTcLabel::eReserved)
|
||||
.Add();
|
||||
} else {
|
||||
AccumulateCategorical(
|
||||
static_cast<LABELS_AVIF_CICP_TC>(aData.mTransferCharacteristics));
|
||||
mozilla::glean::avif::cicp_tc.EnumGet(
|
||||
static_cast<mozilla::glean::avif::CicpTcLabel>(
|
||||
aData.mTransferCharacteristics));
|
||||
}
|
||||
|
||||
if (CICP::IsReserved(aData.mMatrixCoefficients)) {
|
||||
AccumulateCategorical(LABELS_AVIF_CICP_MC::RESERVED);
|
||||
mozilla::glean::avif::cicp_mc
|
||||
.EnumGet(mozilla::glean::avif::CicpMcLabel::eReserved)
|
||||
.Add();
|
||||
} else {
|
||||
AccumulateCategorical(
|
||||
static_cast<LABELS_AVIF_CICP_MC>(aData.mMatrixCoefficients));
|
||||
mozilla::glean::avif::cicp_mc.EnumGet(
|
||||
static_cast<mozilla::glean::avif::CicpMcLabel>(
|
||||
aData.mMatrixCoefficients));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1561,6 +1659,8 @@ nsAVIFDecoder::DecodeResult nsAVIFDecoder::DoDecodeInternal(
|
|||
PostSize(decodedData->mPictureRect.width, decodedData->mPictureRect.height,
|
||||
orientation);
|
||||
AccumulateCategorical(LABELS_AVIF_ISPE::absent);
|
||||
mozilla::glean::avif::ispe.EnumGet(mozilla::glean::avif::IspeLabel::eAbsent)
|
||||
.Add();
|
||||
} else {
|
||||
// Verify that the bitstream hasn't changed the image size compared to
|
||||
// either the ispe box or the previous frames.
|
||||
|
|
@ -1579,6 +1679,10 @@ nsAVIFDecoder::DecodeResult nsAVIFDecoder::DoDecodeInternal(
|
|||
decodedData->mPictureRect.width,
|
||||
decodedData->mPictureRect.height));
|
||||
AccumulateCategorical(LABELS_AVIF_ISPE::bitstream_mismatch);
|
||||
mozilla::glean::avif::ispe
|
||||
.EnumGet(mozilla::glean::avif::IspeLabel::eBitstreamMismatch)
|
||||
.Add();
|
||||
|
||||
return AsVariant(NonDecoderResult::MetadataImageSizeMismatch);
|
||||
}
|
||||
|
||||
|
|
@ -1593,6 +1697,9 @@ nsAVIFDecoder::DecodeResult nsAVIFDecoder::DoDecodeInternal(
|
|||
|
||||
if (isFirstFrame) {
|
||||
AccumulateCategorical(LABELS_AVIF_ISPE::valid);
|
||||
mozilla::glean::avif::ispe
|
||||
.EnumGet(mozilla::glean::avif::IspeLabel::eValid)
|
||||
.Add();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1873,57 +1980,111 @@ void nsAVIFDecoder::RecordDecodeResultTelemetry(
|
|||
case MP4PARSE_STATUS_EOF:
|
||||
case MP4PARSE_STATUS_IO:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::parse_error);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eParseError)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_OOM:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::out_of_memory);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eOutOfMemory)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_MISSING_AVIF_OR_AVIS_BRAND:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::missing_brand);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eMissingBrand)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_FTYP_NOT_FIRST:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::ftyp_not_first);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eFtypNotFirst)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_NO_IMAGE:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::no_image);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eNoImage)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_MOOV_BAD_QUANTITY:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::multiple_moov);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eMultipleMoov)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_MOOV_MISSING:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::no_moov);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eNoMoov)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_LSEL_NO_ESSENTIAL:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::lsel_no_essential);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eLselNoEssential)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_A1OP_NO_ESSENTIAL:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::a1op_no_essential);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eA1opNoEssential)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_A1LX_ESSENTIAL:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::a1lx_essential);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eA1lxEssential)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_TXFORM_NO_ESSENTIAL:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::txform_no_essential);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eTxformNoEssential)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_PITM_MISSING:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::no_primary_item);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eNoPrimaryItem)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_IMAGE_ITEM_TYPE:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::image_item_type);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eImageItemType)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_ITEM_TYPE_MISSING:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::item_type_missing);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eItemTypeMissing)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_CONSTRUCTION_METHOD:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::construction_method);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eConstructionMethod)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_PITM_NOT_FOUND:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::item_loc_not_found);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eItemLocNotFound)
|
||||
.Add();
|
||||
return;
|
||||
case MP4PARSE_STATUS_IDAT_MISSING:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::no_item_data_box);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eNoItemDataBox)
|
||||
.Add();
|
||||
return;
|
||||
default:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::uncategorized);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eUncategorized)
|
||||
.Add();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -1932,6 +2093,9 @@ void nsAVIFDecoder::RecordDecodeResultTelemetry(
|
|||
aResult.as<Mp4parseStatus>()));
|
||||
MOZ_ASSERT(false, "unexpected Mp4parseStatus value");
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::invalid_parse_status);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eInvalidParseStatus)
|
||||
.Add();
|
||||
|
||||
} else if (aResult.is<NonDecoderResult>()) {
|
||||
switch (aResult.as<NonDecoderResult>()) {
|
||||
|
|
@ -1943,36 +2107,69 @@ void nsAVIFDecoder::RecordDecodeResultTelemetry(
|
|||
return;
|
||||
case NonDecoderResult::SizeOverflow:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::size_overflow);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eSizeOverflow)
|
||||
.Add();
|
||||
return;
|
||||
case NonDecoderResult::OutOfMemory:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::out_of_memory);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eOutOfMemory)
|
||||
.Add();
|
||||
return;
|
||||
case NonDecoderResult::PipeInitError:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::pipe_init_error);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::ePipeInitError)
|
||||
.Add();
|
||||
return;
|
||||
case NonDecoderResult::WriteBufferError:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::write_buffer_error);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eWriteBufferError)
|
||||
.Add();
|
||||
return;
|
||||
case NonDecoderResult::AlphaYSizeMismatch:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::alpha_y_sz_mismatch);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eAlphaYSzMismatch)
|
||||
.Add();
|
||||
return;
|
||||
case NonDecoderResult::AlphaYColorDepthMismatch:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::alpha_y_bpc_mismatch);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eAlphaYBpcMismatch)
|
||||
.Add();
|
||||
return;
|
||||
case NonDecoderResult::MetadataImageSizeMismatch:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::ispe_mismatch);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eIspeMismatch)
|
||||
.Add();
|
||||
return;
|
||||
case NonDecoderResult::RenderSizeMismatch:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::render_size_mismatch);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eRenderSizeMismatch)
|
||||
.Add();
|
||||
return;
|
||||
case NonDecoderResult::FrameSizeChanged:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::frame_size_changed);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eFrameSizeChanged)
|
||||
.Add();
|
||||
return;
|
||||
case NonDecoderResult::InvalidCICP:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::invalid_cicp);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eInvalidCicp)
|
||||
.Add();
|
||||
return;
|
||||
case NonDecoderResult::NoSamples:
|
||||
AccumulateCategorical(LABELS_AVIF_DECODE_RESULT::no_samples);
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eNoSamples)
|
||||
.Add();
|
||||
return;
|
||||
}
|
||||
MOZ_ASSERT_UNREACHABLE("unknown NonDecoderResult");
|
||||
|
|
@ -1980,9 +2177,26 @@ void nsAVIFDecoder::RecordDecodeResultTelemetry(
|
|||
MOZ_ASSERT(aResult.is<Dav1dResult>() || aResult.is<AOMResult>());
|
||||
AccumulateCategorical(aResult.is<Dav1dResult>() ? LABELS_AVIF_DECODER::dav1d
|
||||
: LABELS_AVIF_DECODER::aom);
|
||||
if (aResult.is<Dav1dResult>()) {
|
||||
mozilla::glean::avif::decoder.EnumGet(glean::avif::DecoderLabel::eDav1d)
|
||||
.Add();
|
||||
} else {
|
||||
mozilla::glean::avif::decoder.EnumGet(glean::avif::DecoderLabel::eAom)
|
||||
.Add();
|
||||
}
|
||||
|
||||
AccumulateCategorical(IsDecodeSuccess(aResult)
|
||||
? LABELS_AVIF_DECODE_RESULT::success
|
||||
: LABELS_AVIF_DECODE_RESULT::decode_error);
|
||||
if (IsDecodeSuccess(aResult)) {
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eSuccess)
|
||||
.Add();
|
||||
} else {
|
||||
mozilla::glean::avif::decode_result
|
||||
.EnumGet(glean::avif::DecodeResultLabel::eDecodeError)
|
||||
.Add();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ gecko_metrics = [
|
|||
"dom/media/webrtc/metrics.yaml",
|
||||
"dom/metrics.yaml",
|
||||
"gfx/metrics.yaml",
|
||||
"image/decoders/metrics.yaml",
|
||||
"mobile/android/actors/metrics.yaml",
|
||||
"netwerk/metrics.yaml",
|
||||
"netwerk/protocol/http/metrics.yaml",
|
||||
|
|
|
|||
|
|
@ -2058,7 +2058,7 @@
|
|||
},
|
||||
"AVIF_DECODE_RESULT": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2101,7 +2101,7 @@
|
|||
},
|
||||
"AVIF_AOM_DECODE_ERROR": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2121,7 +2121,7 @@
|
|||
},
|
||||
"AVIF_DECODER": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2132,7 +2132,7 @@
|
|||
},
|
||||
"AVIF_YUV_COLOR_SPACE": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2143,7 +2143,7 @@
|
|||
},
|
||||
"AVIF_BIT_DEPTH": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2154,7 +2154,7 @@
|
|||
},
|
||||
"AVIF_ALPHA": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2165,7 +2165,7 @@
|
|||
},
|
||||
"AVIF_COLR": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2176,7 +2176,7 @@
|
|||
},
|
||||
"AVIF_CICP_CP": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2212,7 +2212,7 @@
|
|||
},
|
||||
"AVIF_CICP_TC": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2244,7 +2244,7 @@
|
|||
},
|
||||
"AVIF_CICP_MC": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2272,7 +2272,7 @@
|
|||
},
|
||||
"AVIF_ISPE": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2283,7 +2283,7 @@
|
|||
},
|
||||
"AVIF_PIXI": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2294,7 +2294,7 @@
|
|||
},
|
||||
"AVIF_PASP": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2305,7 +2305,7 @@
|
|||
},
|
||||
"AVIF_MAJOR_BRAND": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2316,7 +2316,7 @@
|
|||
},
|
||||
"AVIF_SEQUENCE": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2327,7 +2327,7 @@
|
|||
},
|
||||
"AVIF_A1LX": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2338,7 +2338,7 @@
|
|||
},
|
||||
"AVIF_A1OP": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2349,7 +2349,7 @@
|
|||
},
|
||||
"AVIF_CLAP": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2360,7 +2360,7 @@
|
|||
},
|
||||
"AVIF_GRID": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2371,7 +2371,7 @@
|
|||
},
|
||||
"AVIF_IPRO": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
@ -2382,7 +2382,7 @@
|
|||
},
|
||||
"AVIF_LSEL": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"products": ["firefox", "geckoview_streaming"],
|
||||
"products": ["firefox"],
|
||||
"alert_emails": ["media-alerts@mozilla.com"],
|
||||
"expires_in_version": "never",
|
||||
"releaseChannelCollection": "opt-out",
|
||||
|
|
|
|||
|
|
@ -180,447 +180,6 @@ geckoview:
|
|||
- perf-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
avif:
|
||||
decode_result:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- success
|
||||
- parse_error
|
||||
- no_primary_item
|
||||
- decode_error
|
||||
- size_overflow
|
||||
- out_of_memory
|
||||
- pipe_init_error
|
||||
- write_buffer_error
|
||||
- alpha_y_sz_mismatch
|
||||
- alpha_y_bpc_mismatch
|
||||
- ispe_mismatch
|
||||
- render_size_mismatch
|
||||
- frame_size_changed
|
||||
- invalid_cicp
|
||||
- invalid_parse_status
|
||||
- missing_brand
|
||||
- ftyp_not_first
|
||||
- no_image
|
||||
- multiple_moov
|
||||
- no_moov
|
||||
- lsel_no_essential
|
||||
- a1op_no_essential
|
||||
- a1lx_essential
|
||||
- txform_no_essential
|
||||
- image_item_type
|
||||
- item_type_missing
|
||||
- construction_method
|
||||
- item_loc_not_found
|
||||
- no_item_data_box
|
||||
gecko_datapoint: AVIF_DECODE_RESULT
|
||||
description: >
|
||||
Decode result of AVIF image.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827#c9
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
decoder:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- dav1d
|
||||
- aom
|
||||
gecko_datapoint: AVIF_DECODER
|
||||
description: >
|
||||
Decoder of AVIF image.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827#c9
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
aom_decode_error:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- error
|
||||
- mem_error
|
||||
- abi_mismatch
|
||||
- incapable
|
||||
- unsup_bitstream
|
||||
- unsup_feature
|
||||
- corrupt_frame
|
||||
- invalid_param
|
||||
gecko_datapoint: AVIF_AOM_DECODE_ERROR
|
||||
description: >
|
||||
Image-decode Error from AOM decoder
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1690406
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1690406#c3
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
# dav1d_decode_error is replaced by avif.dav1d_get_picture in Events.yaml
|
||||
# Unfortunately, events are not currently supported for geckoview
|
||||
|
||||
yuv_color_space:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- bt601
|
||||
- bt709
|
||||
- bt2020
|
||||
- identity
|
||||
- unknown
|
||||
gecko_datapoint: AVIF_YUV_COLOR_SPACE
|
||||
description: >
|
||||
YUV color space of AVIF image.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827#c9
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
bit_depth:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- color_8
|
||||
- color_10
|
||||
- color_12
|
||||
- color_16
|
||||
- unknown
|
||||
gecko_datapoint: AVIF_BIT_DEPTH
|
||||
description: >
|
||||
Bits per pixel of AVIF image.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1670827#c9
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
alpha:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- absent
|
||||
- present
|
||||
gecko_datapoint: AVIF_ALPHA
|
||||
description: >
|
||||
AVIF alpha plane.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
colr:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- nclx
|
||||
- icc
|
||||
- absent
|
||||
- both
|
||||
gecko_datapoint: AVIF_COLR
|
||||
description: >
|
||||
AVIF colour information type.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1729071
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1729071#c15
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
cicp_cp:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- reserved
|
||||
- bt709
|
||||
- unspecified
|
||||
- reserved_3
|
||||
- bt470m
|
||||
- bt470bg
|
||||
- bt601
|
||||
- smpte240
|
||||
- generic_film
|
||||
- bt2020
|
||||
- xyz
|
||||
- smpte431
|
||||
- smpte432
|
||||
- reserved_13
|
||||
- reserved_14
|
||||
- reserved_15
|
||||
- reserved_16
|
||||
- reserved_17
|
||||
- reserved_18
|
||||
- reserved_19
|
||||
- reserved_20
|
||||
- reserved_21
|
||||
- ebu3213
|
||||
- reserved_rest
|
||||
gecko_datapoint: AVIF_CICP_CP
|
||||
description: >
|
||||
AVIF CICP colour primaries.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
cicp_tc:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- reserved
|
||||
- bt709
|
||||
- unspecified
|
||||
- reserved_3
|
||||
- bt470m
|
||||
- bt470bg
|
||||
- bt601
|
||||
- smpte240
|
||||
- linear
|
||||
- log_100
|
||||
- log_100_sqrt10
|
||||
- iec61966
|
||||
- bt_1361
|
||||
- srgb
|
||||
- bt2020_10bit
|
||||
- bt2020_12bit
|
||||
- smpte2084
|
||||
- smpte428
|
||||
- hlg
|
||||
- reserved_rest
|
||||
gecko_datapoint: AVIF_CICP_TC
|
||||
description: >
|
||||
AVIF CICP transfer characteristics.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
cicp_mc:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- identity
|
||||
- bt709
|
||||
- unspecified
|
||||
- reserved
|
||||
- fcc
|
||||
- bt470bg
|
||||
- bt601
|
||||
- smpte240
|
||||
- ycgco
|
||||
- bt2020_ncl
|
||||
- bt2020_cl
|
||||
- smpte2085
|
||||
- chromat_ncl
|
||||
- chromat_cl
|
||||
- ictcp
|
||||
- reserved_rest
|
||||
gecko_datapoint: AVIF_CICP_MC
|
||||
description: >
|
||||
AVIF CICP transfer characteristics.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
ispe:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- valid
|
||||
- absent
|
||||
- bitstream_mismatch
|
||||
gecko_datapoint: AVIF_ISPE
|
||||
description: >
|
||||
AVIF spatial extents (image size).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
pixi:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- valid
|
||||
- absent
|
||||
- bitstream_mismatch
|
||||
gecko_datapoint: AVIF_PIXI
|
||||
description: >
|
||||
AVIF pixel information (bits per channel).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1696045#c5
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
pasp:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- absent
|
||||
- square
|
||||
- nonsquare
|
||||
- invalid
|
||||
gecko_datapoint: AVIF_PASP
|
||||
description: >
|
||||
AVIF pixel aspect ratio.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
major_brand:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- avif
|
||||
- avis
|
||||
- other
|
||||
description: >
|
||||
AVIF major brand.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
sequence:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
description: >
|
||||
AVIF image sequence.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
a1lx:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
gecko_datapoint: AVIF_A1LX
|
||||
description: >
|
||||
AV1LayeredImageIndexingProperty (a1lx).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
a1op:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
gecko_datapoint: AVIF_A1OP
|
||||
description: >
|
||||
AVIF OperatingPointSelectorProperty (a1op).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
clap:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
gecko_datapoint: AVIF_CLAP
|
||||
description: >
|
||||
AVIF CleanApertureBox (clap).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
grid:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
gecko_datapoint: AVIF_GRID
|
||||
description: >
|
||||
AVIF AVIF grid-based image.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
ipro:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
gecko_datapoint: AVIF_IPRO
|
||||
description: >
|
||||
AVIF ItemProtectionBox (ipro).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
lsel:
|
||||
type: labeled_counter
|
||||
labels:
|
||||
- present
|
||||
- absent
|
||||
gecko_datapoint: AVIF_LSEL
|
||||
description: >
|
||||
AVIF LayerSelectorProperty (lsel).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1745608#c2
|
||||
notification_emails:
|
||||
- media-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
|
||||
performance.pageload:
|
||||
load_time:
|
||||
type: timing_distribution
|
||||
|
|
|
|||
Loading…
Reference in a new issue