Closed Bug 1907945 Opened 1 year ago Closed 1 year ago

Support labeled_{custom|memory|timing}_distribution metric types in FOG + GIFFT

Categories

(Toolkit :: Telemetry, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
130 Branch
Tracking Status
firefox130 --- fixed

People

(Reporter: chutten, Assigned: chutten)

References

Details

Attachments

(8 files, 3 obsolete files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

After bug 1657947 adds support for labeled_{custom|memory|timing}_distribution metrics, and after that code gets into a release, we'll need to have that release vendored into m-c and perform the necessary work to support the new metric types in FOG:

  • Rust, C++, and JS APIs (and tests) - includes IPC
  • GIFFT support (and tests) - these metric types provide APIs which'll allow us to mirror to Legacy keyed linear/exponential histograms (which is why bug 1885380 gets a See Also link)
  • JOG support (and tests) - though the initial consumers are expected to be in platform, we expect frontend uses to abound as well
Duplicate of this bug: 1885380
Depends on: 1907991
Regressions: 1909244
No longer regressions: 1909244

This makes me sad, since these are for quantities that only permit unsigned
values. But this is what the Glean SDK was forced to use by early Kotlin,
and it simplifies codegen a little now that the signed types are re-exposed
by LabeledMetricData... so I guess we suffer.

This makes me sad, since these are for quantities that only permit unsigned
values. But this is what the Glean SDK was forced to use by early Kotlin,
and it simplifies codegen a little now that the signed types are re-exposed
by LabeledMetricData... so I guess we suffer.

This one is a little more complex because we need to support GIFFT for pure
Rust consumers (bug 1751448).

To do that we need to split the GIFFT impl from the core impl of FOG's Rust
timing_distribution implementation. That makes it so that the labeled_*-
specific submetric impl can dispatch to the core impl and call to GIFFT
independently.

It also makes the GIFFT code in timing_distribution.rs a little nicer
(to my eyes), which is a nice plus.

Attachment #9414668 - Attachment is obsolete: true
Attachment #9414669 - Attachment is obsolete: true
Attachment #9414670 - Attachment is obsolete: true
Pushed by chutten@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/cc66fc79f49e Upgrade to glean_parser v14.3.0 r=TravisLong,mach-reviewers,ahochheiden https://hg.mozilla.org/integration/autoland/rev/cd2bf02d8b29 Upgrade to glean v60.4.0 r=TravisLong,supply-chain-reviewers,mach-reviewers,android-reviewers https://hg.mozilla.org/integration/autoland/rev/63852846489b Update FOG to use new LabeledMetric ctor r=TravisLong https://hg.mozilla.org/integration/autoland/rev/99c22c70694e Use i64 instead of u64 in custom_distribution ctor r=TravisLong https://hg.mozilla.org/integration/autoland/rev/88858e864eb7 Update docs on adding new labeled metric types to FOG r=TravisLong https://hg.mozilla.org/integration/autoland/rev/c8925e80d2b9 Support labeled_custom_distribution metrics in FOG r=TravisLong https://hg.mozilla.org/integration/autoland/rev/820858301aa8 Support labeled_memory_distribution metrics in FOG r=TravisLong https://hg.mozilla.org/integration/autoland/rev/cfa2a54bceae Support labeled_timing_distribution metrics in FOG r=TravisLong
Blocks: 1911793
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: