blob: 933b7e7c27eddf3caa27f1718d465e5aa81f2ea5 [file] [log] [blame]
<!--
Copyright 2020 The Chromium Authors. All rights reserved.
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 Image 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 send CLs to chromium-metrics-reviews@google.com rather than to specific
individuals. These CLs will be automatically reassigned to a reviewer within
about 5 minutes. This approach helps the metrics team to load-balance incoming
reviews. Googlers can read more about this at go/gwsq-gerrit.
-->
<histogram-configuration>
<histograms>
<histogram name="Image.ResampleMS" units="?" expires_after="M79">
<owner>Please list the metric's owners. Add more owner tags as needed.</owner>
<summary>
Time it takes to do high-quality image resampling for images that are
resized. Non-resized images and ones our heuristic decides can be done
&quot;badly&quot; are not counted.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.CacheHit"
enum="BooleanCacheHit" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each image processed by the image annotation service, records whether or
not results for the image already existed in the client-side cache. A hit
means that image data was not transmitted to the image annotation server.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.ClientResult"
enum="ImageAnnotationServiceClientResult" expires_after="2021-10-10">
<owner>dmazzoni@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each request made by a client feature to the image annotation service,
reports the final status of the service response.
</summary>
</histogram>
<histogram base="true" name="ImageAnnotationService.AccessibilityV1.Confidence"
units="%" expires_after="2020-03-31">
<!-- Name completed by histogram_suffixes name="ImageAnnotationServiceAnnotationType" -->
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each annotation of the given type returned by the image annotation
server, records the confidence (as a percentage) produced by the ML model
for the annotation.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.DescType"
enum="ImageAnnotationServiceDescType" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each annotation backend run by the image annotation server, records the
gRPC status reported.
</summary>
</histogram>
<histogram base="true" name="ImageAnnotationService.AccessibilityV1.Empty"
enum="BooleanEmpty" expires_after="2020-03-31">
<!-- Name completed by histogram_suffixes name="ImageAnnotationServiceAnnotationType" -->
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each annotation of the given type returned by the image annotation
server, records whether or not the text of the annotation was empty. This is
sometimes valid, e.g. for text extraction (OCR) on an image that does not
contain any text.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.EncodedJpegSizeKB"
units="KB" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each image sent from a client feature to the image annotation service,
reports the image's final size (in kilobytes) after resizing and reencoding.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.EngineKnown"
enum="BooleanKnown" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each annotation backend run by the image annotation server, records
whether or not the backend is recognised by this version of Chrome.
</summary>
</histogram>
<histogram
name="ImageAnnotationService.AccessibilityV1.ImageRequestIncludesDesc"
enum="BooleanIncluded" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each image request sent to the image annotation server, records whether
or not the description backend is included among the requested backends.
The description backend will not be included when the image is known to
violate the description model policy (i.e. be too small or have too-high an
aspect ratio).
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.JsonParseSuccess"
enum="BooleanSuccess" expires_after="2020-10-31">
<owner>dmazzoni@chromium.org</owner>
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each non-empty response sent from the image annotation server, records
whether or not JSON data were successfully parsed from the response body.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.PixelFetchSuccess"
enum="BooleanSuccess" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each pixel fetch request sent from the image annotation service to a
client feature, records whether or not encoded pixel data were successfully
returned to the service.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.ServerHttpResponseCode"
enum="HttpResponseCode" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each HTTP response from the image annotation server, reports the
associated HTTP code.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.ServerLatencyMs"
units="ms" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each HTTP response from the image annotation server, reports the time
elapsed (in milliseconds) since the corresponding request was sent.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.ServerNetError"
enum="NetErrorCodes" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each HTTP request sent to the image annotation server, reports the net
error (or OK status) of the request.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.ServerRequestSizeKB"
units="KB" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each HTTP request sent to the image annotation server, reports the size
of the request. Measured in kilobytes, since a request can contain the pixel
data of multiple images.
</summary>
</histogram>
<histogram
name="ImageAnnotationService.AccessibilityV1.ServerResponseSizeBytes"
units="bytes" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each HTTP response from the image annotation server, reports the
response size in bytes.
</summary>
</histogram>
<histogram name="ImageAnnotationService.AccessibilityV1.SourcePixelCount"
units="pixels" expires_after="2020-03-31">
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each image sent from a client feature to the image annotation service,
reports the image's original (i.e. pre-scaling) area in pixels. Images with
pixel count above a certain threshold will be resized prior to transmission.
</summary>
</histogram>
<histogram base="true" name="ImageAnnotationService.AccessibilityV1.Status"
enum="GoogleRpcCode" expires_after="2020-03-31">
<!-- Name completed by histogram_suffixes name="ImageAnnotationServiceAnnotationType" -->
<owner>amoylan@chromium.org</owner>
<owner>martis@chromium.org</owner>
<summary>
For each annotation backend run by the image annotation server, records the
gRPC status reported.
</summary>
</histogram>
<histogram base="true" name="ImageFetcher.CacheMetadataCount" units="records"
expires_after="2021-05-01">
<!-- Name completed by histogram_suffixes name="ImageFetcherCacheStrategy" -->
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<summary>
The total number of metadata entries in the image fetcher cache metadata
database for a given cache strategy. Recorded during cache eviction process.
</summary>
</histogram>
<histogram base="true" name="ImageFetcher.CacheSize" units="KB"
expires_after="2022-05-01">
<!-- Name completed by histogram_suffixes name="ImageFetcherCacheStrategy" -->
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<owner>xingliu@chromium.org</owner>
<summary>
The total size of the cache for a given cache strategy. Recorded during
cache eviction process.
</summary>
</histogram>
<histogram name="ImageFetcher.Events" enum="ImageFetcherEvent"
expires_after="2021-10-04">
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<summary>
Events that track the lifecycle and performance of the cached_image_fetcher.
The events reported include: success/failure conditions, various recoverable
errors and a couple of dead-end errors.
</summary>
</histogram>
<histogram name="ImageFetcher.ImageLoadFromCacheTime" units="ms"
expires_after="2021-06-01">
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<summary>
The time it takes for cached_image_fetcher to load an image from the cache
in native.
</summary>
</histogram>
<histogram name="ImageFetcher.ImageLoadFromCacheTimeJava" units="ms"
expires_after="2021-06-01">
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<summary>
The time it takes for cached_image_fetcher to load an image from the cache
in Java.
</summary>
</histogram>
<histogram name="ImageFetcher.ImageLoadFromNativeTimeJava" units="ms"
expires_after="2021-06-01">
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<summary>
The time it takes for cached_image_fetcher to load an image from native
code. Only recorded on successful loads.
</summary>
</histogram>
<histogram name="ImageFetcher.ImageLoadFromNetworkAfterCacheHit" units="ms"
expires_after="2021-06-01">
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<summary>
The time it takes for cached_image_fetcher to load an image from the network
after a cache hit.
</summary>
</histogram>
<histogram name="ImageFetcher.ImageLoadFromNetworkTime" units="ms"
expires_after="2021-06-01">
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<summary>
The time it takes for cached_image_fetcher to load an image from the
network.
</summary>
</histogram>
<histogram name="ImageFetcher.LoadImageMetadata" units="ms"
expires_after="2021-06-01">
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<summary>
The time it takes to load an image's metadata from the metadata store.
</summary>
</histogram>
<histogram name="ImageFetcher.RequestStatusCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="2021-06-01">
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<summary>
Android: The integer status code of network requests made by the image data
fetcher. This code includes both protocol(1xx-5xx) and non-protocol(-xxx)
errors. Recorded when a request completes.
</summary>
</histogram>
<histogram name="ImageFetcher.TimeSinceLastCacheLRUEviction" units="ms"
expires_after="2021-06-01">
<owner>fgorski@chromium.org</owner>
<owner>wylieb@chromium.org</owner>
<summary>
The time since the last LRU eviction from the image cache. Recorded when two
LRU evictions occur within closure proximity to one another. Will be used to
determine if LRU eviction is happening too frequently.
</summary>
</histogram>
<histogram name="ImageLoader.Client.Cache.HitMiss" enum="BooleanCacheHit"
expires_after="2019-01-01">
<owner>tapted@chromium.org</owner>
<owner>chromeos-files-app@google.com</owner>
<summary>
For each image load request that requested caching, records whether or not
it was found in the client-side cache. A hit means the request was not
forwarded to the ImageLoader extension.
</summary>
</histogram>
<histogram name="ImageLoader.Client.Cache.Usage" units="%"
expires_after="2019-01-01">
<owner>tapted@chromium.org</owner>
<owner>chromeos-files-app@google.com</owner>
<summary>
Returns the percentage of the client-side cache that is used for loading
images, before they are sent to the ImageLoader extension. Expressed as a
percentage of ImageLoaderClient.CACHE_MEMORY_LIMIT (e.g. 20MB).
</summary>
</histogram>
<histogram name="ImageLoader.Client.Cached" enum="BooleanRequested"
expires_after="2019-01-01">
<owner>tapted@chromium.org</owner>
<owner>chromeos-files-app@google.com</owner>
<summary>
For each image load request records whether or not it requested caching.
</summary>
</histogram>
</histograms>
</histogram-configuration>