| <!-- |
| 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 GPU 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="ConfigureDisplays.External.Modeset.AttemptSucceeded" |
| enum="BooleanSuccess" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| Modeset attempt result of an external display. Every time an external |
| display is connected/disconnected, or when the display mode of the external |
| screen is changed by the user, Chrome attempts to modeset the display. This |
| metric tracks the result of those attempts. Resolution and RefreshRate |
| metrics will be recorded for each attempt. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.External.Modeset.FinalStatus" |
| enum="BooleanSuccess" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| Modeset attempt result of an internal display. This is recorded after Chrome |
| attempted all the available modes and finally modeset the display. All the |
| previously attempted modes and refreshes, including the successful one will |
| be recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.External.Modeset.RefreshRate" units="Hz" |
| expires_after="2022-09-01"> |
| <obsolete> |
| Replaced by ConfigureDisplays.External.Modeset.Success.RefreshRate in M103. |
| </obsolete> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| Refresh rate of the mode for the display we're about to modeset. This is |
| recorded every time an external display is connected/disconnected, or when |
| the display mode of the external screen is about to change. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.External.Modeset.Resolution" |
| enum="DisplayResolution" expires_after="2022-09-01"> |
| <obsolete> |
| Split into ConfigureDisplays.External.Modeset.OriginalRequest.Resolution and |
| ConfigureDisplays.External.Modeset.Success.Resolution in M103. |
| </obsolete> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| DisplayResolution of the mode for the external display we're about to |
| modeset. 0 means the display was powered off. This is recorded every time an |
| external display is connected/disconnected, or when the display mode of the |
| external screen is about to change. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.Internal.Modeset.AttemptSucceeded" |
| enum="BooleanSuccess" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| Modeset attempt result of an internal display. Chrome might try additional |
| modes after a failed attempt. Every time an external display is |
| connected/disconnected, or when the display mode of the external screen is |
| changed by the user, Chrome attempts to modeset the display. This metric |
| tracks the result of those attempts. Resolution and RefreshRate metrics will |
| be recorded for each attempt. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.Internal.Modeset.FinalStatus" |
| enum="BooleanSuccess" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| Modeset attempt result of an internal display. This is recorded after Chrome |
| attempted all the available modes and finally modeset the display. All the |
| previously attempted modes and refreshes, including the successful one will |
| be recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.Internal.Modeset.RefreshRate" units="Hz" |
| expires_after="2022-09-01"> |
| <obsolete> |
| Replaced by ConfigureDisplays.Internal.Modeset.Success.RefreshRate in M103. |
| </obsolete> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| Refresh rate of the mode for the display we're about to modeset. This is |
| recorded every time the internal display is powered on/off, or when an |
| external monitor is plugged in. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.Internal.Modeset.Resolution" |
| enum="DisplayResolution" expires_after="2022-09-01"> |
| <obsolete> |
| Split into ConfigureDisplays.Internal.Modeset.OriginalRequest.Resolution and |
| ConfigureDisplays.Internal.Modeset.Success.Resolution in M103. |
| </obsolete> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| DisplayResolution of the mode for the internal display we're about to |
| modeset. 0 means the display was powered off. This is recorded every time |
| the internal display is powered on/off, or when an external monitor is |
| plugged in. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.Modeset.MstExternalDisplaysCount" |
| units="count" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| Total number of external displays connected via MST and being configured. |
| This is recorded every time an external display is connected/disconnected, |
| or when the display mode of a screen is about to change. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.Modeset.MstExternalDisplaysPercentage" |
| units="%" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| Percentage of external displays connected via MST and being configured. This |
| is recorded every time an external display is connected/disconnected, or |
| when the display mode of a screen is about to change. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.Modeset.TotalExternalDisplaysCount" |
| units="count" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| Total number of external displays being configured. This is recorded every |
| time an external display is connected/disconnected, or when the display mode |
| of a screen is about to change. |
| </summary> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.{Connection}.Modeset.Success.RefreshRate" |
| units="Hz" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary> |
| Tracks an {Connection} display's resulting refresh rate after a successful |
| display configuration. |
| </summary> |
| <token key="Connection"> |
| <variant name="External" summary="external"/> |
| <variant name="Internal" summary="internal"/> |
| </token> |
| </histogram> |
| |
| <histogram name="ConfigureDisplays.{Connection}.Modeset.{Report}.Resolution" |
| enum="DisplayResolution" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@chromium.org</owner> |
| <summary>{Connection} {Report}</summary> |
| <token key="Connection"> |
| <variant name="External" summary="Tracks an external display's"/> |
| <variant name="Internal" summary="Tracks an internal display's"/> |
| </token> |
| <token key="Report"> |
| <variant name="OriginalRequest" |
| summary="original resolution request during display configuration."/> |
| <variant name="Success" |
| summary="resulting resolution after a successful display |
| configuration."/> |
| </token> |
| </histogram> |
| |
| <histogram name="Display.External.BlockZeroSerialNumberType" |
| enum="BlockZeroSerialNumberType" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@google.com</owner> |
| <summary> |
| The type of serial number retrieved from block zero of a display's EDID |
| during EDID parsing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Display.External.NumOfSerialNumbersProvided" units="count" |
| expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@google.com</owner> |
| <summary> |
| The number of serial numbers provided in an EDID (i.e. via block zero and/or |
| the serial number descriptor block). Values should be in the range of 0-2. |
| </summary> |
| </histogram> |
| |
| <histogram name="Display.External.ParseEdidOptionals" enum="ParseEdidOptionals" |
| expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@google.com</owner> |
| <summary> |
| The availability (or lack thereof) of tracked optional fields during EDID |
| parsing of external. |
| </summary> |
| </histogram> |
| |
| <histogram name="Display.MultipleDisplays.GenerateId.CollisionDetection" |
| enum="BooleanDisplayIdCollision" expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@google.com</owner> |
| <summary> |
| Whether or not multiple connected displays produced identical display IDs |
| due to incomplete EDIDs. This may occur when identical displays (same make |
| and model) lack serial numbers in both the EDID's block zero or S/N |
| descriptor block. Recorded every time Chrome OS detects a change in display |
| configuration and attempts to get an updated list of available displays. |
| </summary> |
| </histogram> |
| |
| <histogram name="Display.ParseEdidFailure" enum="ParseEdidFailure" |
| expires_after="2023-05-01"> |
| <owner>gildekel@chromium.org</owner> |
| <owner>sashamcintosh@chromium.org</owner> |
| <owner>seanpaul@chromium.org</owner> |
| <owner>chromeos-gfx-display@google.com</owner> |
| <summary> |
| Type of failure that occurs during EDID parsing. Typically the failure is |
| caused by a mismatch between the EDID size and the expected offset of the |
| data component. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.AcceleratedSurfaceRefreshRate" units="hz" |
| expires_after="M97"> |
| <owner>vmiura@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Refresh rate of the display in Hz. This is recorded every time we present a |
| frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ANGLE.Buffer11CPUMemoryMB" units="MB" |
| expires_after="2020-05-10"> |
| <owner>cwallez@chromium.org</owner> |
| <summary> |
| The sum of the size of the CPU-side memory allocations of Buffer11's copies |
| (vs. GPU memory allocations). These allocations are used when modifying the |
| buffer data on the CPU or when transfering to GPU memory via DMA. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ANGLE.D3D11CreateDeviceError" enum="Hresult" |
| expires_after="2023-05-14"> |
| <owner>jonahr@google.com</owner> |
| <owner>angle-team@google.com</owner> |
| <summary> |
| An extended Windows error code returned from D3D11CreateDevice on error when |
| ANGLE's D3D backend is in use. Can be almost any valid HRESULT or DXGI error |
| code, which are listed at |
| https://msdn.microsoft.com/en-us/library/windows/desktop/bb509553.aspx. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ANGLE.D3D11FeatureLevel" enum="D3DFeatureLevel" |
| expires_after="2023-05-07"> |
| <owner>jonahr@google.com</owner> |
| <owner>angle-team@google.com</owner> |
| <summary> |
| The maxmium supported (or currently requested) Direct3D feature level in |
| D3D11 ANGLE. We support as low as 9.3, and as high as 11.1, though Chrome |
| should only use 10.0+ for D3D11. Gives an indication of how new a user's |
| video card is, what features it supports, and it's general speed tier. |
| Recorded on D3D device initialization, loss, or reset when ANGLE's D3D |
| backend is in use. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ANGLE.D3D11InitializeResult" enum="D3D11InitializeResult" |
| expires_after="2023-03-05"> |
| <owner>jonahr@google.com</owner> |
| <owner>angle-team@google.com</owner> |
| <summary> |
| The result from initializing a D3D11 device in ANGLE. Can be success, or one |
| of several error codes which indicate different reasons for failing. |
| Recorded on D3D11 device initialization when ANGLE's D3D backend is in use. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ANGLE.D3D9InitializeResult" enum="D3D9InitializeResult" |
| expires_after="2023-05-07"> |
| <owner>jonahr@google.com</owner> |
| <owner>angle-team@google.com</owner> |
| <summary> |
| The result from initializing a D3D9 device in ANGLE. Can be success, or one |
| of several error codes which indicate different reasons for failing. |
| Recorded on D3D9 device initialization when ANGLE's D3D backend is in use. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ANGLE.SupportsDXGI1_2" enum="BooleanSupported" |
| expires_after="2023-01-01"> |
| <owner>jonahr@google.com</owner> |
| <owner>angle-team@google.com</owner> |
| <summary> |
| Windows computers running Windows 8+, or running Windows 7 with a platform |
| update, support the newer version of DXGI. This update also indicates the |
| computer is capable of running Direct3D 11.1 if the hardware supports it. |
| Recorded on D3D11 device initialization when ANGLE's D3D backend is in use. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.AppHelpIsLoaded" enum="Boolean" expires_after="2023-04-23"> |
| <owner>zmo@chromium.org</owner> |
| <owner>spvw@chromium.org</owner> |
| <owner>chrome-catan@google.com</owner> |
| <summary> |
| Records whether AppHelp.dll is loaded at GPU initialization. Only recorded |
| on Windows platform at GPU process launch time. |
| |
| It is not yet known what exactly is triggering the load of AppHelp.dll, and |
| so we can't be sure that AppHelp.dll won't be loaded after this is |
| collected, even if this metric is false. |
| |
| A bug tracking metric collection related to the application compatibility |
| layer can be found at crbug.com/1357617. |
| |
| Part of a performance investigation that Catan is doing into GPU startup |
| time. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.BlocklistFeatureTestResults" |
| enum="GPUBlocklistFeatureTestResults" expires_after="2023-03-05"> |
| <owner>vmiura@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Counts number of browser invocations for which a GPU feature is |
| allowed/blocklisted/disabled. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.BlocklistTestResultsPerEntry" |
| enum="GPUBlocklistTestResultPerEntry" expires_after="2022-07-03"> |
| <owner>vmiura@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Counts number of browser invocations for which the GPU process is blocked |
| due to a blocklist entry match. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.CanvasOopRaster.OopRasterAndGpuAcceleration" |
| enum="CanvasOopRasterAndGpuAcceleration" expires_after="2023-05-07"> |
| <owner>vasilyt@chromium.org</owner> |
| <owner>nazabris@microsoft.com</owner> |
| <owner>jochin@microsoft.com</owner> |
| <summary> |
| Records, during GPU process initialization, the combination of the following |
| two features being enabled/disabled: 1) Accelerated 2D Canvas 2) OOP |
| Rasterization of Canvas. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.CompositingMode" enum="CompositingMode" |
| expires_after="never"> |
| <owner>kylechar@chromium.org</owner> |
| <summary> |
| Records what compositing mode (software, GL, etc.) Chrome is using every |
| five minutes. This is the default compositing mode that most windows will |
| use. There are some window types (eg. menus on some platforms) that always |
| use software compositing and ignore the default. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ContextLost" enum="ContextLostReason" |
| expires_after="2023-04-23"> |
| <owner>sievers@chromium.org</owner> |
| <summary> |
| The reason a GPU command buffer context of a given type was lost. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.D3D11_B8G8R8A8_RenderTargetSupport" enum="BooleanSuccess" |
| expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary>Whether D3D11 supports B8G8R8A8 format for render targets.</summary> |
| </histogram> |
| |
| <histogram name="GPU.D3D11_B8G8R8A8_Texture2DSupport" enum="BooleanSuccess" |
| expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary>Whether D3D11 supports B8G8R8A8 format for 2D textures.</summary> |
| </histogram> |
| |
| <histogram name="GPU.D3D11FeatureLevel" enum="D3D11FeatureLevel" |
| expires_after="2023-04-16"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Records the highest D3D_FEATURE_LEVEL available, collected in the info |
| collection GPU process, once per UMA ping. This is Windows platform only. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.D3D12FeatureLevel" enum="D3D12FeatureLevel" |
| expires_after="2023-04-16"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| The maximum D3D12 feature level supported in the gpu drivers. It is recorded |
| in the browser process 120 seconds after the browser launch. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.D3D12HighestShaderModel2" enum="D3DShaderModel" |
| expires_after="2023-04-16"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <owner>amaiorano@google.com</owner> |
| <summary> |
| The maximum supported D3D shader model version on a D3D12 device. It is |
| recorded in the browser process 120 seconds after the browser launch. Note |
| that the "2" suffix was added when a fix was made in how this stat |
| is collected: the previous unsuffixed version would store |
| "unknown/unsupported" on systems that supported shader model 5.1 |
| to 6.5, but were unaware of 6.6. The suffixed version correctly stores the |
| highest supported shader model. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.D3DShaderModel" enum="ShaderModel" |
| expires_after="2023-05-07"> |
| <owner>jonahr@google.com</owner> |
| <owner>angle-team@google.com</owner> |
| <summary> |
| ANGLE's currently active D3D shader model version. Logged once every startup |
| of the GPU process, on Windows only. Note that Shader Models 2 and 3 map to |
| D3D9 with ANGLE, and 4+ map to D3D11 ANGLE. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.ApprovedPresentDuration" units="ms" |
| expires_after="2022-01-03"> |
| <owner>sunnyps@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| If the system approves a swap chain's custom present duration request, this |
| is the approved custom present duration. If the swap chain's custom present |
| duration request is not approved, this is zero. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.CompositionMode2.VideoOrCanvas" |
| enum="DxgiFramePresentationMode" expires_after="2023-05-22"> |
| <owner>sunnyps@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| How the Desktop Window Manager presented Chrome's DirectComposition layers |
| of video or canvas elements to the screen. Only recorded on Windows. NOTE: |
| This metric was expired and not collecting data between 2021-12-31 and |
| crrev.com/c/4041850 (M110). |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.CreateSwapChainForComposition" |
| enum="Hresult" expires_after="2023-04-01"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| HRESULT return value of IDXGIFactory2::CreateSwapChainForComposition. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.DCLayer.YUVOverlayCount" |
| units="overlays" expires_after="2023-05-07"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| The number of YUV overlays we are going to present in each frame if the |
| number is not 0. Recorded when the overlay processor is called for drawing a |
| frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.DCLayerResult.StreamVideo" |
| enum="DCLayerResult" expires_after="2021-12-12"> |
| <owner>sunnyps@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| Recorded for each stream video quad (on overlay processing) the reason it |
| was or wasn't put in an overlay. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.DCLayerResult.Texture" |
| enum="DCLayerResult" expires_after="2023-06-15"> |
| <owner>sunnyps@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| Recorded for each texture quad (on overlay processing) the reason it was or |
| wasn't put in an overlay. (This metric might be lack of coverage between |
| 2022-05-01 and 2022-06-24 due to metric expiration.) |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="GPU.DirectComposition.DCLayerResult.Video" |
| enum="DCLayerResult" expires_after="2023-03-26"> |
| <!-- Name completed by histogram_suffixes name="GPU.ProtectedVideoType" --> |
| |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| Recorded for each quad (on overlay processing) with protected video type the |
| reason it was or wasn't put in an overlay. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.DcompDeviceCreateSurface" enum="Hresult" |
| expires_after="2023-04-01"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| HRESULT return value of IDCompositionDevice2::CreateSurface. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.HardwareOverlaysSupported" |
| enum="BooleanOverlaySupported" expires_after="2023-04-16"> |
| <owner>magchen@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| True if the GPU driver supports hardware overlays. Recorded during Chrome |
| GPU initialization and each time the overlay caps change. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.IsUnderlay" enum="BooleanUnderlay" |
| expires_after="2023-06-15"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| Recorded for each video quad during the video playback whether it is an |
| underlay or an overlay. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.NumPendingFrames" units="frames" |
| expires_after="2020-10-11"> |
| <owner>sunnyps@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| Number of presented frames for which presentation queries haven't completed. |
| Recorded on each vblank. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.OverlayFormatUsed3" enum="DXGI_FORMAT" |
| expires_after="2023-06-15"> |
| <owner>sunnyps@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <owner>magchen@chromium.org</owner> |
| <summary> |
| Which overlay format was chosen for YUV overlays. Recorded once per GPU |
| process launch only if hardware overlays are supported. (Might be lack of |
| metrics coverage between 2022-05-01 and 2022-06-24 due to metric |
| expiration.) |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.OverlaysSupported" |
| enum="BooleanOverlaySupported" expires_after="2023-06-15"> |
| <owner>sunnyps@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <owner>magchen@chromium.org</owner> |
| <summary> |
| True if Chrome will try to use DirectComposition overlays. (Might be lack of |
| metrics coverage between 2021-10-04 and 2022-06-24 due to metric |
| expiration.) |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="GPU.DirectComposition.SwapChainCreationResult3" |
| enum="Hresult" expires_after="2023-04-16"> |
| <!-- Name completed by histogram_suffixes name="GPU.ProtectedVideoType" --> |
| |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| Whether creating swap chain for protected video succeeded. Recorded once per |
| swap chain creation. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.SwapChainFormat3" enum="DXGI_FORMAT" |
| expires_after="2023-06-15"> |
| <owner>sunnyps@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <owner>magchen@chromium.org</owner> |
| <summary> |
| What format was used for each overlay swap chain on each swap buffers. |
| (Might be lack of metrics coverage between 2020-12-31 and 2022-06-24 due to |
| metric expiration.) |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DirectComposition.VideoPresentationMode" |
| enum="DirectCompositionVideoPresentationMode" expires_after="2023-06-15"> |
| <owner>sunnyps@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <owner>magchen@chromium.org</owner> |
| <summary> |
| What code path was used to present a video frame. Recorded on each present. |
| (Might be lack of metrics coverage between 2022-03-06 and 2022-06-24 due to |
| metric expiration.) |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.DriverBugTestResultsPerEntry" |
| enum="GpuDriverBugWorkaroundEntry" expires_after="never"> |
| <!-- expires-never: For monitoring new driver bugs. --> |
| |
| <owner>vmiura@chromium.org</owner> |
| <owner>kbr@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| For every entry in the gpu driver bug list that is hit on a machine, this |
| records the id. Entry 0 is the total number of times that data is recorded. |
| It should be recorded whenever new GPU information is received: on startup, |
| whenever a GPU process launches, and whenever the active GPU changes. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.EGLDisplayType" enum="EGLDisplayType" |
| expires_after="2023-04-23"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary>The display type used to ask for an EGLDisplay.</summary> |
| </histogram> |
| |
| <histogram name="GPU.EnsureWorkVisibleDuration" units="microseconds" |
| expires_after="2023-02-12"> |
| <owner>alemate@chromium.org</owner> |
| <owner>magchen@chromium.org</owner> |
| <owner>oshima@chromium.org</owner> |
| <summary> |
| Records the duration of EnsureWorkVisible GPU call. Since it's blocking UI |
| thread we want to measure it, and this histogram must be active as long as |
| this call is still blocking. |
| |
| Warning: This metric may include reports from clients with low-resolution |
| clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports |
| will cause this metric to have an abnormal distribution. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.EnsureWorkVisibleDurationLowRes" units="ms" |
| expires_after="2023-02-12"> |
| <owner>alemate@chromium.org</owner> |
| <owner>magchen@chromium.org</owner> |
| <owner>oshima@chromium.org</owner> |
| <summary> |
| Records the duration of EnsureWorkVisible GPU call. Since it's blocking UI |
| thread we want to measure it, and this histogram must be active as long as |
| this call is still blocking. |
| |
| This is a sister histogram to GPU.EnsureWorkVisibleDuration. The former is |
| our target goal. However it's custom buckets do not have enough granularity |
| to measure improvement steps. This metric will instead cap at 5s, and allow |
| the buckets to give us better visibility into the 15ms-250ms interval |
| ranges. We will use this one until we improve the blocking call. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Error" enum="GLError" expires_after="2020-06-28"> |
| <owner>zmo@chromium.org</owner> |
| <owner>vmiura@chromium.org</owner> |
| <summary>The error states generated by OpenGL calls.</summary> |
| </histogram> |
| |
| <histogram name="GPU.EstablishGpuChannelSyncTime" units="ms" |
| expires_after="2023-03-26"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>jam@chromium.org</owner> |
| <summary> |
| Measures the time it takes to synchronously establish the GPU channel. |
| Logged every time a sync call to EstableGpuChannelSync is made and a channel |
| is not already available. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.GL.GetErrorDuration.GLImageEGL.BindTexImage" |
| units="microseconds" expires_after="2022-03-31"> |
| <owner>berlu@chromium.org</owner> |
| <owner>chromeos-gfx-compositor@google.com</owner> |
| <summary> |
| The time that elapsed for a call to glGetError to complete while trying to |
| bind a GLImageEGL to a texture. The goal is to measure the impact of the |
| potential sync barrier that glGetError represents. Only reported for |
| platforms supporting high resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.GL.GetErrorResult.GLImageEGL.BindTexImage" |
| enum="BooleanError" expires_after="2022-03-31"> |
| <owner>berlu@chromium.org</owner> |
| <owner>chromeos-gfx-compositor@google.com</owner> |
| <summary> |
| Whether glGetError actually returned an error while trying to bind a |
| GLImageEGL to a texture. The goal is to evaluate how often the call to |
| glGetError might actually serve its purpose. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.GL.ProgramBuildTime" units="ms" expires_after="M82"> |
| <owner>ccameron@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| The time that elapsed between a call to glCreateProgram and the call to |
| query GL_LINK_STATUS via glGetProgramiv in Skia's GrGLInterface. This |
| encompasses the creation of the vertex, fragment, and geometry shaders, |
| their compilation, and their linking. This is called for every program |
| created by Skia via the GrGLInterface. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.GLES2DecoderImplLazyBindingCheck.WasBindNecessary" |
| units="Boolean" expires_after="2023-03-19"> |
| <owner>blundell@chromium.org</owner> |
| <owner>vasilyt@chromium.org</owner> |
| <summary> |
| For each lazy binding check of GLImage performed by GLES2DecoderImpl, |
| records whether binding was actually necessary or not. Used in the effort to |
| eliminate these lazy binding checks (crbug.com/1323341). |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="GPU.GLES2DecoderPassthroughImplLazyBindingCheck.WasBindNecessary" |
| units="Boolean" expires_after="2023-03-19"> |
| <owner>blundell@chromium.org</owner> |
| <owner>vasilyt@chromium.org</owner> |
| <summary> |
| For each lazy binding check of GLImage performed by |
| GLES2DecoderPassthroughImpl, records whether binding was actually necessary |
| or not. Used in the effort to eliminate these lazy binding checks |
| (crbug.com/1323341). |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.GLImplementation" enum="GLImplementation" |
| expires_after="2023-05-07"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| Records the OpenGL implementation mode. Recorded during GPU process |
| initilization. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.GpuCount" units="gpus" expires_after="2023-04-16"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| The number of GPUs a device has, excluding software renderers. Recorded when |
| GPU process launches and sends GPUInfo to browser process. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.GPUInitializationTime.V3" units="ms" |
| expires_after="2023-03-19"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| The time between the GPU process starts and the GPU Info is collected at GPU |
| process startup and recorded in browser process when this piece info is sent |
| back to browser process. The range is between 5ms and 5s. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.GPUInitializationTime.V4" units="ms" |
| expires_after="2023-04-09"> |
| <owner>zmo@chromium.org</owner> |
| <owner>spvw@chromium.org</owner> |
| <summary> |
| The time between the GPU process start and the collection of GPU info during |
| the process's startup phase. The time range is between 5ms and 90s. Emitted |
| after the collection of GPU info. Reported for all clients. |
| |
| This metric is similar to GPU.GPUInitializationTime.V3, but there are two |
| main differences. First, the range for GPU.GPUInitializationTime.V4 is |
| capped at 90s while the range of the other metric is capped at 5s. Second, |
| this metric is emitted earlier in the execution because this metric is |
| recorded at the same time as trace events which require the timestamp |
| marking the start and end of the GPU initialization to be in scope, whereas |
| V3 only requires the time spent. |
| |
| The purpose of this metric is to investigate the long tail of GPU startup |
| time. See crbug/1350257. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.GPUProcessExitCode" enum="GPUProcessExitCode" |
| expires_after="2023-05-07"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Counts for the exit codes returned by the GPU process when it terminated. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.GPUProcessInitialized" enum="BooleanSuccess" |
| expires_after="2021-01-03"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| Whether the GPU process successfully initialized or failed and then exitted |
| normally. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.GPUProcessLaunchTime" units="ms" |
| expires_after="2023-05-07"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| Startup time of the GPU process as measured by the GPU process host. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.GPUProcessTerminationOrigin" enum="GpuTerminationOrigin" |
| expires_after="2023-05-29"> |
| <owner>kbr@chromium.org</owner> |
| <owner>rjkroege@chromium.org</owner> |
| <owner>msisov@igalia.com</owner> |
| <summary> |
| The reason a GPU process is terminated. It works only when |
| TERMINATION_STATUS_PROCESS_WAS_KILLED TerminationStatus is set. The goal of |
| this histogram is to get spikes of the above mentioned case when |
| Ozone/Wayland terminates the GPU process due to invalid data it received if |
| any. NOTE: this metric was expired from 2019-08-14 to crrev.com/c/4040947. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.GPUProcessTerminationStatus2" enum="GpuTerminationStatus" |
| expires_after="2023-05-07"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| Counts for each time the GPU Process Host detects the process dies. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.HardwareAccelerationModeEnabled" enum="BooleanEnabled" |
| expires_after="2023-04-09"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Records if GPU hardware acceleration is explicitly disabled by the user. |
| Recorded when the browser process launches. |
| |
| Warning: this histogram was expired from 2022-01-30 to 2022-04-29; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.HasDiscreteGpu" enum="HasDiscreteGpu" |
| expires_after="2023-04-24"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Records whether the system has a discrete GPU, collected in the info |
| collection GPU process, once per UMA ping. This is Windows platform only. |
| |
| Warning: this histogram was expired from 2020-04-24 to 2022-04-29; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.InitializeOneOffMediumTime" units="ms" |
| expires_after="2023-05-07"> |
| <owner>jonahr@google.com</owner> |
| <owner>angle-team@google.com</owner> |
| <summary> |
| The time that the GPU process spends in initializing the GL surface, and |
| collecting graphics information. Records times up to three minutes. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.IntelGpuGeneration" enum="IntelGpuGeneration" |
| expires_after="2023-04-23"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Records the highest Intel GPU generation of the system using the GPU info |
| collected at GPU process startup time, once per UMA ping. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.IntelGpuSeriesType" enum="IntelGpuSeriesType" |
| expires_after="2023-04-23"> |
| <owner>sunnyps@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| Records user device's GPU series type. Only recorded on Windows platform at |
| GPU process launch time. Only meaningful with Intel GPUs. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.IOSurface.CATransactionTimeUs" units="microseconds" |
| expires_after="2023-04-16"> |
| <owner>magchen@chromium.org</owner> |
| <owner>ccameron@chromium.org</owner> |
| <summary> |
| The time that it took to update the CALayer tree and commit the transaction. |
| This is often affected by IOSurface paging. This metric is only collected on |
| Mac, which only has high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.IOSurface.CreateTime" units="ms" |
| expires_after="2022-07-03"> |
| <owner>ccameron@chromium.org</owner> |
| <summary> |
| The time that it took for a call to IOSurfaceCreate to complete. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.IOSurface.GLFlushTime" units="ms" expires_after="M85"> |
| <owner>ccameron@chromium.org</owner> |
| <summary> |
| The time that it took for a call to glFlush to complete. This is often |
| affected by IOSurface paging. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.IOSurface.TexImageTime" units="ms" |
| expires_after="2022-07-03"> |
| <owner>ccameron@chromium.org</owner> |
| <summary> |
| The time that it took for a call to CGLTexImageIOSurface2D to complete. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.Mac.BackpressureUs" units="microseconds" |
| expires_after="2023-04-16"> |
| <owner>magchen@chromium.org</owner> |
| <owner>ccameron@chromium.org</owner> |
| <summary> |
| The time that the GPU's main CPU thread spends waiting for previous frames' |
| GPU work to complete. Recorded at every frame. This metric is only collected |
| on Mac, which only has high-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.MaxMSAASampleCount" units="samples" |
| expires_after="2020-07-06"> |
| <owner>senorblanco@chromium.org</owner> |
| <summary> |
| The maximum number of multisampled anti-aliasing (MSAA) samples per pixel |
| that the user's GPU can render. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.Metal.ReadWriteTextureSupport" |
| enum="MetalReadWriteTextureSupportTier" expires_after="2023-04-16"> |
| <owner>cwallez@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Read-write textures are not always supported on Metal. This histograms is |
| meant to gather information so that the WebGPU W3C group can decide whether |
| to require support for this feature. The reported tier is the best tier that |
| was found on the system. Meaning that if only one of the GPUs support |
| read-write textures, a non-zero tier will be reported. The histogram is |
| recorded at GPU process startup time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.Metal.TestShaderCompileTime" units="ms" |
| expires_after="M85"> |
| <owner>ccameron@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Compiling a MTLLibrary will sometimes hang forever. When initializing the |
| gpu process, a test shader is compiled to see if the MTLCompilerService is |
| responding or not. This records the time that it took for the compile to |
| succeeded, up to 1 minute. After 1 minute, a timeout sentinel value of 3 |
| minutes is reported. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.Metal.TestShaderLinkTime" units="ms" expires_after="M85"> |
| <owner>ccameron@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Linking a MTLRenderPipelineState will sometimes hang forever. When |
| initializing the GPU process, a test shader is compiled to see if the |
| MTLCompilerService is responding or not. This records the time that it took |
| for the compile to succeeded, up to 1 minute. After 1 minute, a timeout |
| sentinel value of 3 minutes is reported. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.MetalProxy.NewLibraryTime" units="ms" expires_after="M82"> |
| <owner>ccameron@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| The time that it takes to create a new MTLLibrary, including all retries. |
| Recorded after every call to -[MTLDeviceProxy newLibraryWithSource:] |
| completes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.MetalProxy.NewRenderPipelineStateTime" units="ms" |
| expires_after="M82"> |
| <owner>ccameron@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| The time that it takes to create a new MTLRenderPipelineState, including all |
| retries. Recorded after every call to -[MTLDeviceProxy |
| newRenderPipelineStateWithDescriptor:] completes. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.MultiGpu.AMD" enum="AMDDeviceId" |
| expires_after="2023-01-01"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| AMD device IDs from multi-gpu devices. Recorded when GPU process launches |
| and sends GPUInfo to browser process. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.MultiGpu.Nvidia" enum="NvidiaDeviceId" |
| expires_after="2023-04-16"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Nvidia device IDs from multi-gpu devices. Recorded when GPU process launches |
| and sends GPUInfo to browser process. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.MultipleSwapsDelta" units="%" expires_after="2023-03-19"> |
| <owner>jonross@chromium.org</owner> |
| <owner>chrome-gpu-metrics@google.com</owner> |
| <summary> |
| Time delta between swaps, when there are multiple successful swaps in the |
| same vsync. The delta is reported as a percentage of vsync interval. This |
| can be recorded every time we present a frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.OopRaster.GlyphCacheMiss" |
| enum="OopRasterGlyphCacheMissType" expires_after="2023-04-23"> |
| <owner>khushalsagar@chromium.org</owner> |
| <owner>penghuang@chromium.org</owner> |
| <summary> |
| During OutOfProcess(Oop) raster, the renderer generates and sends the |
| requisite glyph data for rasterizing a tile with the serialized paint |
| commands. If the data for any glyph is missing, the GPU process attempts to |
| use a fallback glyph from the cache. This records each time we encounter a |
| cache miss on the GPU and whether we could use a fallback. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Output.HDR" enum="Boolean" expires_after="2023-04-24"> |
| <owner>hubbe@chromium.org</owner> |
| <owner>cassew@chromium.org</owner> |
| <owner>media-dev@chromium.org</owner> |
| <summary> |
| Records if any connected monitor is HDR capable. Recorded when the gpu |
| process starts. Only recorded on Windows as of M-61. If monitor enumeration |
| fails, this metric will not be provided. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.OutputSurface.ScheduleOverlaysUs" units="microseconds" |
| expires_after="2023-04-16"> |
| <owner>magchen@chromium.org</owner> |
| <owner>ccameron@chromium.org</owner> |
| <summary> |
| The time that the GPU's main CPU thread spends producing pending CALayer |
| tree on Mac. Recorded when Skia output surface schedules overlays at every |
| frame. This metric is only collected on Mac, which only has high-resolution |
| clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.PaintOpReader.DeserializationError" |
| enum="PaintOpDeserializationError" expires_after="2023-01-22"> |
| <owner>junov@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Records the reason why the deserialization of a PaintOp failed. Recorded in |
| PaintOpReader::Read* methods when the decoding a paint op fails. These |
| failures are typically caused by an invalid or unexpected state or invalid |
| serialized data. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.PassthroughDoLinkProgramTime" units="ms" |
| expires_after="2023-04-09"> |
| <owner>jonahr@google.com</owner> |
| <owner>angle-team@google.com</owner> |
| <summary> |
| The time we spend in GLES2DecoderPassthroughImpl::DoLinkProgram. Related to |
| how much time we spend compiling shaders during startup. Expired in June |
| 2022, and revived in M106. Data may be incomplete for the period during |
| which the histogram was expired. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ProcessLifetimeEvents.HardwareAccelerated" |
| enum="GPUProcessLifetimeEvent" expires_after="2023-04-30"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| Recorded once for every GPU process launch and crash when GPU process is |
| started for hardware accelerated GPU compositing and/or WebGL. Crash buckets |
| are based on crash count for disabling features. With OOP-D enabled the |
| display compositor also runs in the GPU process. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ProcessLifetimeEvents.SwiftShader" |
| enum="GPUProcessLifetimeEvent" expires_after="2023-04-30"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| Recorded once for every GPU process launch and crash when GPU process is |
| started for SwiftShader WebGL. Crash buckets are based on crash count for |
| disabling features. With OOP-D enabled the display compositor with software |
| compositing will also run as part of the GPU process. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ProgramCache.CacheHit" enum="BooleanSuccess" |
| expires_after="2023-01-01"> |
| <owner>jonahr@google.com</owner> |
| <owner>angle-team@google.com</owner> |
| <summary> |
| If a successfully linked program was found in the GPU program cache during a |
| program link call. Expired in June 2022, and revived in M106. Data may be |
| incomplete for the period during which the histogram was expired. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ProgramCache.CompilationCacheHitTime" units="microseconds" |
| expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| The time to check the program cache that we've already compiled the shader. |
| |
| Warning: This metric may include reports from clients with low-resolution |
| clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports |
| will cause this metric to have an abnormal distribution. When considering |
| revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the |
| solution. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ProgramCache.CompilationCacheMissTime" |
| units="microseconds" expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| The time to compile a shader. |
| |
| Warning: This metric may include reports from clients with low-resolution |
| clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports |
| will cause this metric to have an abnormal distribution. When considering |
| revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the |
| solution. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.Rasterization.Raster.MSAASampleCountLog2" units="count" |
| expires_after="2023-03-26"> |
| <owner>penghuang@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| log2() of MSAA sample count of a raster task. Value is in [log2(1),log2(64)] |
| or [0,6] range. If log2() of the MSAA sample count is 0 (MSAA sample count |
| is 1), it means MSAA is disabled. |
| </summary> |
| </histogram> |
| |
| <histogram name="Gpu.Rasterization.Raster.NumPaintOps" units="count" |
| expires_after="2023-03-26"> |
| <owner>penghuang@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary>Number of paint ops in a raster task.</summary> |
| </histogram> |
| |
| <histogram name="Gpu.Rasterization.Raster.NumSlowPathsUpToMinForMSAA" |
| units="count" expires_after="2022-11-20"> |
| <owner>penghuang@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Number of slow paths in a raster task. (Only counts up to the minimum |
| required for MSAA) |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.ReportOnlyModeStatusAtHang" enum="BooleanEnabled" |
| expires_after="2023-04-23"> |
| <owner>spvw@chromium.org</owner> |
| <owner>chrome-catan@google.com</owner> |
| <summary> |
| Records whether report only mode is enabled at GPU process watchdog hang |
| time. Currently, we are not seeing any of the hangs/crashes reported by |
| report-only mode, despite the experiment rolling out. |
| |
| General Catan investigation: https://crbug.com/1350257 |
| |
| Report only feature: https://crbug.com/1356196 |
| |
| Part of a performance investigation that Catan is doing into GPU startup |
| time. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Scheduler.TaskDependencyTime" units="microseconds" |
| expires_after="2022-08-07"> |
| <owner>berlu@chromium.org</owner> |
| <owner>chrome-gpu-metrics@google.com</owner> |
| <summary> |
| Records the wall time taken spent by each GPU scheduler task waiting on it's |
| dependencies to resolve. The time delta starts when the waiting fence is |
| added and finishes when the last fence is removed. Only recorded for clients |
| with high resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Scheduler.TaskSchedulingDelayTime" units="microseconds" |
| expires_after="2022-12-11"> |
| <owner>berlu@chromium.org</owner> |
| <owner>chrome-gpu-metrics@google.com</owner> |
| <summary> |
| Records the wall time taken spent by each GPU scheduler task waiting on to |
| be scheduled once all its dependencies have been resolved. The time delta |
| starts when the last waiting fence is passed and stops when the tasks starts |
| running. If the schedulers is working properly, for a high priority task, |
| this metric should be minimal. Only recorded for clients with high |
| resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Scheduler.ThreadSuspendedTime" units="microseconds" |
| expires_after="2022-12-11"> |
| <owner>berlu@chromium.org</owner> |
| <owner>chrome-gpu-metrics@google.com</owner> |
| <summary> |
| Records the wall time taken between calls to schedule the task run and the |
| actual run of the task. Ideally this should always be as close to 0 as |
| possible. Only recorded for clients with high resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.setIsAcceleratedCompositingActive" |
| enum="GPUsetIsAcceleratedCompositingActive" expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| Counts activation and deactivation of accelerated compositing. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.SharedImage.ContentConsumed" enum="BooleanMatched" |
| expires_after="2023-02-01"> |
| <owner>penghuang@chromium.org</owner> |
| <owner>backer@chromium.org</owner> |
| <summary> |
| Whether or not the content of a SharedImage is consumed. False indicates the |
| content of a SharedImage is never used due to destroying the SharedImage or |
| writing new content to it before using it. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.SoftwareRendering" enum="BooleanSoftwareRendering" |
| expires_after="2023-05-07"> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Collects whether Chrome uses software renderer or hardware GPU 20 seconds |
| after Chrome starts, and records this value once per UMA ping. This value is |
| not re-collected at each recording time because GPU process could crash for |
| various reasons and fall back to software rendering. This value is intended |
| to reflect device capabilities rather than the current state. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Stage3DFieldTrial" enum="BooleanEnabled" |
| expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| Records whether a client was selected for the Stage3D on XP field trial or |
| not. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.SupportsDisableMsaa" enum="BooleanSupported" |
| expires_after="2023-03-19"> |
| <owner>vasilyt@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| This metric records if we had support for non-aa draws with hardware MSAA |
| via GL_EXT_multisample_compatibility. Recorded once for each raster task |
| that had non-aa draw. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.SupportsDX12" enum="BooleanSupported" |
| expires_after="2023-04-23"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| This metric shows whether the GPU supports D3D12. It is recorded in the |
| browser process 120 seconds after the browser launch. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.SurfaceOwner.AImageReader.AcquireImageResult" |
| enum="MediaStatus" expires_after="2018-11-25"> |
| <owner>vikassoni@chromium.org</owner> |
| <summary> |
| Counts the error code which is returned when AImageReader api call |
| acquireLatestImageAsync fails. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.SwapTimeUs" units="microseconds" |
| expires_after="2022-12-11"> |
| <owner>vasilyt@chromium.org</owner> |
| <owner>backer@chromium.org</owner> |
| <summary> |
| This is logged once per frame if the output surface provides timing |
| information. It measures the time of SwapBuffers call. Only reported when |
| there is single surface swap in the same vsync interval. Only reported for |
| platforms supporting high resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Vulkan.PipelineCache.LoadCacheHit" enum="BooleanCacheHit" |
| expires_after="2022-05-08"> |
| <owner>backer@chromium.org</owner> |
| <owner>penghuang@chromium.org</owner> |
| <owner>vasilyt@chromium.org</owner> |
| <summary> |
| Shows if we had a vkPipelineCache entry in cache when skia requested it. |
| Recorded each time skia loads vkPipelineCache entry from the GrShaderCache. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Vulkan.PipelineCache.PopulatedCacheUsage" |
| enum="VkPipelinePopulatedCacheEntryUsage" expires_after="2021-10-31"> |
| <owner>backer@chromium.org</owner> |
| <owner>penghuang@chromium.org</owner> |
| <owner>vasilyt@chromium.org</owner> |
| <summary> |
| Shows if the populated from disk cache entry was used by skia or discarded |
| and why. Recorded when cache entry that was read from disk is either loaded |
| by skia, overwriten by skia or discarded by GrShaderCache. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Vulkan.PipelineCache.Size" units="KB" |
| expires_after="2022-05-08"> |
| <owner>backer@chromium.org</owner> |
| <owner>penghuang@chromium.org</owner> |
| <owner>vasilyt@chromium.org</owner> |
| <summary> |
| Size of stored VkPipelineCache in kb. Recorded every time we store a |
| pipeline cache item. Currently happens when gpu goes idle after we stored or |
| loaded new shader. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Vulkan.PipelineCache.StoreDuration" units="microseconds" |
| expires_after="2022-05-08"> |
| <owner>backer@chromium.org</owner> |
| <owner>penghuang@chromium.org</owner> |
| <owner>vasilyt@chromium.org</owner> |
| <summary> |
| Duration of storeVkPipelineCacheData in Skia, this includes chromium side |
| GrShaderCache::store. Recorded even if data didn't fit into the cache. Only |
| reported for platforms supporting high resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.Vulkan.PipelineCache.vkCreateGraphicsPipelines" |
| units="microseconds" expires_after="2023-01-22"> |
| <owner>backer@chromium.org</owner> |
| <owner>penghuang@chromium.org</owner> |
| <owner>vasilyt@chromium.org</owner> |
| <summary> |
| Duration of vkCreateGraphicsPipelines call. Recorded every time Skia creates |
| graphics pipeline. Only reported for platforms supporting high resolution |
| clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.WaitForVBlankErrorCode" enum="WaitForVBlankErrorCode" |
| expires_after="M85"> |
| <owner>stanisc@chromium.org</owner> |
| <summary> |
| Whether WaitForVBlank operation has been successful or failed with one of |
| the errors prompting a backup delay based v-sync mechanism. Recorded each |
| time a new GPU v-sync signal is generated. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.WatchdogThread.Event{ThreadType}" |
| enum="GpuWatchdogThreadEvent" expires_after="2023-04-01"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Recorded for each time the GPU watchdog thread starts, crashes and ends. |
| </summary> |
| <token key="ThreadType"> |
| <variant name=""/> |
| <variant name=".compositor"/> |
| <variant name=".main"/> |
| </token> |
| </histogram> |
| |
| <histogram name="GPU.WatchdogThread.Timeout{WatchdogStage}{ThreadType}" |
| enum="GpuWatchdogTimeoutEvent" expires_after="2023-04-01"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Recorded timeout events when the GPU watchdog enters OnWatchdogTimeout. |
| </summary> |
| <token key="WatchdogStage"> |
| <variant name=""/> |
| <variant name=".Foregrounded"/> |
| <variant name=".Init"/> |
| <variant name=".Normal"/> |
| <variant name=".PowerResume"/> |
| </token> |
| <token key="ThreadType"> |
| <variant name=""/> |
| <variant name=".compositor"/> |
| <variant name=".main"/> |
| </token> |
| </histogram> |
| |
| <histogram name="GPU.WebGraphicsContext3D_Init_CanLoseContext" |
| enum="GPUWebGraphicsContext3D_Init_CanLoseContext" expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| Counts of context initialization that succeed or fail based on combinations |
| of attributes requiring canRecoverFromContextLoss and devices that report |
| can_lose_context. Failing Init is desired when a device can not guarantee it |
| won't fail for a user that can not handle failures, e.g. DX9 on WinXP used |
| by Canvas2D' |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.WinSAT.GamingScore" units="units" expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| The WinSAT (Windows System Assessment Tool) gaming graphics score. It is in |
| the range 1.0-5.9 on Vista, 1.0-7.9 on Win7 and 1.0-9.9 on Win8. 0 |
| represents a failure to get the score. This is collected each time Chrome is |
| launched. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.WinSAT.GamingScore2" units="units" expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| The WinSAT (Windows System Assessment Tool) gaming graphics score, scaled by |
| 10x. It is in the range 10-59 on Vista, 10-79 on Win7 and 10-99 on Win8. 0 |
| represents a failure to get the score. This is collected each time Chrome is |
| launched. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.WinSAT.GraphicsScore" units="units" expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| The WinSAT (Windows System Assessment Tool) graphics score. It is in the |
| range 1.0-5.9 on Vista, 1.0-7.9 on Win7 and 1.0-9.9 on Win8. 0 represents a |
| failure to get the score. This is collected each time Chrome is launched. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.WinSAT.GraphicsScore2" units="units" expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| The WinSAT (Windows System Assessment Tool) graphics score, scaled by 10x. |
| It is in the range 10-59 on Vista, 10-79 on Win7 and 10-99 on Win8. 0 |
| represents a failure to get the score. This is collected each time Chrome is |
| launched. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.WinSAT.HasResults" enum="BooleanSuccess" |
| expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| A boolean representing whether or not we succeeded in getting the system's |
| WinSAT scores. This is collected each time Chrome is launched. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.WinSAT.OverallScore" units="units" expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| The WinSAT (Windows System Assessment Tool) overall system score. This is |
| the minimum of all the individual subscores. It is in the range 1.0-5.9 on |
| Vista, 1.0-7.9 on Win7 and 1.0-9.9 on Win8. 0 represents a failure to get |
| the score. This is collected each time Chrome is launched. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.WinSAT.OverallScore2" units="units" expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| The WinSAT (Windows System Assessment Tool) overall system score, scaled by |
| 10x. This is the minimum of all the individual subscores. It is in the range |
| 10-59 on Vista, 10-79 on Win7 and 10-99 on Win8. 0 represents a failure to |
| get the score. This is collected each time Chrome is launched. |
| </summary> |
| </histogram> |
| |
| <histogram name="GPU.WinSAT.ReadResultsFileTime" units="microseconds" |
| expires_after="M85"> |
| <owner>vmiura@chromium.org</owner> |
| <summary> |
| The amount of time it takes to read the WinSAT results. This is collected |
| each time Chrome is launched. |
| |
| Warning: This metric may include reports from clients with low-resolution |
| clocks (i.e. on Windows, ref. |TimeTicks::IsHighResolution()|). Such reports |
| will cause this metric to have an abnormal distribution. When considering |
| revising this histogram, see UMA_HISTOGRAM_CUSTOM_MICROSECONDS_TIMES for the |
| solution. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.DelegatedCompositing.Status" enum="DelegatedStatus" |
| expires_after="2023-06-09"> |
| <owner>petermcneeley@chromium.org</owner> |
| <owner>rjkroege@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| An enum status result for attempted delegated compositing (success or |
| failure reason) recorded every drawn frame. Currently only recorded for |
| LaCros delegated compositing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.DisplayCompositor.OverlayNumProposedCandidates" |
| units="units" expires_after="2023-06-09"> |
| <owner>petermcneeley@chromium.org</owner> |
| <owner>khaslett@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| A count of the number of proposed overlay candidates available for overlay |
| selection. Recorded every time a frame is rendered by the display |
| compositor. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.DisplayCompositor.OverlayQuadMaterial" |
| enum="OverlayQuadMaterial" expires_after="2023-06-09"> |
| <owner>petermcneeley@chromium.org</owner> |
| <owner>khaslett@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Quad material for current promoted overlay, per frame. Recorded every time a |
| frame is rendered by the display compositor. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.DisplayCompositor.OverlayStrategy" |
| enum="OverlayStrategies" expires_after="2023-06-09"> |
| <owner>khaslett@chromium.org</owner> |
| <owner>kylechar@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Overlay strategies used to promote Hardware Overlays, once or more per |
| frame. Recorded every time a frame is rendered by the display compositor, or |
| once per overlay promoted if multiple were promoted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.DisplayCompositor.OverlaySwitchInterval" units="ms" |
| expires_after="2023-06-09"> |
| <owner>petermcneeley@chromium.org</owner> |
| <owner>khaslett@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| The time, in milliseconds, since the change in overlay selection. Recorded |
| every time a frame is rendered by the display compositor. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.DisplayCompositor.RootDamageRect.Overlay" |
| enum="BooleanOverlayDamageRect" expires_after="2023-04-30"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| Any root damage excluding overlay damage in the current frame? |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.DisplayCompositor.RootDamageRect.Underlay" |
| enum="UnderlayDamageRect" expires_after="2023-04-17"> |
| <owner>magchen@chromium.org</owner> |
| <owner>zmo@chromium.org</owner> |
| <summary> |
| The root damage type excluding underlay damage in the current frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FileDescriptorTracking.TimeToCompute" units="microseconds" |
| expires_after="2023-06-09"> |
| <owner>petermcneeley@chromium.org</owner> |
| <owner>rjkroege@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| Time spent computing the number of active File Descriptors. This is logged |
| once every 5 minutes as the cost of this computation is estimated to be at |
| least 1ms. Currently only recorded for LaCros delegated compositing. |
| |
| Warning: This metric does not include reports from clients with |
| low-resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FileDescriptorTracking.{FdStat}" units="units" |
| expires_after="2023-06-09"> |
| <owner>petermcneeley@chromium.org</owner> |
| <owner>rjkroege@chromium.org</owner> |
| <owner>graphics-dev@chromium.org</owner> |
| <summary> |
| {FdStat} File Descriptors for the GPU process. This is logged once every 5 |
| minutes as the cost of this computation is estimated to be at least 1ms. |
| Currently only recorded for LaCros delegated compositing. |
| </summary> |
| <token key="FdStat"> |
| <variant name="NumActive" summary="Current number of active"/> |
| <variant name="NumSoftMax" summary="Maximum number of"/> |
| <variant name="PercentageUsed" summary="Percentage of in use"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.CaptureDuration" units="ms" |
| expires_after="2023-03-01"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| The time it took from when FrameSinkVideoCapturerImpl sent a request for |
| frame capture until the result becomes available to the capturer. |
| |
| Format-agnostic version of |
| `Viz.FrameSinkVideoCapturer.[NV12/I420].CaptureDuration` histograms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.CaptureSucceeded" |
| enum="BooleanSuccess" expires_after="2023-03-01"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| Whether a capture initiated by FrameSinkVideoCapturerImpl succeeded. |
| |
| Format-agnostic version of |
| `Viz.FrameSinkVideoCapturer.[NV12/I420].CaptureSucceeded` histograms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.FrameResurrected" enum="Boolean" |
| expires_after="2023-03-01"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| True if the capturer has used a resurrected video frame, thus avoiding |
| having to reserve it from a frame pool, false otherwise. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.I420.CaptureDuration" units="ms" |
| expires_after="2023-04-30"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| The time it took from when FrameSinkVideoCapturerImpl sent a request for an |
| I420 readback until the result comes back and ReadI420Planes successfully |
| finishes. |
| |
| Warning: this histogram was expired from 2021-03-07 to 2022-03-10; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.I420.CaptureSucceeded" |
| enum="BooleanSuccess" expires_after="2023-04-30"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| Whether an I420 readback initiated by FrameSinkVideoCapturerImpl succeeded. |
| |
| Warning: this histogram was expired from 2020-12-31 to 2022-03-10; data may |
| be missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.I420.TotalDuration" units="ms" |
| expires_after="2023-04-30"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| The time it took from when FrameSinkVideoCapturerImpl decided that a new |
| I420 frame needs to be produced to the moment when it was ready to deliver |
| it. This encompasses the `Viz.FrameSinkVideoCapturer.I420.CaptureDuration` |
| time, but also includes time taken to render video capture overlays. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.NV12.CaptureDuration" units="ms" |
| expires_after="2023-04-30"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| The time it took from when FrameSinkVideoCapturerImpl sent a request for an |
| NV12 copy until the result comes back. |
| |
| Note: The histogram logging was adjusted in M102 to align with how |
| `Viz.FrameSinkVideoCapturer.[RGBA/I420].CaptureDuration` histograms behave. |
| After the change, this histogram also started including the time taken to |
| set the color space on a video frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.NV12.CaptureSucceeded" |
| enum="BooleanSuccess" expires_after="2023-03-01"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| Whether an NV12 capture initiated by FrameSinkVideoCapturerImpl succeeded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.NV12.TotalDuration" units="ms" |
| expires_after="2023-04-30"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| The time it took from when FrameSinkVideoCapturerImpl decided that a new |
| NV12 frame needs to be produced to the moment when it was ready to deliver |
| it. This encompasses the `Viz.FrameSinkVideoCapturer.NV12.CaptureDuration` |
| time. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.ReserveFrameDuration" units="ms" |
| expires_after="2023-04-30"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| The time it took for a frame pool to reserve a video frame that would then |
| have its contents populated by the capturer. Will be logged only when |
| `Viz.FrameSinkVideoCapturer.FrameResurrected` is false. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.RGBA.CaptureDuration" units="ms" |
| expires_after="2023-01-15"> |
| <owner>jonross@chromium.org</owner> |
| <owner>viz-team-wat@google.com</owner> |
| <summary> |
| The time it took from when FrameSinkVideoCapturerImpl sent a request for an |
| RGBA readback until the result comes back and ReadRGBAPlane successfully |
| finishes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Viz.FrameSinkVideoCapturer.TotalDuration" units="ms" |
| expires_after="2023-04-30"> |
| <owner>bialpio@chromium.org</owner> |
| <owner>media-capture-dev@chromium.org</owner> |
| <summary> |
| The time it took from when FrameSinkVideoCapturerImpl decided that a new |
| frame needs to be produced to the moment when it was ready to deliver it. |
| This encompasses the `Viz.FrameSinkVideoCapturer.CaptureDuration` time, but |
| also includes time taken to render video capture overlays. |
| |
| Format-agnostic version of |
| `Viz.FrameSinkVideoCapturer.[NV12/I420].TotalDuration` histograms. |
| </summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |