| <!-- |
| Copyright 2020 The Chromium Authors |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <!-- |
| This file is used to generate a comprehensive list of Session histograms |
| along with a detailed description for each histogram. |
| |
| For best practices on writing histogram descriptions, see |
| https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md |
| |
| Please follow the instructions in the OWNERS file in this directory to find a |
| reviewer. If no OWNERS file exists, please consider signing up at |
| go/reviewing-metrics (Googlers only), as all subdirectories are expected to |
| have an OWNERS file. As a last resort you can send the CL to |
| chromium-metrics-reviews@google.com. |
| --> |
| |
| <histogram-configuration> |
| |
| <histograms> |
| |
| <histogram name="Session.Background.TotalDuration" units="ms" |
| expires_after="2023-08-27"> |
| <owner>asvitkine@chromium.org</owner> |
| <owner>src/base/metrics/OWNERS</owner> |
| <summary> |
| Sum of this metric yields the total time Chrome was running in the |
| background. A single session may be represented by multiple values, so that |
| this histogram is always present in an uploaded log that represents |
| background activity. |
| |
| Android-only. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.IsActive" enum="BooleanActive" |
| expires_after="2023-09-03"> |
| <owner>rogerm@chromium.org</owner> |
| <owner>src/base/metrics/OWNERS</owner> |
| <summary> |
| Was a browsing session active when the UMA record was captured? This metric |
| is recorded with every UMA log upload when the session tracker is running |
| (which, in principle, should always be the case). This metric is NOT |
| recorded in logs that reflect information from a previous session (i.e., |
| "stability logs" or "persistent UMA" data related to the |
| previous session but not uploaded during the previous session). |
| |
| Recorded on Android, iOS, Windows, Mac, and Linux. |
| |
| For information on what's considered "active", see the histogram |
| description for Session.TotalDuration. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.OpenedTabCounts" units="operations" |
| expires_after="2023-09-17"> |
| <owner>rohitrao@chromium.org</owner> |
| <owner>marq@chromium.org</owner> |
| <summary> |
| The number of times the user changed the active tab (this can happen when |
| manually selecting a new tab, when a pre-rendered tab is made active, when |
| closing the current tab and the next one is selected) during the current |
| session (launch/foregrounding to backgrounding). |
| |
| This histogram is only logged on iOS when the application is backgrounded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TimeSpentInFocusMode" units="s" expires_after="M80"> |
| <owner>yiningwang@google.com</owner> |
| <owner>chrome-desktop-ui-sea@google.com</owner> |
| <summary> |
| Time spent in focus mode browser. This is recorded when the focus mode |
| window closes. This metric is only recorded on Win/Mac/Linux/ChromeOS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDuration" units="ms" expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>asvitkine@chromium.org</owner> |
| <owner>chrisha@chromium.org</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| The length of a session (launch/foregrounding to quitting/backgrounding) in |
| milliseconds, recorded at the end of the session. See |
| Session.TotalDurationMax1Day for the same histogram with a higher maximum |
| value. (The one's maximum is 1 hour.) |
| |
| Windows/Mac/Linux: A session ends (i) when the user puts another app in the |
| foreground, unless audio is playing. (The Chrome windows can still be shown. |
| What matters is that a different app has focus.) (ii) when Chrome quits. |
| (iii) when the screensaver turns on (again, unless audio is playing). (iv) |
| when the user is inactive for five minutes (again, unless audio is playing). |
| In this case (starting in M-55), that five minutes is not included in the |
| sesson length. (v) when audio stops playing, if the user has been inactive |
| for five minutes or Chrome is not in the foreground. Also, until M69, there |
| was a bug that caused double-counting of some sessions. |
| |
| ChromeOS: not implemented. The ChromeOS histogram Platform.DailyUseTime is |
| somewhat similar. |
| |
| Android: Session boundaries are wonky. Thus, only look at total duration for |
| a client over a day; don't look at individual durations. A session ends (i) |
| when the Chrome app leaves the foreground. This sounds obvious yet there are |
| many subtle though common edge cases here. Going to the Android Home screen |
| via the Home button is an obvious case. Yet, merely pressing the Recents |
| button, even if the user reselects the Chrome app (i.e., doesn't leave the |
| app) also ends a session. Another set of cases is the screen time-out |
| (blanking the screen) or the lock screen. Either will cause Chrome to be |
| considered to leave the foreground, ending the session. (ii) some in-app |
| actions. Yes, some in-app events trigger the end of a session. |
| |
| Android continued: These in-app actions that trigger the end of a session |
| can mostly be considered bugs. Cases: (a) switching to viewing Bookmarks, |
| History, Downloads, or Settings causes the session to end. Note that |
| switching out of those modes does not cause the end of a session, only |
| switching in. Oddly, though the interface looks similar, switching to Recent |
| Tabs does not trigger the end of a session. Nor does going into the tab |
| switcher view. (b) modal pop-ups. JavaScript dialogs and other things that |
| take focus away from the Chrome activity can cause this metric to record a |
| session end prematurely. See: crbug.com/678276. (c) switching Chrome from as |
| a single app in the foreground into multi-window mode. (d) switching Chrome |
| from being one of a set of multi-window apps that are displayed to be the |
| only app displayed. |
| |
| iOS: A session starts when Chrome is launched to the foreground and ends |
| when Chrome leaves the screen. This is generally straightforward. Chrome |
| leaves the screen when the screen goes blank or shows the lock screen, when |
| Chrome clicks a link that opens in another app, or when the user switches to |
| another app in the app switcher. Note that, unlike on desktop, even if |
| Chrome is playing media in the background or in picture-in-picture mode, the |
| session is still terminated when Chrome leaves the screen. Also note that if |
| Chrome starts in Safe Mode, the session will only start when the user quits |
| Safe Mode. When multiple windows are used, the session is considered ongoing |
| as long as there is at least one foreground Chrome window. This was revised |
| in M-89 to support multiple windows. In M-87 and M-88, nothing was logged |
| due to a bug. Before M-86, a similar metric was recorded, with some |
| differences in edge cases. See the old histogram description for more |
| details. |
| |
| This histogram is of special interest to the chrome-analysis-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDuration.NotOptedInToSyncWithAccount" units="ms" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| This histogram is in the process of being replaced with the equivalent |
| histogram Session.TotalDurationMax1Day.NotOptedInToSyncWithAccount; the only |
| difference is the histogram bucket ranges. |
| |
| The amount of active browsing time that was spent with sync disabled while |
| having a valid refresh token for the primary account. This corresponds to |
| the case when the user did not opt in to sync, or sync is disabled due to |
| another reason, e.g. enterprise policy. Note that auth errors are not |
| counted here, but rather in |
| Session.TotalDuration.OptedInToSyncWithoutAccount. |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin or |
| sync status changes. These end-points are when the metric is emitted. For |
| details on how "stopped interacting with the browser" is decided, |
| see the description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| This histogram is of special interest to the chrome-analysis-team@ and |
| chrome-signin-team@. Do not change its semantics or retire it without |
| talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDuration.NotOptedInToSyncWithoutAccount" |
| units="ms" expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| This histogram is in the process of being replaced with the equivalent |
| histogram Session.TotalDurationMax1Day.NotOptedInToSyncWithoutAccount; the |
| only difference is the histogram bucket ranges. |
| |
| The amount of active browsing time that was spent with sync disabled and |
| signed out of Chrome (no primary account or invalid token for the primary |
| account). |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin or |
| sync status changes. These end-points are when the metric is emitted. For |
| details on how "stopped interacting with the browser" is decided, |
| see the description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| Note: As part of crbug/1223007, we discovered this histogram was recorded |
| for Guest and System profiles which wasn't intentional. This was fixed in |
| M93. |
| |
| After launching background logging in the late February 2021 on Android, |
| this metric started recording for instances that were running in the |
| background, even if Chrome had never come to foreground. The bug was fixed |
| in M92, and after that the metric is recorded only after an instance becomes |
| foregrounded at least once. Hence a glitch is visible in the Feb-Aug 2021 |
| data for Android. |
| |
| This histogram is of special interest to the chrome-analysis-team@ and |
| chrome-signin-team@. Do not change its semantics or retire it without |
| talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDuration.OptedInToSyncWithAccount" units="ms" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| This histogram is in the process of being replaced with the equivalent |
| histogram Session.TotalDurationMax1Day.OptedInToSyncWithAccount; the only |
| difference is the histogram bucket ranges. |
| |
| The total session duration (see Session.TotalDuration) that was spent with |
| sync enabled and signed in to Chrome (valid token for the primary account). |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin or |
| sync status changes. These end-points are when the metric is emitted. For |
| details on how "stopped interacting with the browser" is decided, |
| see the description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| This histogram is of special interest to the chrome-analysis-team@ and |
| chrome-signin-team@. Do not change its semantics or retire it without |
| talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDuration.OptedInToSyncWithoutAccount" units="ms" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| This histogram is in the process of being replaced with the equivalent |
| histogram Session.TotalDurationMax1Day.OptedInToSyncWithoutAccount; the only |
| difference is the histogram bucket ranges. |
| |
| The total session duration (see Session.TotalDuration) that was being spent |
| with sync inactive due to an invalid refresh token for the primary account |
| (a.k.a. sync in an auth error state). Note that in this state, the user has |
| already opted in to sync previously. This corresponds to the so-called |
| "Sync paused" state. |
| |
| This can for example be the case when a user, that previously opted in to |
| sync, signed out of the web on desktop, changed their password, or otherwise |
| invalidated their signin. |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin or |
| sync status changes. These end-points are when the metric is emitted. For |
| details on how "stopped interacting with the browser" is decided, |
| see the description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| After launching background logging in the late February 2021 on Android, |
| this metric started recording for instances that were running in the |
| background, even if Chrome had never come to foreground. The bug was fixed |
| in M92, and after that the metric is recorded only after an instance becomes |
| foregrounded at least once. Hence a glitch is visible in the Feb-Aug 2021 |
| data for Android. |
| |
| This histogram is of special interest to the chrome-analysis-team@ and |
| chrome-signin-team@. Do not change its semantics or retire it without |
| talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDuration.TouchMode" units="times" |
| expires_after="2023-09-10"> |
| <owner>collinbaker@chromium.org</owner> |
| <owner>chrome-desktop-ui-sea@google.com</owner> |
| <summary> |
| Time spent in touch mode in each session (as defined by |
| DesktopSessionDurationTracker). Samples correspond one-to-one with |
| Session.TotalDuration samples. |
| |
| This histogram should be analyzed with Session.TotalDuration. For example, |
| the sum of this histogram divided by the sum of Session.TotalDuration is the |
| total proportion of active browsing time spent in touch mode. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDuration.WithAccount" units="ms" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram is in the process of being replaced with the equivalent |
| histogram Session.TotalDurationMax1Day.WithAccount; the only difference is |
| the histogram bucket ranges. |
| |
| The total session duration (see Session.TotalDuration) that was spent with a |
| Google account signed into the content area. |
| |
| The difference between the With(out)Account measurements and the |
| Opted(In/Out)ToSyncWith(out)Account measurements is that these metrics are |
| derived from the user's cookies, not their refresh tokens. |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin |
| status changes. These end-points are when the metric is emitted. For details |
| on how "stopped interacting with the browser" is decided, see the |
| description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| This histogram is of special interest to the chrome-signin-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDuration.WithoutAccount" units="ms" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| This histogram is in the process of being replaced with the equivalent |
| histogram Session.TotalDurationMax1Day.WithoutAccount; the only difference |
| is the histogram bucket ranges. |
| |
| The total session duration (see Session.TotalDuration) that was spent |
| without a Google account signed into the content area. |
| |
| The difference between the With(out)Account measurements and the |
| Opted(In/Out)ToSyncWith(out)Account measurements is that these metrics are |
| derived from the user's cookies, not their refresh tokens. |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin |
| status changes. These end-points are when the metric is emitted. For details |
| on how "stopped interacting with the browser" is decided, see the |
| description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| Note: As part of crbug/1223007, we discovered this histogram was recorded |
| for Guest and System profiles which wasn't intentional. This was fixed in |
| M93. |
| |
| This histogram is of special interest to the chrome-signin-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDurationMax1Day" units="ms" expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>asvitkine@chromium.org</owner> |
| <owner>chrisha@chromium.org</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| The length of a session (launch/foregrounding to quitting/backgrounding) in |
| milliseconds, recorded at the end of the session. See Session.TotalDuration |
| for details on how the end of a session is decided. The histogram |
| Session.TotalDuration records exactly the same values as this histogram, |
| just with a smaller maximum value. (That one's maximum is 1 hour.) |
| |
| This histogram is of special interest to the chrome-analysis-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDurationMax1Day.NotOptedInToSyncWithAccount" |
| units="ms" expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| The amount of active browsing time that was spent with sync disabled while |
| having a valid refresh token for the primary account. This corresponds to |
| the case when the user did not opt in to sync, or sync is disabled due to |
| another reason, e.g. enterprise policy. Note that auth errors are not |
| counted here, but rather in |
| Session.TotalDurationMax1Day.OptedInToSyncWithoutAccount. |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin or |
| sync status changes. These end-points are when the metric is emitted. For |
| details on how "stopped interacting with the browser" is decided, |
| see the description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| This histogram is of special interest to the chrome-analysis-team@ and |
| chrome-signin-team@. Do not change its semantics or retire it without |
| talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDurationMax1Day.NotOptedInToSyncWithoutAccount" |
| units="ms" expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| The amount of active browsing time that was spent with sync disabled and |
| signed out of Chrome (no primary account or invalid token for the primary |
| account). |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin or |
| sync status changes. These end-points are when the metric is emitted. For |
| details on how "stopped interacting with the browser" is decided, |
| see the description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| Note: As part of crbug/1223007, we discovered this histogram was recorded |
| for Guest and System profiles which wasn't intentional. This was fixed in |
| M93. |
| |
| After launching background logging in the late February 2021 on Android, |
| this metric started recording for instances that were running in the |
| background, even if Chrome had never come to foreground. The bug was fixed |
| in M92, and after that the metric is recorded only after an instance becomes |
| foregrounded at least once. Hence a glitch is visible in the Feb-Aug 2021 |
| data for Android. |
| |
| This histogram is of special interest to the chrome-analysis-team@ and |
| chrome-signin-team@. Do not change its semantics or retire it without |
| talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDurationMax1Day.OptedInToSyncWithAccount" |
| units="ms" expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| The total session duration (see Session.TotalDuration) that was spent with |
| sync enabled and signed in to Chrome (valid token for the primary account). |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin or |
| sync status changes. These end-points are when the metric is emitted. For |
| details on how "stopped interacting with the browser" is decided, |
| see the description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| This histogram is of special interest to the chrome-analysis-team@ and |
| chrome-signin-team@. Do not change its semantics or retire it without |
| talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDurationMax1Day.OptedInToSyncWithoutAccount" |
| units="ms" expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <owner>chrome-analysis-team@google.com</owner> |
| <summary> |
| The total session duration (see Session.TotalDuration) that was being spent |
| with sync inactive due to an invalid refresh token for the primary account |
| (a.k.a. sync in an auth error state). Note that in this state, the user has |
| already opted in to sync previously. This corresponds to the so-called |
| "Sync paused" state. |
| |
| This can for example be the case when a user, that previously opted in to |
| sync, signed out of the web on desktop, changed their password, or otherwise |
| invalidated their signin. |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin or |
| sync status changes. These end-points are when the metric is emitted. For |
| details on how "stopped interacting with the browser" is decided, |
| see the description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| After launching background logging in the late February 2021 on Android, |
| this metric started recording for instances that were running in the |
| background, even if Chrome had never come to foreground. The bug was fixed |
| in M92, and after that the metric is recorded only after an instance becomes |
| foregrounded at least once. Hence a glitch is visible in the Feb-Aug 2021 |
| data for Android. |
| |
| This histogram is of special interest to the chrome-analysis-team@ and |
| chrome-signin-team@. Do not change its semantics or retire it without |
| talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDurationMax1Day.WithAccount" units="ms" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| The total session duration (see Session.TotalDuration) that was spent with a |
| Google account signed into the content area. |
| |
| The difference between the With(out)Account measurements and the |
| Opted(In/Out)ToSyncWith(out)Account measurements is that these metrics are |
| derived from the user's cookies, not their refresh tokens. |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin |
| status changes. These end-points are when the metric is emitted. For details |
| on how "stopped interacting with the browser" is decided, see the |
| description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| This histogram is of special interest to the chrome-signin-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.TotalDurationMax1Day.WithoutAccount" units="ms" |
| expires_after="never"> |
| <!-- expires-never: guiding metric (internal: go/chrome-browser-guiding-metrics) --> |
| |
| <owner>bsazonov@chromium.org</owner> |
| <owner>droger@chromium.org</owner> |
| <owner>msarda@chromium.org</owner> |
| <owner>treib@chromium.org</owner> |
| <owner>tschumann@chromium.org</owner> |
| <owner>chrome-signin-team@google.com</owner> |
| <summary> |
| The total session duration (see Session.TotalDuration) that was spent |
| without a Google account signed into the content area. |
| |
| The difference between the With(out)Account measurements and the |
| Opted(In/Out)ToSyncWith(out)Account measurements is that these metrics are |
| derived from the user's cookies, not their refresh tokens. |
| |
| This time is measured from when the user starts interacting with the browser |
| until either they stopped interacting with the browser or their signin |
| status changes. These end-points are when the metric is emitted. For details |
| on how "stopped interacting with the browser" is decided, see the |
| description of Session.TotalDuration. |
| |
| Because a duration can end either because the user became inactive or |
| because their status changed, the distribution of individual durations |
| measured are unlikely to be helpful. Instead, please compare total |
| durations. |
| |
| This metric is recorded on Win/Mac/Linux/iOS/Android. |
| |
| One caveat with this metric is that if the user has multiple profiles open |
| at the same time, their session activity will be logged from all the |
| profiles, instead of only from the profile that the user is using at that |
| moment. |
| |
| Note: As part of crbug/1223007, we discovered this histogram was recorded |
| for Guest and System profiles which wasn't intentional. This was fixed in |
| M93. |
| |
| This histogram is of special interest to the chrome-signin-team@. Do not |
| change its semantics or retire it without talking to them first. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebState.CustomWebViewSerializedSize" units="KB" |
| expires_after="2023-10-08"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>ajuma@chromium.org</owner> |
| <summary> |
| The size of the data used to persist each WKWebView's serialized session |
| history. It's recorded every time the WKWebView is serialized, which happens |
| on page loads, tab changes and app backgrounding. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebStates.AllSerializedCertPolicyCachesSize" |
| units="KB" expires_after="2024-03-21"> |
| <owner>ajuma@chromium.org</owner> |
| <owner>justincohen@chromium.org</owner> |
| <summary> |
| The size of all cert policy caches for all open tabs. Recorded when |
| SessionServiceIOS encodes the data, which happens on page loads, tab changes |
| and app backgrounding. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebStates.ArchivedDataWithRootObjectTime" units="ms" |
| expires_after="2023-05-14"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>olivierrobin@chromium.org</owner> |
| <summary> |
| The time needed to convert iOS session webState data into something that can |
| be written to a file. It's recorded every time the file is written to |
| storage, which happens on page loads, tab changes and app backgrounding. The |
| time does not include the file writing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebStates.LoadingTimeOnMainThread" units="ms" |
| expires_after="2024-01-01"> |
| <owner>fedegermi@chromium.org</owner> |
| <owner>sdefresne@chromium.org</owner> |
| <summary> |
| The time spent on the main thread to restore a session as a continuous task. |
| It's recorded every time a session is loaded (which happens on application |
| startup or when the user re-open a recently closed windows on iPad). This |
| includes loading the data from disk as this happens on the main thread. |
| |
| Large values for this histogram is indicative of jank for the user as the |
| main thread is blocked for the duration reported in the histogram in one |
| giant operation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebStates.NativeRestoreSession" enum="BooleanSuccess" |
| expires_after="2023-10-16"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>ajuma@chromium.org</owner> |
| <summary> |
| Records whether generic WKWebView native session restore succeeded in |
| creating navigation items. Recorded each time a generic native session |
| restore is attempted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebStates.NativeRestoreSessionFromCache" |
| enum="BooleanSuccess" expires_after="2023-09-03"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>ajuma@chromium.org</owner> |
| <summary> |
| Records whether WKWebView native session restore from cached data succeeded |
| in creating navigation items. Recorded each time a cached native session |
| restore is attempted. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Session.WebStates.NavigationItem" units="KB" |
| expires_after="2022-07-03"> |
| <owner>djean@chromium.org</owner> |
| <owner>sdefresne@chromium.org</owner> |
| <summary> |
| Recorded when CRWNavigationItemStorage encodes the data, which happens on |
| page loads, tab changes and app backgrounding. Estimated size, the actual |
| size can be larger than recorded number. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebStates.ReadFromFileTime" units="ms" |
| expires_after="2023-09-15"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>rohitrao@chromium.org</owner> |
| <summary> |
| The time needed to read iOS session webState data from a file. It's recorded |
| every time a webState is restored, typically on app startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebStates.SavingTimeOnMainThread" units="ms" |
| expires_after="2024-01-01"> |
| <owner>fedegermi@chromium.org</owner> |
| <owner>sdefresne@chromium.org</owner> |
| <summary> |
| The time spend on the main thread to save a session as a continuous task. |
| It's recorded every time a session is saved (which is scheduled on page |
| loads, tab changes and app backgrounding, but repeating events may be |
| collapsed). This does not include the time spent writing the file on disk |
| (since it is done on a background sequence). |
| |
| Large values for this histogram is indicative of jank for the user as the |
| main thread is blocked for the duration reported in the histogram in one |
| giant operation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebStates.SerializedCertPolicyCacheSize" units="KB" |
| expires_after="2024-03-21"> |
| <owner>ajuma@chromium.org</owner> |
| <owner>justincohen@chromium.org</owner> |
| <summary> |
| The size of a single cert policy cache for one tab. Recorded when |
| CRWNavigationItemStorage encodes the data, which happens on page loads, tab |
| changes and app backgrounding. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebStates.SerializedSize" units="KB" |
| expires_after="2023-10-08"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>rohitrao@chromium.org</owner> |
| <summary> |
| The size of the file used to persist iOS session history. It's recorded |
| every time the file is written to storage, which happens on page loads, tab |
| changes and app backgrounding. |
| </summary> |
| </histogram> |
| |
| <histogram name="Session.WebStates.WriteToFileTime" units="ms" |
| expires_after="2023-09-15"> |
| <owner>justincohen@chromium.org</owner> |
| <owner>rohitrao@chromium.org</owner> |
| <summary> |
| The time needed to write iOS session webState data to a file. It's recorded |
| every time the file is written to storage, which happens on page loads, tab |
| changes and app backgrounding. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionCrashed.Bubble" enum="SessionCrashedBubbleUserAction" |
| expires_after="M77"> |
| <owner>yiyaoliu@chromium.org</owner> |
| <summary>How did the user interact with the SessionCrashed Bubble?</summary> |
| </histogram> |
| |
| <histogram name="SessionRestore.BackgroundUseCaseTabCount.Restored" |
| units="tabs" expires_after="2019-11-30"> |
| <owner>chrisha@chromium.org</owner> |
| <summary> |
| The number of tabs involved in a single session restore that were observed |
| to have historically made use of background communication mechanisms |
| (favicon and tab title changes, notifications, etc). |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionRestore.BackgroundUseCaseTabCount.Total" units="tabs" |
| expires_after="2019-11-30"> |
| <owner>chrisha@chromium.org</owner> |
| <summary> |
| The number of tabs involved in a single session restore that were observed |
| to have historically made use of background communication mechanisms |
| (favicon and tab title changes, notifications, etc) and that were actually |
| loaded. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionRestore.ForegroundTabFirstPaint4" units="ms" |
| expires_after="2024-02-22"> |
| <owner>chrisha@chromium.org</owner> |
| <owner>catan-team@chromium.org</owner> |
| <improvement direction="LOWER_IS_BETTER"/> |
| <summary> |
| The time from SessionRestore start until a restored tab's first paint. |
| Recorded when a restored tab stays visible from the beginning of session |
| restore until its first paint, and no non-restored tab is painted during |
| that time. See SessionRestore.ForegroundTabFirstPaint4.FinishReason for when |
| this is not recorded. |
| |
| Warning: this histogram was expired from 2022-10-23 to 2023-02-22; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionRestore.ForegroundTabFirstPaint4.FinishReason" |
| enum="SessionRestoreFinishReason" expires_after="2022-10-23"> |
| <owner>chrisha@chromium.org</owner> |
| <owner>catan-team@chromium.org</owner> |
| <summary> |
| The reason for which attempt to record |
| SessionRestore.ForegroundTabFirstPaint4 was deemed complete. Logged once per |
| session restore. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionRestore.UnrecoverableWriteErrorCount" |
| units="operations" expires_after="2022-08-07"> |
| <owner>sky@chromium.org</owner> |
| <owner>davidbienvenu@chromium.org</owner> |
| <summary> |
| Recorded when SessionService is shutdown (which generally corresponds to |
| when chrome is shutdown). The count is the number of times a write error |
| happened at a time when it could not immediately be handled. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.CachePurgedInKB" units="KB" |
| expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| Total size of the HTML5 SessionStorage browser-side cache purged in KB when |
| memory pressure signal was triggered or cache size hit the limits. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.CacheSizeInKB" units="KB" |
| expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| Total size of the HTML5 SessionStorage databases in KB in the browser-side |
| cache. Recorded each time a new database is opened in memory. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.CommitResult" enum="LevelDBStatus" |
| expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The result of an attempt to commit SessionStorage data to the database. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.DatabaseOpenError" enum="LevelDBStatus" |
| expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The result of a failed attempt to open a LevelDB database for |
| SessionStorage. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.DatabaseOpenError.Disk" |
| enum="LevelDBStatus" expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The result of a failed attempt to open a LevelDB database for SessionStorage |
| on disk. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.DatabaseOpenError.Memory" |
| enum="LevelDBStatus" expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The result of a failed attempt to open a LevelDB database for SessionStorage |
| in memory. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.DestroyDBResult" enum="LevelDBStatus" |
| expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The result of attempting to delete the SessionStorage database. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.DirectoryOpenError" |
| enum="PlatformFileError" expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The reason opening a directory for the LevelDB database that backs |
| LocalStorage failed. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.OnConnectionDestroyed" enum="Boolean" |
| expires_after="2023-12-01"> |
| <owner>dullweber@chromium.org</owner> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| Recorded when the database connection is closed unexpectedly. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.OpenError" enum="LocalStorageOpenError" |
| expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The reason opening the LevelDB database that backs SessionStorage failed. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="SessionStorageContext.OpenResultAfter" |
| enum="LocalStorageOpenError" expires_after="2023-12-01"> |
| <!-- Name completed by histogram_suffixes name="SessionStorageContextOpenReasons" --> |
| |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The result of opening the LevelDB database that backs SessionStorage. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.ReadNamespacesError" |
| enum="LevelDBStatus" expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The reason reading the namespaces metadata of the SessionStorage database |
| failed. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.ReadNextMapIdError" enum="LevelDBStatus" |
| expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The reason reading the next data map id metadata of the SessionStorage |
| database failed. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageContext.ReadVersionError" enum="LevelDBStatus" |
| expires_after="2023-12-01"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The reason reading the schema version of the SessionStorage database failed. |
| |
| Warning: Histogram expired between M95-M110. Data may be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="SessionStorageDatabase.Open" enum="SessionStorageDatabaseOpen" |
| expires_after="never"> |
| <!-- expires-never: core storage metric; consumed in separate dashboard (go/chrome-storage-dashboard) --> |
| |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The result (success, failure, or database recreated) of trying to open the |
| LevelDB database for sessionStorage. |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |