1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.
Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?
+1 to this idea, and two follow up questions for Dale:
1. Are there any docs discussing the differences and intentions with the different Media Playback UKMS? I don't understand what feels like some duplication (which we try solving via ideas like Sangbaek's). Maybe there is something out there, but couldn't find anything after a cursory search.
2. When we add a field like this to the UKM, are we expected to create a new UKM review document? ex: https://docs.google.com/document/d/1cdfAP66Hm4W4hcXmgOm1BqScYIS0KP7cyCgLu91f-kE/edit?tab=t.0#heading=h.k5jx6iluw4yt
I'm asking because I've seen UKMs have a running document where reviewers can give LGTMs to fields, rather than explaining what the UKM does from scratch.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Vikram Pasupathy1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?
+1 to this idea, and two follow up questions for Dale:
1. Are there any docs discussing the differences and intentions with the different Media Playback UKMS? I don't understand what feels like some duplication (which we try solving via ideas like Sangbaek's). Maybe there is something out there, but couldn't find anything after a cursory search.
2. When we add a field like this to the UKM, are we expected to create a new UKM review document? ex: https://docs.google.com/document/d/1cdfAP66Hm4W4hcXmgOm1BqScYIS0KP7cyCgLu91f-kE/edit?tab=t.0#heading=h.k5jx6iluw4yt
I'm asking because I've seen UKMs have a running document where reviewers can give LGTMs to fields, rather than explaining what the UKM does from scratch.
Anything that can change is supposed to be on the BaiscPlayback table, WebMediaPlayerState is supposed to be one time. RendererType is a bit of an exception though since it can actually change (e.g., remoting renderer). So it should actually have been on the basic playback table all along.
I don't understand what's so problematic about the JOIN though? Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Vikram Pasupathy1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?
Dale Curtis+1 to this idea, and two follow up questions for Dale:
1. Are there any docs discussing the differences and intentions with the different Media Playback UKMS? I don't understand what feels like some duplication (which we try solving via ideas like Sangbaek's). Maybe there is something out there, but couldn't find anything after a cursory search.
2. When we add a field like this to the UKM, are we expected to create a new UKM review document? ex: https://docs.google.com/document/d/1cdfAP66Hm4W4hcXmgOm1BqScYIS0KP7cyCgLu91f-kE/edit?tab=t.0#heading=h.k5jx6iluw4yt
I'm asking because I've seen UKMs have a running document where reviewers can give LGTMs to fields, rather than explaining what the UKM does from scratch.
Anything that can change is supposed to be on the BaiscPlayback table, WebMediaPlayerState is supposed to be one time. RendererType is a bit of an exception though since it can actually change (e.g., remoting renderer). So it should actually have been on the basic playback table all along.
I don't understand what's so problematic about the JOIN though? Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?
Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?
Right. Actually, it's not a huge deal for doing that inner join operation but it gives us a good benefit when tackling some playback issues specifically for PlayReady HWDRM + detecting abuse/fraud cases if RendererType is reported in the BasicPlayback. And also I'm not sure if selecting the same PlayerID between BasicPlayback and WebMediaPlayerState per session_id per client_id gives us the correct entries since the PlayerID is an incremental number from 0 (any idea on this?).
Looks like adding `RendererType` into BasicPlayback is good to go, right?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Vikram Pasupathy1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?
Dale Curtis+1 to this idea, and two follow up questions for Dale:
1. Are there any docs discussing the differences and intentions with the different Media Playback UKMS? I don't understand what feels like some duplication (which we try solving via ideas like Sangbaek's). Maybe there is something out there, but couldn't find anything after a cursory search.
2. When we add a field like this to the UKM, are we expected to create a new UKM review document? ex: https://docs.google.com/document/d/1cdfAP66Hm4W4hcXmgOm1BqScYIS0KP7cyCgLu91f-kE/edit?tab=t.0#heading=h.k5jx6iluw4yt
I'm asking because I've seen UKMs have a running document where reviewers can give LGTMs to fields, rather than explaining what the UKM does from scratch.
Sangbaek ParkAnything that can change is supposed to be on the BaiscPlayback table, WebMediaPlayerState is supposed to be one time. RendererType is a bit of an exception though since it can actually change (e.g., remoting renderer). So it should actually have been on the basic playback table all along.
I don't understand what's so problematic about the JOIN though? Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?
Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?
Right. Actually, it's not a huge deal for doing that inner join operation but it gives us a good benefit when tackling some playback issues specifically for PlayReady HWDRM + detecting abuse/fraud cases if RendererType is reported in the BasicPlayback. And also I'm not sure if selecting the same PlayerID between BasicPlayback and WebMediaPlayerState per session_id per client_id gives us the correct entries since the PlayerID is an incremental number from 0 (any idea on this?).
Looks like adding `RendererType` into BasicPlayback is good to go, right?
Right you have to join on client_id+session_id+player_id. I'm not opposed to it, but you'll need UKM review to decide if we need a new doc for copying this key to another table. Probably we should deprecate the one in WMPState since renderer can change, but that would mean updating the code a bit.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Vikram Pasupathy1. `Media.WebMediaPlayerState` already reports `RendererType` field whereas `Media.BasicPlayback` doesn't.
2. `Media.WebMediaPlayerState` has `KeySystem` and `IsHardwareSecure` fields whereas `Media.BasicPlayback` doesn't.
3. As far as MediaFoundationRenderer is concerned, we have to do a join operation between two UKMs on the same PlayerID to inspect some UKM fields from `Media.BasicPlayback`.Not sure it would be more proper if we add `KeySystem` and `IsHardwareSecure` to `Media.BasicPlayback` instead (or not sure these values are available for the watch time recorder). By simply reporting `RendererType` field for `Media.BasicPlayback`, it gives us more flexibility without the expensive join operation when inspecting the data. WDYT?
Dale Curtis+1 to this idea, and two follow up questions for Dale:
1. Are there any docs discussing the differences and intentions with the different Media Playback UKMS? I don't understand what feels like some duplication (which we try solving via ideas like Sangbaek's). Maybe there is something out there, but couldn't find anything after a cursory search.
2. When we add a field like this to the UKM, are we expected to create a new UKM review document? ex: https://docs.google.com/document/d/1cdfAP66Hm4W4hcXmgOm1BqScYIS0KP7cyCgLu91f-kE/edit?tab=t.0#heading=h.k5jx6iluw4yt
I'm asking because I've seen UKMs have a running document where reviewers can give LGTMs to fields, rather than explaining what the UKM does from scratch.
Sangbaek ParkAnything that can change is supposed to be on the BaiscPlayback table, WebMediaPlayerState is supposed to be one time. RendererType is a bit of an exception though since it can actually change (e.g., remoting renderer). So it should actually have been on the basic playback table all along.
I don't understand what's so problematic about the JOIN though? Presumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?
Dale CurtisPresumably you're just using an inner join between the two tables (after filtering down to just what you want in basic playback table) based on the id?
Right. Actually, it's not a huge deal for doing that inner join operation but it gives us a good benefit when tackling some playback issues specifically for PlayReady HWDRM + detecting abuse/fraud cases if RendererType is reported in the BasicPlayback. And also I'm not sure if selecting the same PlayerID between BasicPlayback and WebMediaPlayerState per session_id per client_id gives us the correct entries since the PlayerID is an incremental number from 0 (any idea on this?).
Looks like adding `RendererType` into BasicPlayback is good to go, right?
Right you have to join on client_id+session_id+player_id. I'm not opposed to it, but you'll need UKM review to decide if we need a new doc for copying this key to another table. Probably we should deprecate the one in WMPState since renderer can change, but that would mean updating the code a bit.
Thank you for your time again! I can go through a new UKM doc and review but sounds like I need a plan like adding rendering type to BasicPlayback and deprecating the existing on from WMPState.
And I noticed this CL doesn't report RendererType as MediaFoundationRenderer because my guess is we don't recreate a watch time component upon the renderer type change (I have another bug and added a note: b/302699189#comment3).
My current plan:
1. Fix this renderer type component recreation issue (b/302699189) first
2. Write a new UKM doc and review
3. Add RendererType to BasicPlayback
4. Deprecate RendererType from WMPState
(Note that 2-4 have a low priority for now since it's more like a nice-to-have feature).
FYI; On Windows local machine, nothing is reported in chrome://ukm mostly due to the finch flag (I guess throttling due to high traffics on Windows) so we have to override the UkmSamplingRate with `-enable-feature=UkmSamplingRate`. For details, see b/446238506. Now I am able to verify UKMs in chrome://ukm on my local Windows debug build.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
I'd check with a UKM reviewer if 2 is needed first, but otherwise sgtm. Thanks!
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
I fixed hte blocking issue (RendererType is not updated to the watch time recorder) by http://crrev.com/c/7047462 and rebased this CL.
Tested locally. Verified via UKM logs: http://shortn/_Ava9MN59qO
Now I am about to ask UKM owners if this needs a UKM doc review or not.
@dalec...@chromium.org, do you have the previously reviewed UKM doc for Media.BasicPlayback and/or Media.WebMediaPlayerState? I'd like ask them if I can reuse it.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
We have the previously approved UKM doc (http://shortn/_BJ13xcmzEx) for both Media.BasicPlayback and Media.WebMediaPlayerState.
The current CL is trying to add `RendererType` field to the Media.BasicPlayback UKM. The same field already exists in the Media.WebMediaPlayerState UKM.
UKM owners, if I need a UKM doc for this CL, can I reuse the previous UKM doc for reviews?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Reviewer source(s):
yr...@chromium.org is from context(analysis/uma/chrome-metrics.gwsq)
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
@yr...@chromium.org, Could you please check out my previous question above? Thank you!
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
The approved doc does say the proposal is to add renderer_type to the two event types, so that's already covered.
<aggregation>
This is for making this field available on go/ukm-dash, I suspect you don't need that since none of the other fields are aggregated, and I recall seeing a custom (Plx?) dash from Dale for viewing media metrics.
Otherwise LGTM.
<aggregation>
This is for making this field available on go/ukm-dash, I suspect you don't need that since none of the other fields are aggregated, and I recall seeing a custom (Plx?) dash from Dale for viewing media metrics.
Otherwise LGTM.
You're right. It's not aggregated so it won't be showing on go/ukm-dash. This field is added for PLX script queries when needed.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
<aggregation>
Sangbaek ParkThis is for making this field available on go/ukm-dash, I suspect you don't need that since none of the other fields are aggregated, and I recall seeing a custom (Plx?) dash from Dale for viewing media metrics.
Otherwise LGTM.
You're right. It's not aggregated so it won't be showing on go/ukm-dash. This field is added for PLX script queries when needed.
@yr...@chromium.org, Dale stampled so PTAL again. Thank you!
<aggregation>
Sangbaek ParkThis is for making this field available on go/ukm-dash, I suspect you don't need that since none of the other fields are aggregated, and I recall seeing a custom (Plx?) dash from Dale for viewing media metrics.
Otherwise LGTM.
Sangbaek ParkYou're right. It's not aggregated so it won't be showing on go/ukm-dash. This field is added for PLX script queries when needed.
@yr...@chromium.org, Dale stampled so PTAL again. Thank you!
It's not aggregated
This field is added for PLX script queries when needed.
The plx script doesn't read from the aggregated table, does it? If no one actually needs the <aggregation>, let's remove it if it's not used. Having <aggregation> incurs additional processing costs for UKM pipelines.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
<aggregation>
Sangbaek ParkThis is for making this field available on go/ukm-dash, I suspect you don't need that since none of the other fields are aggregated, and I recall seeing a custom (Plx?) dash from Dale for viewing media metrics.
Otherwise LGTM.
Sangbaek ParkYou're right. It's not aggregated so it won't be showing on go/ukm-dash. This field is added for PLX script queries when needed.
Sun Yueru@yr...@chromium.org, Dale stampled so PTAL again. Thank you!
It's not aggregated
This field is added for PLX script queries when needed.The plx script doesn't read from the aggregated table, does it? If no one actually needs the <aggregation>, let's remove it if it's not used. Having <aggregation> incurs additional processing costs for UKM pipelines.
@dalec...@chromium.org, I copied this RendererType ukm field including <aggregation> from Media.WebMediaPlayerState. Do we need this <aggregation> since my PLX scripts use `processed_chrome_ukm.readable_ukm.last7days` only? Or maybe some video stack team's PLX or ukm dashboard might use the aggregation in the future? If no, I'll remove the aggregation flag.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
<aggregation>
Sangbaek ParkThis is for making this field available on go/ukm-dash, I suspect you don't need that since none of the other fields are aggregated, and I recall seeing a custom (Plx?) dash from Dale for viewing media metrics.
Otherwise LGTM.
Sangbaek ParkYou're right. It's not aggregated so it won't be showing on go/ukm-dash. This field is added for PLX script queries when needed.
Sun Yueru@yr...@chromium.org, Dale stampled so PTAL again. Thank you!
Sangbaek ParkIt's not aggregated
This field is added for PLX script queries when needed.The plx script doesn't read from the aggregated table, does it? If no one actually needs the <aggregation>, let's remove it if it's not used. Having <aggregation> incurs additional processing costs for UKM pipelines.
@dalec...@chromium.org, I copied this RendererType ukm field including <aggregation> from Media.WebMediaPlayerState. Do we need this <aggregation> since my PLX scripts use `processed_chrome_ukm.readable_ukm.last7days` only? Or maybe some video stack team's PLX or ukm dashboard might use the aggregation in the future? If no, I'll remove the aggregation flag.
I don't think any of these fields work in the dashboard so it shouldn't be needed here. It'd be nice if we could use the default dashboard, but it's not expressive enough.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
<aggregation>
Sangbaek ParkThis is for making this field available on go/ukm-dash, I suspect you don't need that since none of the other fields are aggregated, and I recall seeing a custom (Plx?) dash from Dale for viewing media metrics.
Otherwise LGTM.
Sangbaek ParkYou're right. It's not aggregated so it won't be showing on go/ukm-dash. This field is added for PLX script queries when needed.
Sun Yueru@yr...@chromium.org, Dale stampled so PTAL again. Thank you!
Sangbaek ParkIt's not aggregated
This field is added for PLX script queries when needed.The plx script doesn't read from the aggregated table, does it? If no one actually needs the <aggregation>, let's remove it if it's not used. Having <aggregation> incurs additional processing costs for UKM pipelines.
Dale Curtis@dalec...@chromium.org, I copied this RendererType ukm field including <aggregation> from Media.WebMediaPlayerState. Do we need this <aggregation> since my PLX scripts use `processed_chrome_ukm.readable_ukm.last7days` only? Or maybe some video stack team's PLX or ukm dashboard might use the aggregation in the future? If no, I'll remove the aggregation flag.
I don't think any of these fields work in the dashboard so it shouldn't be needed here. It'd be nice if we could use the default dashboard, but it's not expressive enough.
Ack. I've removed <aggregation> from the newly added `RendererType`.
@yr...@chromium.org PTAL, thank you!
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
<aggregation>
Sangbaek ParkThis is for making this field available on go/ukm-dash, I suspect you don't need that since none of the other fields are aggregated, and I recall seeing a custom (Plx?) dash from Dale for viewing media metrics.
Otherwise LGTM.
Sangbaek ParkYou're right. It's not aggregated so it won't be showing on go/ukm-dash. This field is added for PLX script queries when needed.
Sun Yueru@yr...@chromium.org, Dale stampled so PTAL again. Thank you!
Sangbaek ParkIt's not aggregated
This field is added for PLX script queries when needed.The plx script doesn't read from the aggregated table, does it? If no one actually needs the <aggregation>, let's remove it if it's not used. Having <aggregation> incurs additional processing costs for UKM pipelines.
Dale Curtis@dalec...@chromium.org, I copied this RendererType ukm field including <aggregation> from Media.WebMediaPlayerState. Do we need this <aggregation> since my PLX scripts use `processed_chrome_ukm.readable_ukm.last7days` only? Or maybe some video stack team's PLX or ukm dashboard might use the aggregation in the future? If no, I'll remove the aggregation flag.
Sangbaek ParkI don't think any of these fields work in the dashboard so it shouldn't be needed here. It'd be nice if we could use the default dashboard, but it's not expressive enough.
Ack. I've removed <aggregation> from the newly added `RendererType`.
@yr...@chromium.org PTAL, thank you!
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |