Deprecate Symbolication v4 endpoint
Categories
(Eliot :: Symbolication, task, P2)
Tracking
(Not tracked)
People
(Reporter: peterbe, Unassigned)
References
Details
Comment 1•5 years ago
|
||
Moving bugs to Tecken product.
Comment 2•5 years ago
|
||
I added a graph to our dashboard showing version usage. As near as I can tell, only v4 is in use--v5 isn't used anywhere.
Next step here is to redo the symbolication docs so they more clearly document the v4 and v5 APIs and walk through migrating from v4 to v5. Once that's done and we have something to point to, we need to figure out what's using v4 and get those things updated.
Making this a P3 for now.
Comment 3•4 years ago
|
||
Here's a list of things using the v4 API:
- about:telemetry: https://searchfox.org/mozilla-central/source/toolkit/content/aboutTelemetry.js
- mozgeckoprofiler: https://searchfox.org/mozilla-central/source/testing/mozbase/mozgeckoprofiler/mozgeckoprofiler/symbolicationRequest.py
We can update that code to use v5. Then since they're part of Firefox, we'll have to wait until there aren't any supported versions of Firefox that have the v4-using code and we can nix v4.
I'm bumping this up to P2 because the sooner we do this, the sooner it'll expire from everything.
Updated•4 years ago
|
Comment 4•3 years ago
|
||
In Matrix today:
willkg: i think chutten said i could remove the about:telemetry use. that's not in the bug, so maybe i have additional notes about this elsewhere.
chutten: Yes. about:telemetry is very infrequently used (< 200 pageviews per... week? release? Very few over fairly long anyway) and the folks that do use it tend to be mozilla FTEs who have access to workarounds if you remove something. (Might be nice to put the instructions for the workaround in about:telemetry itself, but that's probably not crucial.)
Comment 5•3 years ago
•
|
||
I think the telemetry code is already dead code and can be ignored for the purposes of removing the v4 endpoint. I don't see anything that produces capturedStacks telemetry, so the relevant section will never be shown on about:telemetry. https://searchfox.org/mozilla-central/search?q=capturedStacks&path=&case=true®exp=false
I've filed bug 1730186 about this.
Comment 6•3 years ago
|
||
I went through and documented uses of the symbolication api versions in the Tecken Symbolication API proposal in September 2020. It's probably the case it needs to be updated, but copying it here so I remember next time I'm looking for it.
about:telemetry
about:telemetry uses the v4 symbolication API. This is shipped as part of Firefox.
https://searchfox.org/mozilla-central/source/toolkit/content/aboutTelemetry.js
mozgeckoprofiler
mozgeckoprofiler uses the v4 symbolication API and has code to degrade to a non-existent v3 version. This is shipped as part of Firefox and runs in various test scenarios.
Firefox devtools profiler
The Firefox devtools profiler uses the v5 symbolication API to symbolicate profiles. They don't send multiple jobs--they send single requests.
Their single requests can contain stacks with 10-15K items in it because they're not really symbolicating a stack, they're symbolicating addresses in a library.
Probabilistic Heap Checker (PHC)
PHC has two modes. One mode does the symbolication locally by parsing sym files and doing sym lookups using that data. The other mode does symbolication using the v5 symbolication API. It's not using the batch feature of the v5 API.
They're currently symbolicating locally because they need line numbers which the symbolication API doesn't support.
Comment 7•3 years ago
|
||
I'm not going to work on this any time soon so unassigning.
Comment 9•10 months ago
|
||
From bug #1825806 on 2023-12-21:
agent | count |
---|---|
Python-urllib/3.9 | 306,121 |
Python-urllib/3.7 | 157,507 |
Python-urllib/3.8 | 1,928 |
Python-urllib/3.11 | 32 |
Those user agents don't tell us anything about who's using the v4 api.
I think the next step is to remove the v4 api endpoint and have it return an HTTP error (404?) with a message along these lines:
{"error": "this api endpoint has been deprecated; please switch to the symbolication v5 api <docs link>"}
Description
•