Commit-Queue | +1 |
suzukikeita@: PTAL, does this look reasonable?
toyoshim@: PTAL histograms and mojom
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
// Mirror of net::SessionSource.
Just an idea, but how about adding triangle LINT.IfChange dependency loop among the //net, //services/network, and the enums.xml?
Currently, you set dependencies from //net to enums.xml, and from enums.xml to //net. But if we change the latter one from enums.xml to //services/network, and add one from //services/network to //net, we can write a dependency cycle without violating layering rules?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
LGTM % comment. Thanks!
<token key="ConnectionProtocolType" variants="ConnectionProtocolType"/>
Just want to make sure, with this we would be getting a histogram with ConnectionProtocolType being an empty string (i.e. `PageLoad.Clients.GoogleSearch.SessionSource`), but I assume we won't record in such case (also true for H1 and Other cases)?
Maybe it would be good to mention that we don't have any records for them since they would show up in the dashboard.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
// Mirror of net::SessionSource.
Just an idea, but how about adding triangle LINT.IfChange dependency loop among the //net, //services/network, and the enums.xml?
Currently, you set dependencies from //net to enums.xml, and from enums.xml to //net. But if we change the latter one from enums.xml to //services/network, and add one from //services/network to //net, we can write a dependency cycle without violating layering rules?
Good idea, updated. Did I do what you mean?
<token key="ConnectionProtocolType" variants="ConnectionProtocolType"/>
Just want to make sure, with this we would be getting a histogram with ConnectionProtocolType being an empty string (i.e. `PageLoad.Clients.GoogleSearch.SessionSource`), but I assume we won't record in such case (also true for H1 and Other cases)?
Maybe it would be good to mention that we don't have any records for them since they would show up in the dashboard.
Yes, you're right. Updated to mention this is only available H2/H3.
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. |
Code-Review | +1 |
// LINT.ThenChange(//services/network/public/mojom/load_timing_internal_info.mojom:SessionSource)
I think it's better to keep this referring to enums.xml so we have the triangular dependency. In the current approach, if we change //net or //services/network, we might not change enums.xml.
```suggestion
// LINT.ThenChange(//tools/metrics/histograms/metadata/page/enums.xml:SessionSource)
```
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
// LINT.ThenChange(//services/network/public/mojom/load_timing_internal_info.mojom:SessionSource)
I think it's better to keep this referring to enums.xml so we have the triangular dependency. In the current approach, if we change //net or //services/network, we might not change enums.xml.
```suggestion
// LINT.ThenChange(//tools/metrics/histograms/metadata/page/enums.xml:SessionSource)
```
Makes sense. Done.
enum class SessionSource {
I thought it might be better to add `kUnspecified` and stop using `std::optional` for simple histogram and trace event recording, but I'm not fully sure which one is better.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
// Mirror of net::SessionSource.
Kenichi IshibashiJust an idea, but how about adding triangle LINT.IfChange dependency loop among the //net, //services/network, and the enums.xml?
Currently, you set dependencies from //net to enums.xml, and from enums.xml to //net. But if we change the latter one from enums.xml to //services/network, and add one from //services/network to //net, we can write a dependency cycle without violating layering rules?
Good idea, updated. Did I do what you mean?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +2 |
Thank you.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +2 |
enum class SessionSource {
I thought it might be better to add `kUnspecified` and stop using `std::optional` for simple histogram and trace event recording, but I'm not fully sure which one is better.
Marked as resolved.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Add metric for new vs. existing H2/H3 sessions
This change introduces a metric to track whether navigations to Google
search pages use a new or an existing HTTP/2 or HTTP/3 session.
This data will help in understanding connection reuse and performance
patterns for modern HTTP protocols.
A `SessionSource` enum is added to `net::LoadTimingInternalInfo` and
plumbed through the network service and content layers. This allows
the `GWSPageLoadMetricsObserver` to record the new
`PageLoad.Clients.GoogleSearch.SessionSource` histogram.
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. |