It appears this change is causing breakage at scale, including for our partners.
Given how this is going, I'd like to suggest the following course of action: - Turn down the Finch rollout to 0% immediately - Revert the change in 111 - File an intent-to-deprecate here ASAP w/ whatever data on compat we can gather (as it looks like usecounters won't work) so we can discuss a new plan to land this We have options that might be more suitable (e.g., reverse OT), or maybe the change just needs devrel in wider channels + time to breathe. Either way, backing off of this rollout seems like the right thing to do. In future, web-visible WebRTC changes also need to come through the main Blink intents process. Let's start down that path now. Curious for other API OWNERs feedback, so cc-ing blink-api-owners-discuss@. Best, Alex On Wed, Jan 25, 2023 at 10:04 PM Henrik Boström <h...@google.com> wrote: > The track and stream removal experiment is at 50% Stable for M109. On > January 23rd it went from 10% to 50%. The intent is to ramp up to 100%. > Which experiment group you end up with (have or not have the deprecated > stats) are chosen with a dice roll every time the user restarts their > browser. > > In M111 (which is currently Canary) the removal is enabled-by-default so > in that version there is no dependency on getting finch configs pushed > anymore. > > On Thu, Jan 26, 2023 at 12:52 AM Sudheer Boynapally <sudheerr...@gmail.com> > wrote: > >> Was there any change on January 23rd corresponding to this? like rolling >> out this deprecation? >> >> Thanks, >> On Wednesday, January 25, 2023 at 2:57:16 PM UTC-8 Sudheer Boynapally >> wrote: >> >>> Hi, >>> >>> Is the deprecation of 'track' and 'stream' objects completed 100% on all >>> the versions of chrome v109 or any specific sub version of 109? >>> >>> Thanks, >>> >>> >>> On Tuesday, January 10, 2023 at 5:56:04 AM UTC-8 Henrik Boström wrote: >>> >>>> On Tue, Jan 10, 2023 at 8:51 AM Yoav Weiss <yoav...@chromium.org> >>>> wrote: >>>> >>>>> +Henrik Boström - was there an intent sent for this removal? Any form >>>>> of developer communication? >>>>> >>>> >>>> There was developer communication dating as far back as July but I >>>> admit I had forgotten to send out a formal blink-dev intent to deprecate! >>>> >>>> - I should have done that. >>>> >>>> The getStats() API in question is not being deprecated, but the >>>> RTCStatsReport (an id-to-stats-object map) report will stop containing the >>>> stats object which were made obsolete in the spec several years ago due to >>>> the contents of these stats objects having been moved to other stats >>>> objects that are still being returned. Same values, different location. In >>>> other words, the report is being trimmed down by removing duplicate >>>> information. Stats processing code in an application is gated on stats type >>>> for knowing which metrics to look for on an individual stats object which >>>> should make this lower risk compared to other depracations. The motivation >>>> for this is performance optimizations (~40% report size reduction), >>>> technical debt reduction (-1400 LOC) and web compat ("track" does not >>>> exist in Firefox <https://webrtc-stats.callstats.io/verify/>). >>>> >>>> The communication channel used was WebRTC's official google group, >>>> discuss-webrtc <https://groups.google.com/g/discuss-webrtc>. History: >>>> >>>> - July 25, 2022 PSA >>>> <https://groups.google.com/g/discuss-webrtc/c/lfkFCY2CFco> announced >>>> the plan to deprecate at a milestone TBD. This was also the time where >>>> the >>>> "DEPRECATED_" prefix was added to the JavaScript-exposed stats object >>>> IDs, >>>> which made it into M106. The deprecation prefix is also visible in the >>>> chrome://webrtc-internals/ developer page when a page uses WebRTC. >>>> - There was another PSA on September 6, 2022 >>>> <https://groups.google.com/g/discuss-webrtc/c/mmudYReualE> about >>>> other stats news with a reminder of the imminent stats deprecation. >>>> - The October 19, 2022 PSA >>>> <https://groups.google.com/g/discuss-webrtc/c/R7Mcux9RK6g> announced >>>> "track" stats being removed at 50% Canary. >>>> - The follow-up October 27, 2022 PSA >>>> <https://groups.google.com/g/discuss-webrtc/c/9c8ZjberEcI> announced >>>> it would also be removed at 50% Beta (where M109 Beta was released on >>>> December 1st). This PSA also clarifies that "The goal is to continue >>>> ramping it up on Stable when M109 is released". >>>> - Lastly we have yesterday's PSA >>>> <https://groups.google.com/g/discuss-webrtc/c/Bxrxr8gw08Y> announcing >>>> that the removal was advanced to 1% Stable which this conversation is a >>>> response to. >>>> >>>> >>>>> On Mon, Jan 9, 2023 at 9:42 PM Alex Russell <sligh...@chromium.org> >>>>> wrote: >>>>> >>>>>> Thanks for adding blink-dev, Philipp. CC-ing the API OWNERs as this >>>>>> seems related to a pattern of breaking changes without Blink intents that >>>>>> we've been informed of by customers. >>>>>> >>>>>> Do I understand correctly that this deprecation is being managed via >>>>>> Finch for 109 Stable? >>>>>> >>>>> >>>> Yes, as to minimize risk of breakage the deprecation is managed via a >>>> Finch flag, which is currently 1% Stable + 50% Canary/Beta. >>>> To my knowledge, no issues have been reported since the rollout started >>>> in Canary in November, 2022 or "DEPRECATED_" prefix was added in July, >>>> 2022. >>>> This, combined with the fact that apps usually gate on type, is why I >>>> thought it would be safe to gently roll out further to Stable. >>>> >>>> >>>>> >>>>>> Best, >>>>>> >>>>>> Alex >>>>>> >>>>>> >>>> On Tue, Jan 10, 2023 at 12:34 AM 'Aaron Boushley' via blink-dev < >>>> blin...@chromium.org> wrote: >>>> >>>>> Can you help me understand exactly which objects are being removed >>>>> here? We rely on `RTCPeerConnection.getStats()` although we pass in a >>>>> stream selector. We then iterate over the returned stats reports looking >>>>> for ones containing the values we need. >>>>> >>>> >>>> The selector (be it an RTCRtpSender, RTCRtpReceiver or >>>> MediaStreamTrack) continues to work, it's just that the report no longer >>>> contains the removed stats objects. >>>> >>>> >>>>> >>>>> Is this a removal of the stats objects that have the fixed ID of >>>>> "track" and "stream"? >>>>> >>>> >>>> It is the removal of the stats objects where .type == "track" or .type >>>> == "stream". >>>> In the spec this refers to dictionaries RTCMediaStreamTrackStats >>>> <https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats> and >>>> RTCMediaStreamStats >>>> <https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamstats> which >>>> are part of the "Obsolete" section of the spec. See RTCStatsType >>>> <https://w3c.github.io/webrtc-stats/#rtcstatstype-str*> for complete >>>> list of stats object types. >>>> >>>> Regarding the track stats dictionary, the same metrics are still >>>> available, but you have to look at the non-deprecated locations: >>>> RTCOutboundRtpStreamStats >>>> <https://w3c.github.io/webrtc-stats/#outboundrtpstats-dict*> and >>>> RTCInboundRtpStreamStats >>>> <https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats> >>>> dictionaries >>>> instead (type == "outbound-rtp" and type == "inbound-rtp"). See also the >>>> type "media-source" referenced from outbound-rtp.mediaSourceId. >>>> >>>> >>>>> Is there any more documentation I can look at beyond the 2 sentences >>>>> above? >>>>> >>>> >>>> The spec <https://w3c.github.io/webrtc-stats/> as well as the >>>> implementation >>>> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/api/stats/rtcstats_objects.h> >>>> are >>>> good resources in general. >>>> >>>> >>>>> >>>>> Aaron >>>>> >>>>> >>>> >>>>> On Mon, Jan 9, 2023 at 11:30 AM 'Philipp Hancke' via blink-dev < >>>>>> blin...@chromium.org> wrote: >>>>>> >>>>>>> Henrik, >>>>>>> >>>>>>> while I understand that this has been ongoing for a while in Canary >>>>>>> <https://groups.google.com/g/discuss-webrtc/c/R7Mcux9RK6g/m/KG8qe6AEBgAJ> >>>>>>> and Beta >>>>>>> <https://groups.google.com/g/discuss-webrtc/c/9c8ZjberEcI/m/wbdQr77VBQAJ> >>>>>>> for >>>>>>> a while without anyone raising issues, >>>>>>> the timeline "tomorrow" (with ramp-up) comes as a surprise, in >>>>>>> particular considering practices like code freezes over the holidays. >>>>>>> >>>>>>> Can you explain why you think you don't need an intent to deprecate >>>>>>> on blink-dev (cc'd)? >>>>>>> (I agree they should go away but don't see a need for such an >>>>>>> aggressive timeline) >>>>>>> >>>>>>> Am Mo., 9. Jan. 2023 um 10:40 Uhr schrieb Henrik Boström < >>>>>>> hb...@webrtc.org>: >>>>>>> >>>>>>>> With the Stable release of M109 tomorrow, the deprecated "track" >>>>>>>> and "stream" stats objects returned by RTCPeerConnection.getStats() >>>>>>>> will no >>>>>>>> longer be available. >>>>>>>> >>>>>>>> This is unshipped at 1% Stable, but it will soon ramp up further >>>>>>>> with the goal of 100% unshipped in M109. >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> --- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "discuss-webrtc" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to discuss-webrt...@googlegroups.com. >>>>>>>> To view this discussion on the web visit >>>>>>>> https://groups.google.com/d/msgid/discuss-webrtc/0ebcadca-6d66-4f7c-b7e5-d2ac707a6e84n%40googlegroups.com >>>>>>>> <https://groups.google.com/d/msgid/discuss-webrtc/0ebcadca-6d66-4f7c-b7e5-d2ac707a6e84n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>> . >>>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "blink-dev" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to blink-dev+...@chromium.org. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADxkKiJ-vkiyVTH%2BsSNOjv67zx0p7qLra1ePdGJS3JW3GTzfKQ%40mail.gmail.com >>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADxkKiJ-vkiyVTH%2BsSNOjv67zx0p7qLra1ePdGJS3JW3GTzfKQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "blink-api-owners" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to blink-api-owne...@chromium.org. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-api-owners/CAA44PQjegbaaorsT_r-iNtUAg2Gxa5f6WohHAaLeGw2tmBW%2BwA%40mail.gmail.com >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-api-owners/CAA44PQjegbaaorsT_r-iNtUAg2Gxa5f6WohHAaLeGw2tmBW%2BwA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA44PQhTAqQdWXEN_tTJgCmv3Oeszgo1YF3Z2KH3cWx4t16%3D8g%40mail.gmail.com.