Bug 1956726 - Migrate histograms to use Glean APIs for WEBFONT_*, r=chutten.
Differential Revision: https://phabricator.services.mozilla.com/D242767
This commit is contained in:
148
gfx/metrics.yaml
148
gfx/metrics.yaml
@@ -1745,3 +1745,151 @@ apz_zoom:
|
|||||||
- botond@mozilla.com
|
- botond@mozilla.com
|
||||||
expires: never
|
expires: never
|
||||||
telemetry_mirror: APZ_ZOOM_PINCHSOURCE
|
telemetry_mirror: APZ_ZOOM_PINCHSOURCE
|
||||||
|
|
||||||
|
webfont:
|
||||||
|
download_time:
|
||||||
|
type: timing_distribution
|
||||||
|
description: >
|
||||||
|
Time to download a webfont (ms)
|
||||||
|
|
||||||
|
This metric was generated to correspond to the Legacy Telemetry
|
||||||
|
exponential histogram WEBFONT_DOWNLOAD_TIME.
|
||||||
|
time_unit: millisecond
|
||||||
|
bugs:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
notification_emails:
|
||||||
|
- jkew@mozilla.com
|
||||||
|
expires: never
|
||||||
|
telemetry_mirror: WEBFONT_DOWNLOAD_TIME
|
||||||
|
|
||||||
|
fonttype:
|
||||||
|
type: custom_distribution
|
||||||
|
description: >
|
||||||
|
Font format type (woff/woff2/ttf/...)
|
||||||
|
|
||||||
|
This metric was generated to correspond to the Legacy Telemetry enumerated
|
||||||
|
histogram WEBFONT_FONTTYPE.
|
||||||
|
range_min: 0
|
||||||
|
range_max: 10
|
||||||
|
bucket_count: 11
|
||||||
|
histogram_type: linear
|
||||||
|
bugs:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
notification_emails:
|
||||||
|
- jkew@mozilla.com
|
||||||
|
expires: never
|
||||||
|
telemetry_mirror: WEBFONT_FONTTYPE
|
||||||
|
|
||||||
|
srctype:
|
||||||
|
type: custom_distribution
|
||||||
|
description: >
|
||||||
|
Font src type loaded (1 = local, 2 = url, 3 = data)
|
||||||
|
|
||||||
|
This metric was generated to correspond to the Legacy Telemetry enumerated
|
||||||
|
histogram WEBFONT_SRCTYPE.
|
||||||
|
range_min: 0
|
||||||
|
range_max: 5
|
||||||
|
bucket_count: 6
|
||||||
|
histogram_type: linear
|
||||||
|
bugs:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
notification_emails:
|
||||||
|
- jkew@mozilla.com
|
||||||
|
expires: never
|
||||||
|
telemetry_mirror: WEBFONT_SRCTYPE
|
||||||
|
|
||||||
|
per_page:
|
||||||
|
type: counter
|
||||||
|
description: >
|
||||||
|
Number of fonts loaded at page load
|
||||||
|
|
||||||
|
This metric was generated to correspond to the Legacy Telemetry count
|
||||||
|
histogram WEBFONT_PER_PAGE.
|
||||||
|
bugs:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
notification_emails:
|
||||||
|
- jkew@mozilla.com
|
||||||
|
expires: never
|
||||||
|
telemetry_mirror: h#WEBFONT_PER_PAGE
|
||||||
|
|
||||||
|
size_per_page:
|
||||||
|
type: memory_distribution
|
||||||
|
description: >
|
||||||
|
Size of all fonts loaded at page load (kb)
|
||||||
|
|
||||||
|
This metric was generated to correspond to the Legacy Telemetry
|
||||||
|
exponential histogram WEBFONT_SIZE_PER_PAGE.
|
||||||
|
memory_unit: kilobyte
|
||||||
|
bugs:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
notification_emails:
|
||||||
|
- jkew@mozilla.com
|
||||||
|
expires: never
|
||||||
|
telemetry_mirror: WEBFONT_SIZE_PER_PAGE
|
||||||
|
|
||||||
|
size:
|
||||||
|
type: memory_distribution
|
||||||
|
description: >
|
||||||
|
Size of font loaded (kb)
|
||||||
|
|
||||||
|
This metric was generated to correspond to the Legacy Telemetry
|
||||||
|
exponential histogram WEBFONT_SIZE.
|
||||||
|
memory_unit: kilobyte
|
||||||
|
bugs:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
notification_emails:
|
||||||
|
- jkew@mozilla.com
|
||||||
|
expires: never
|
||||||
|
telemetry_mirror: WEBFONT_SIZE
|
||||||
|
|
||||||
|
compression_woff:
|
||||||
|
type: custom_distribution
|
||||||
|
description: >
|
||||||
|
Compression ratio of WOFF data (%)
|
||||||
|
|
||||||
|
This metric was generated to correspond to the Legacy Telemetry enumerated
|
||||||
|
histogram WEBFONT_COMPRESSION_WOFF.
|
||||||
|
range_min: 0
|
||||||
|
range_max: 50
|
||||||
|
bucket_count: 51
|
||||||
|
histogram_type: linear
|
||||||
|
bugs:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
notification_emails:
|
||||||
|
- jkew@mozilla.com
|
||||||
|
expires: never
|
||||||
|
telemetry_mirror: WEBFONT_COMPRESSION_WOFF
|
||||||
|
|
||||||
|
compression_woff2:
|
||||||
|
type: custom_distribution
|
||||||
|
description: >
|
||||||
|
Compression ratio of WOFF2 data (%)
|
||||||
|
|
||||||
|
This metric was generated to correspond to the Legacy Telemetry enumerated
|
||||||
|
histogram WEBFONT_COMPRESSION_WOFF2.
|
||||||
|
range_min: 0
|
||||||
|
range_max: 50
|
||||||
|
bucket_count: 51
|
||||||
|
histogram_type: linear
|
||||||
|
bugs:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
data_reviews:
|
||||||
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950710
|
||||||
|
notification_emails:
|
||||||
|
- jkew@mozilla.com
|
||||||
|
expires: never
|
||||||
|
telemetry_mirror: WEBFONT_COMPRESSION_WOFF2
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
#include "mozilla/ProfilerLabels.h"
|
#include "mozilla/ProfilerLabels.h"
|
||||||
#include "mozilla/Services.h"
|
#include "mozilla/Services.h"
|
||||||
#include "mozilla/StaticPrefs_gfx.h"
|
#include "mozilla/StaticPrefs_gfx.h"
|
||||||
|
#include "mozilla/glean/GfxMetrics.h"
|
||||||
#include "mozilla/Telemetry.h"
|
#include "mozilla/Telemetry.h"
|
||||||
#include "mozilla/gfx/2D.h"
|
#include "mozilla/gfx/2D.h"
|
||||||
#include "gfxPlatformFontList.h"
|
#include "gfxPlatformFontList.h"
|
||||||
@@ -197,7 +198,7 @@ const uint8_t* gfxUserFontEntry::SanitizeOpenTypeData(
|
|||||||
const uint8_t* aData, uint32_t aLength, uint32_t& aSanitaryLength,
|
const uint8_t* aData, uint32_t aLength, uint32_t& aSanitaryLength,
|
||||||
gfxUserFontType& aFontType, nsTArray<OTSMessage>& aMessages) {
|
gfxUserFontType& aFontType, nsTArray<OTSMessage>& aMessages) {
|
||||||
aFontType = gfxFontUtils::DetermineFontDataType(aData, aLength);
|
aFontType = gfxFontUtils::DetermineFontDataType(aData, aLength);
|
||||||
Telemetry::Accumulate(Telemetry::WEBFONT_FONTTYPE, uint32_t(aFontType));
|
glean::webfont::fonttype.AccumulateSingleSample(uint32_t(aFontType));
|
||||||
|
|
||||||
size_t lengthHint = gfxOTSContext::GuessSanitizedFontSize(aLength, aFontType);
|
size_t lengthHint = gfxOTSContext::GuessSanitizedFontSize(aLength, aFontType);
|
||||||
if (!lengthHint) {
|
if (!lengthHint) {
|
||||||
@@ -492,8 +493,7 @@ void gfxUserFontEntry::DoLoadNextSrc(bool aIsContinue) {
|
|||||||
gfxUserFontData::kUnknownCompression);
|
gfxUserFontData::kUnknownCompression);
|
||||||
mPlatformFontEntry = fe;
|
mPlatformFontEntry = fe;
|
||||||
SetLoadState(STATUS_LOADED);
|
SetLoadState(STATUS_LOADED);
|
||||||
Telemetry::Accumulate(Telemetry::WEBFONT_SRCTYPE,
|
glean::webfont::srctype.AccumulateSingleSample(currSrc.mSourceType + 1);
|
||||||
currSrc.mSourceType + 1);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
LOG(("userfonts (%p) [src %d] failed local: (%s) for (%s)\n",
|
LOG(("userfonts (%p) [src %d] failed local: (%s) for (%s)\n",
|
||||||
@@ -573,8 +573,8 @@ void gfxUserFontEntry::DoLoadNextSrc(bool aIsContinue) {
|
|||||||
if (NS_SUCCEEDED(rv) &&
|
if (NS_SUCCEEDED(rv) &&
|
||||||
LoadPlatformFontSync(mCurrentSrcIndex, buffer, bufferLength)) {
|
LoadPlatformFontSync(mCurrentSrcIndex, buffer, bufferLength)) {
|
||||||
SetLoadState(STATUS_LOADED);
|
SetLoadState(STATUS_LOADED);
|
||||||
Telemetry::Accumulate(Telemetry::WEBFONT_SRCTYPE,
|
glean::webfont::srctype.AccumulateSingleSample(currSrc.mSourceType +
|
||||||
currSrc.mSourceType + 1);
|
1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
fontSet->LogMessage(this, mCurrentSrcIndex, "font load failed",
|
fontSet->LogMessage(this, mCurrentSrcIndex, "font load failed",
|
||||||
@@ -629,8 +629,7 @@ void gfxUserFontEntry::DoLoadNextSrc(bool aIsContinue) {
|
|||||||
// LoadPlatformFontSync takes ownership of the buffer, so no need
|
// LoadPlatformFontSync takes ownership of the buffer, so no need
|
||||||
// to free it here.
|
// to free it here.
|
||||||
SetLoadState(STATUS_LOADED);
|
SetLoadState(STATUS_LOADED);
|
||||||
Telemetry::Accumulate(Telemetry::WEBFONT_SRCTYPE,
|
glean::webfont::srctype.AccumulateSingleSample(currSrc.mSourceType + 1);
|
||||||
currSrc.mSourceType + 1);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
fontSet->LogMessage(this, mCurrentSrcIndex, "font load failed",
|
fontSet->LogMessage(this, mCurrentSrcIndex, "font load failed",
|
||||||
@@ -752,11 +751,12 @@ bool gfxUserFontEntry::LoadPlatformFont(uint32_t aSrcIndex,
|
|||||||
if (aSanitizedLength) {
|
if (aSanitizedLength) {
|
||||||
fontCompressionRatio =
|
fontCompressionRatio =
|
||||||
uint32_t(100.0 * aOriginalLength / aSanitizedLength + 0.5);
|
uint32_t(100.0 * aOriginalLength / aSanitizedLength + 0.5);
|
||||||
if (aFontType == GFX_USERFONT_WOFF || aFontType == GFX_USERFONT_WOFF2) {
|
if (aFontType == GFX_USERFONT_WOFF) {
|
||||||
Telemetry::Accumulate(aFontType == GFX_USERFONT_WOFF
|
glean::webfont::compression_woff.AccumulateSingleSample(
|
||||||
? Telemetry::WEBFONT_COMPRESSION_WOFF
|
fontCompressionRatio);
|
||||||
: Telemetry::WEBFONT_COMPRESSION_WOFF2,
|
} else if (aFontType == GFX_USERFONT_WOFF2) {
|
||||||
fontCompressionRatio);
|
glean::webfont::compression_woff2.AccumulateSingleSample(
|
||||||
|
fontCompressionRatio);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1210,12 +1210,11 @@ void PresShell::Destroy() {
|
|||||||
uint32_t fontCount;
|
uint32_t fontCount;
|
||||||
uint64_t fontSize;
|
uint64_t fontSize;
|
||||||
fs->GetLoadStatistics(fontCount, fontSize);
|
fs->GetLoadStatistics(fontCount, fontSize);
|
||||||
Telemetry::Accumulate(Telemetry::WEBFONT_PER_PAGE, fontCount);
|
glean::webfont::per_page.Add(fontCount);
|
||||||
Telemetry::Accumulate(Telemetry::WEBFONT_SIZE_PER_PAGE,
|
glean::webfont::size_per_page.Accumulate(uint32_t(fontSize / 1024));
|
||||||
uint32_t(fontSize / 1024));
|
|
||||||
} else {
|
} else {
|
||||||
Telemetry::Accumulate(Telemetry::WEBFONT_PER_PAGE, 0);
|
glean::webfont::per_page.Add(0);
|
||||||
Telemetry::Accumulate(Telemetry::WEBFONT_SIZE_PER_PAGE, 0);
|
glean::webfont::size_per_page.Accumulate(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
#include "mozilla/ServoUtils.h"
|
#include "mozilla/ServoUtils.h"
|
||||||
#include "mozilla/Sprintf.h"
|
#include "mozilla/Sprintf.h"
|
||||||
#include "mozilla/StaticPrefs_layout.h"
|
#include "mozilla/StaticPrefs_layout.h"
|
||||||
#include "mozilla/Telemetry.h"
|
#include "mozilla/glean/GfxMetrics.h"
|
||||||
#include "mozilla/LoadInfo.h"
|
#include "mozilla/LoadInfo.h"
|
||||||
#include "nsComponentManagerUtils.h"
|
#include "nsComponentManagerUtils.h"
|
||||||
#include "nsContentUtils.h"
|
#include "nsContentUtils.h"
|
||||||
@@ -903,7 +903,7 @@ void FontFaceSetImpl::RecordFontLoadDone(uint32_t aFontSize,
|
|||||||
TimeStamp aDoneTime) {
|
TimeStamp aDoneTime) {
|
||||||
mDownloadCount++;
|
mDownloadCount++;
|
||||||
mDownloadSize += aFontSize;
|
mDownloadSize += aFontSize;
|
||||||
Telemetry::Accumulate(Telemetry::WEBFONT_SIZE, aFontSize / 1024);
|
glean::webfont::size.Accumulate(aFontSize / 1024);
|
||||||
|
|
||||||
TimeStamp navStart = GetNavigationStartTimeStamp();
|
TimeStamp navStart = GetNavigationStartTimeStamp();
|
||||||
TimeStamp zero;
|
TimeStamp zero;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
#include "mozilla/Preferences.h"
|
#include "mozilla/Preferences.h"
|
||||||
#include "mozilla/StaticPrefs_layout.h"
|
#include "mozilla/StaticPrefs_layout.h"
|
||||||
#include "mozilla/TaskQueue.h"
|
#include "mozilla/TaskQueue.h"
|
||||||
#include "mozilla/Telemetry.h"
|
#include "mozilla/glean/GfxMetrics.h"
|
||||||
#include "mozilla/Unused.h"
|
#include "mozilla/Unused.h"
|
||||||
#include "FontFaceSet.h"
|
#include "FontFaceSet.h"
|
||||||
#include "nsPresContext.h"
|
#include "nsPresContext.h"
|
||||||
@@ -235,9 +235,9 @@ nsFontFaceLoader::OnStreamComplete(nsIStreamLoader* aLoader,
|
|||||||
|
|
||||||
TimeStamp doneTime = TimeStamp::Now();
|
TimeStamp doneTime = TimeStamp::Now();
|
||||||
TimeDuration downloadTime = doneTime - mStartTime;
|
TimeDuration downloadTime = doneTime - mStartTime;
|
||||||
uint32_t downloadTimeMS = uint32_t(downloadTime.ToMilliseconds());
|
glean::webfont::download_time.AccumulateRawDuration(downloadTime);
|
||||||
Telemetry::Accumulate(Telemetry::WEBFONT_DOWNLOAD_TIME, downloadTimeMS);
|
|
||||||
|
|
||||||
|
uint32_t downloadTimeMS = uint32_t(downloadTime.ToMilliseconds());
|
||||||
if (GetFontDisplay() == StyleFontDisplay::Fallback) {
|
if (GetFontDisplay() == StyleFontDisplay::Fallback) {
|
||||||
uint32_t loadTimeout = GetFallbackDelay();
|
uint32_t loadTimeout = GetFallbackDelay();
|
||||||
if (downloadTimeMS > loadTimeout &&
|
if (downloadTimeMS > loadTimeout &&
|
||||||
|
|||||||
Reference in New Issue
Block a user