<!--
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 Optimization 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
[email protected].
-->
<histogram-configuration>
<histograms>
<variants name="AnnotationType">
<variant name="ContentVisibility" summary="Content Visibility"/>
<variant name="Deprecated PageEntities" summary="Deprecated - Page Entities"/>
<variant name="Unknown" summary="Unknown"/>
</variants>
<variants name="ModelExecutionFeature">
<variant name="Compose" summary="Compose"/>
<variant name="FormsAnnotations" summary="Forms Annotations"/>
<variant name="FormsPredictions" summary="Forms Predictions"/>
<variant name="HistorySearch" summary="History Search"/>
<variant name="PromptApi" summary="Prompt API"/>
<variant name="Summarize" summary="Summarize"/>
<variant name="TabOrganization" summary="Tab Organization"/>
<variant name="Test" summary="Test"/>
<variant name="TextSafety" summary="Text Safety"/>
<variant name="Unknown" summary="Unknown"/>
<variant name="WallpaperSearch" summary="Wallpaper search"/>
</variants>
<variants name="OptimizationTarget">
<variant name="AutofillFieldTypeClassification"
summary="Classifies autofill field types"/>
<variant name="CameraBackgroundSegmentation"
summary="Classifies images into foreground and background"/>
<variant name="ClientSidePhishing" summary="Client Side Phishing"/>
<variant name="ClientSidePhishingImageEmbedder"
summary="Client Side Phishing Image Embedder"/>
<variant name="Compose" summary="Weights for On-Device Compose"/>
<variant name="ContextualPageActionPriceTracking"
summary="Contextual Page Action: Show price tracking"/>
<variant name="GeolocationPermissions" summary="Geolocation permissions"/>
<variant name="LanguageDetection" summary="Language detection"/>
<variant name="ModelExecutionFeatureHistorySearch"
summary="Model Execution Feature: History Search"/>
<variant name="ModelExecutionFeaturePromptAPI"
summary="Model Execution Feature: Prompt API"/>
<variant name="ModelExecutionFeatureSummarize"
summary="Model Execution Feature: Summarize"/>
<variant name="ModelValidation" summary="Model validation triggered via CLI"/>
<variant name="NewTabPageHistoryClustersModuleRanking"
summary="New Tab Page History Clusters Module Ranking"/>
<variant name="NotificationPermissions" summary="Notification permissions"/>
<variant name="OmniboxOnDeviceTailSuggest"
summary="Omnibox on device tail suggest"/>
<variant name="OmniboxUrlScoring" summary="Omnibox Url scoring"/>
<variant name="PageEntities" summary="Page entities"/>
<variant name="PageTopics" summary="Page topics"/>
<variant name="PageTopicsV2" summary="Page topics v2"/>
<variant name="PageVisibility" summary="Page visibility"/>
<variant name="PainfulPageLoad" summary="Painful page load"/>
<variant name="PassageEmbedder" summary="Text embedding for passages"/>
<variant name="PhraseSegmentation" summary="Phrase segmentation"/>
<variant name="PreloadingHeuristics" summary="Speculation-rule preloading"/>
<variant name="SegmentationAdaptiveToolbar"
summary="Segmentation: Adaptive toolbar button"/>
<variant name="SegmentationAndroidHomeModuleRanker"
summary="Segmentation: Android home module ranker"/>
<variant name="SegmentationBottomToolbar"
summary="Segmentation: Bottom toolbar user"/>
<variant name="SegmentationChromeLowUserEngagement"
summary="Segmentation: Low user engagement with Chrome"/>
<variant name="SegmentationChromeStartAndroid"
summary="Chrome Start Android"/>
<variant name="SegmentationChromeStartAndroidV2"
summary="Chrome Start Android V2"/>
<variant name="SegmentationComposePromotion"
summary="Segmentation: Compose promotion"/>
<variant name="SegmentationDesktopNtpModule"
summary="Segmentation: Desktop new tab page module users"/>
<variant name="SegmentationDeviceSwitcher"
summary="Segmentation: Device switcher"/>
<variant name="SegmentationDummyFeature" summary="Dummy feature"/>
<variant name="SegmentationFeedUser"
summary="Segmentation: Feed usage in Chrome"/>
<variant name="SegmentationIosModuleRanker"
summary="Segmentation: Ios module ranker"/>
<variant name="SegmentationMetricsClustering"
summary="Segmentation: Metrics based clustering"/>
<variant name="SegmentationNewTab" summary="Segmentation: New tab page user"/>
<variant name="SegmentationQueryTiles" summary="Query tiles"/>
<variant name="SegmentationSearchUser" summary="Segmentation: Search user"/>
<variant name="SegmentationShare" summary="Segmentation: Share user"/>
<variant name="SegmentationShoppingUser"
summary="Segmentation: Shopping user"/>
<variant name="SegmentationTabletProductivityUser"
summary="Segmentation: Tablet Productivity user"/>
<variant name="SegmentationVoice" summary="Segmentation: Voice user"/>
<variant name="TextClassifier" summary="Smart text selection"/>
<variant name="TextEmbedder" summary="Generic Text Embedding"/>
<variant name="TextSafety" summary="Classifies safety of the text"/>
<variant name="URLVisitResumptionRanker"
summary="URL Visit resumption ranker"/>
<variant name="VisualSearchClassification"
summary="Classifies images on the page"/>
<variant name="WebAppInstallationPromo"
summary="PWA: Show web app installation promotion"/>
</variants>
<variants name="OptimizationType">
<variant name="AboutThisSite"
summary="Provides 'About this site' data about the site being visited"/>
<variant name="AmericanExpressCreditCardFlightBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for flight credit card benefits.
Applies to only American Express credit cards that support
benefits on Chrome."/>
<variant name="AmericanExpressCreditCardSubscriptionBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for subscription credit card
benefits. Applies to only American Express credit cards that
support benefits on Chrome."/>
<variant name="AmountExtractionAllowlist"
summary="This optimization helps determine if this merchant page is a
good candidate for enabling price/amount extraction."/>
<variant name="AmountExtractionAllowlistAffirm"
summary="This optimization helps determine if this merchant page is a
good candidate for buy now pay later provider Affirm to enable
price/amount extraction."/>
<variant name="AmountExtractionAllowlistZip"
summary="This optimization helps determine if this merchant page is a
good candidate for buy now pay later provider Zip to enable
price/amount extraction."/>
<variant name="AutofillAblationSitesList1"
summary="This optimization provides information for whether a page is
eligible for autofill ablation."/>
<variant name="AutofillAblationSitesList2"
summary="This optimization provides information for whether a page is
eligible for autofill ablation."/>
<variant name="AutofillAblationSitesList3"
summary="This optimization provides information for whether a page is
eligible for autofill ablation."/>
<variant name="AutofillAblationSitesList4"
summary="This optimization provides information for whether a page is
eligible for autofill ablation."/>
<variant name="AutofillAblationSitesList5"
summary="This optimization provides information for whether a page is
eligible for autofill ablation."/>
<variant name="AutofillAblationSitesList6"
summary="This optimization provides information for whether a page is
eligible for autofill ablation."/>
<variant name="AutofillPredictionImprovementsAllowlist"
summary="This optimization provides information for whether a page is
eligible for Autofill prediction improvements."/>
<variant name="AutofillSamplingRate"
summary="This optimization provides information about a sampling rate
of Autofill UKM metrics per origin based on origin popularity."/>
<variant name="BloomFilterValidation"
summary="Validates bloom filer allowlist/blocklist based hints"/>
<variant name="CapitalOneCreditCardBenefitsBlocked"
summary="This optimization provides information about whether a
merchant url is eligible to display Capital One credit card
benefits."/>
<variant name="CapitalOneCreditCardDiningBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for dining credit card benefits.
Applies to only Capital One credit cards that support benefits
on Chrome"/>
<variant name="CapitalOneCreditCardEntertainmentBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for entertainment credit card
benefits. Applies to only Capital One credit cards that
support benefits on Chrome"/>
<variant name="CapitalOneCreditCardGroceryBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for grocery credit card benefits.
Applies to only Capital One credit cards that support benefits
on Chrome"/>
<variant name="CapitalOneCreditCardStreamingBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for streaming credit card benefits.
Applies to only Capital One credit cards that support benefits
on Chrome"/>
<variant name="Compose"
summary="Returns suitability of this page for compose."/>
<variant name="CompressPublicImages" summary="Compresses public images"/>
<variant name="DeferAllScript" summary="Defers execution of script"/>
<variant name="FastHostHints"
summary="Provides information about hosts that historically provide a
fast and responsive user experience"/>
<variant name="HistoryClusters"
summary="This optimization provides information for whether a page
should be included in a history cluster."/>
<variant name="HistoryEmbeddings"
summary="This optimization provides information for whether a page is
eligible for history embeddings."/>
<variant name="IBANAutofillBlocked"
summary="This optimization provides information for whether a page
should be blocked for IBAN autofill feature."/>
<variant name="LinkPerformance"
summary="Provides aggregated performance information for links on the
page"/>
<variant name="LitePage"
summary="HTTP server preview (served from the Data Reduction Proxy)"/>
<variant name="LiteVideo"
summary="Provides information on how to throttle media requests to
reduce the adaptive bit rates of media streams."/>
<variant name="LoadingPredictor"
summary="Provides information about subresources predicted to be on the
page"/>
<variant name="LoginDetection"
summary="Provides information about hosts that are identified as
commonly logged-in"/>
<variant name="MerchantTrustSignals"
summary="Provides trust data related to the merchant."/>
<variant name="MerchantTrustSignalsV2"
summary="Provides trust data related to the merchant -- version 2."/>
<variant name="MetadataFetchValidation"
summary="Validates metadata fetch on navigation"/>
<variant name="PageEntities"
summary="Provides the entities that are present on the page"/>
<variant name="PageInsights"
summary="This optimization provides helpful context and insights about
a page."/>
<variant name="PerformanceHints"
summary="Provides aggregated performance information about the page"/>
<variant name="PixMerchantOriginsAllowlist"
summary="This optimization provides information about merchants origins
for which PIX payments should be triggered."/>
<variant name="PixPaymentMerchantAllowlist"
summary="This optimization provides information about whether a
merchant can trigger PIX bottom sheet."/>
<variant name="PriceInsights"
summary="Returns price insights data for shopping websites"/>
<variant name="PriceTracking"
summary="Returns price related data for shopping websites"/>
<variant name="SalientImage"
summary="Provides information about images for a URL."/>
<variant name="SharedCreditCardDiningBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for dining credit card benefits.
Applies to all credit cards that support benefits on Chrome"/>
<variant name="SharedCreditCardEntertainmentBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for entertainment credit card
benefits. Applies to all credit cards that support benefits on
Chrome"/>
<variant name="SharedCreditCardFlightBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for flight credit card benefits.
Applies to all credit cards that support benefits on Chrome"/>
<variant name="SharedCreditCardGroceryBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for grocery credit card benefits.
Applies to all credit cards that support benefits on Chrome"/>
<variant name="SharedCreditCardStreamingBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for streamining credit card benefits.
Applies to all credit cards that support benefits on Chrome"/>
<variant name="SharedCreditCardSubscriptionBenefits"
summary="This optimization provides information about whether a
merchant url is eligible for subscription credit card
benefits. Applies to all credit cards that support benefits on
Chrome"/>
<variant name="ShoppingDiscounts"
summary="This optimization provides information about shopping
discounts for a URL."/>
<variant name="ShoppingPagePredictor"
summary="Determines if a page is shopping related or not"/>
<variant name="ShoppingPageTypes"
summary="This optimization provides information about shopping page
types of this page."/>
<variant name="ThankCreatorEligible"
summary="This optimization provides information for whether a page is
eligible for the 'Thank Creator' feature."/>
<variant name="V8CompileHints"
summary="Information about which JavaScript functions should be eager
compiled."/>
<variant name="VcnMerchantOptOutDiscover"
summary="This optimization provides information about whether a
merchant is opted-out of Discover virtual cards for a URL."/>
<variant name="VcnMerchantOptOutMastercard"
summary="This optimization provides information about whether a
merchant is opted-out of Mastercard virtual cards for a URL."/>
<variant name="VcnMerchantOptOutVisa"
summary="This optimization provides information about whether a
merchant is opted-out of Visa virtual cards for a URL."/>
</variants>
<variants name="PageContentAnnotationsStorageType">
<variant name="ModelAnnotations" summary="Model Annotations"/>
<variant name="RelatedSearches" summary="Related Searches"/>
<variant name="RemoteMetadata" summary="Remote Metadata"/>
<variant name="SalientImageMetadata" summary="Salient Image Metadata"/>
<variant name="SearchMetadata" summary="Search Metadata"/>
<variant name="Unknown" summary="Unknown"/>
</variants>
<variants name="PageTextDumpEvent">
<variant name="FinishedLoad" summary="finished load"/>
<variant name="FirstLayout" summary="first layout"/>
</variants>
<variants name="RequestContext">
<variant name="BatchUpdateActiveTabs"
summary="Batch update of hints for active tabs"/>
<variant name="BatchUpdateGoogleSRP"
summary="Batch update of hints for result links off the Google SRP"/>
<variant name="BatchUpdateModels" summary="Batch update of models"/>
<variant name="Bookmarks" summary="Batch update of hints for bookmarks"/>
<variant name="Journeys" summary="Journeys surface"/>
<variant name="NewTabPage" summary="New tab page"/>
<variant name="NonPersonalizedPageInsightsHub"
summary="Non personalized page insights hub"/>
<variant name="PageInsightsHub" summary="Page insights hub"/>
<variant name="PageNavigation" summary="Page navigation"/>
<variant name="Shopping" summary="Requests for shopping features"/>
</variants>
<histogram name="OptimizationGuide.AccessTokenHelper.Result"
enum="OptimizationGuideAccessTokenResult" expires_after="2024-12-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of an OAuth access token request. Recorded every time a
request was made for allowed request contexts for on-demand hints.
</summary>
</histogram>
<histogram name="OptimizationGuide.ApplyDecision.{OptimizationType}"
enum="OptimizationGuideOptimizationTypeDecision" expires_after="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The decision made for whether {OptimizationType} can be applied on the page
load.
</summary>
<token key="OptimizationType" variants="OptimizationType"/>
</histogram>
<histogram name="OptimizationGuide.ClearFetchedHints.StoreAvailable"
enum="BooleanAvailable" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the optimization guide store was available when fetched
hints are cleared from the store after browser history is cleared.
</summary>
</histogram>
<histogram name="OptimizationGuide.HintCache.HintType.Loaded"
enum="HintCacheStoreEntryType" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the store entry type of a hint when it is loaded from the hint cache
store.
</summary>
</histogram>
<histogram name="OptimizationGuide.HintCacheLevelDBStore.LoadMetadataResult"
enum="OptimizationGuideHintCacheLevelDBStoreLoadMetadataResult"
expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of loading the metadata while initializing the
HintCacheLevelDBStore.
</summary>
</histogram>
<histogram name="OptimizationGuide.HintCacheLevelDBStore.Status"
enum="OptimizationGuideHintCacheLevelDBStoreStatus" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records each status change within the HintCacheLevelDBStore.
</summary>
</histogram>
<histogram
name="OptimizationGuide.HintsFetcher.GetHintsRequest.DroppedHosts.{RequestContext}"
units="counts" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of hosts that were dropped for a request made with
{RequestContext}, if the number of hosts dropped is non-zero. Will record at
most once per fetch.
</summary>
<token key="RequestContext" variants="RequestContext"/>
</histogram>
<histogram
name="OptimizationGuide.HintsFetcher.GetHintsRequest.DroppedUrls.{RequestContext}"
units="counts" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of URLs that were dropped for a request made with
{RequestContext}, if the number of URLs dropped is non-zero. Will record at
most once per fetch.
</summary>
<token key="RequestContext" variants="RequestContext"/>
</histogram>
<histogram
name="OptimizationGuide.HintsFetcher.GetHintsRequest.FetchLatency.{RequestContext}"
units="ms" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The duration of a request to fetch hints from the remote Optimization Guide
Service starts until it completes. Recorded every time hints are fetched and
parsed successfully.
</summary>
<token key="RequestContext" variants="RequestContext"/>
</histogram>
<histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.HintCount"
units="units" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of hints received from the remote Optimization Guide
Service for every successful HintsFetch request.
</summary>
</histogram>
<histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.HostCount"
units="total host count" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of hosts selected for sending a hint request. This will
be captured when any hint request is initiated.
</summary>
</histogram>
<histogram
name="OptimizationGuide.HintsFetcher.GetHintsRequest.HostCount.{RequestContext}"
units="total host count" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of hosts selected for sending a hint request using
{RequestContext} of the OptmizationGuide HintsFetcher. This will be captured
when any hint request is initiated.
</summary>
<token key="RequestContext" variants="RequestContext"/>
</histogram>
<histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.NetErrorCode"
enum="NetErrorCodes" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Net error codes for HintsFetch requests to the Optimization Guide Service on
success and failure.
</summary>
</histogram>
<histogram
name="OptimizationGuide.HintsFetcher.GetHintsRequest.RequestStatus.{RequestContext}"
enum="OptimizationGuideFetcherRequestStatus" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of making a request using {RequestContext} of the
OptmizationGuide HintsFetcher. This includes whether a network request was
actually sent or not.
</summary>
<token key="RequestContext" variants="RequestContext"/>
</histogram>
<histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.Status"
enum="HttpResponseCode" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
For each HintsFetch request to the Optimization Guide Service, log the HTTP
response code on success and failure.
</summary>
</histogram>
<histogram name="OptimizationGuide.HintsFetcher.GetHintsRequest.UrlCount"
units="total url count" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of URLs selected for sending a hint request. This will be
captured when any hint request is initiated.
</summary>
</histogram>
<histogram
name="OptimizationGuide.HintsFetcher.GetHintsRequest.UrlCount.{RequestContext}"
units="total url count" expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of URLs selected for sending a hint request using
{RequestContext} of the OptmizationGuide HintsFetcher. This will be captured
when any hint request is initiated.
</summary>
<token key="RequestContext" variants="RequestContext"/>
</histogram>
<histogram name="OptimizationGuide.HintsManager.ActiveTabUrlsToFetchFor"
units="counts" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of active tab URLs that did not have a hint on device, and thus,
required a fetch for a new hint. Recorded when a fetch is initiated to the
remote Optimization Guide Service for active tabs, roughly once an hour but
configurable via experiment params.
</summary>
</histogram>
<histogram name="OptimizationGuide.HintsManager.ConcurrentBatchUpdateFetches"
units="counts" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of active batch update hints fetches initiated by the hints
manager. Recorded when a fetch is initiated to the remote Optimization Guide
Service for a batch update context (i.e. on SRP, other UI surfaces, etc.).
</summary>
</histogram>
<histogram
name="OptimizationGuide.HintsManager.ConcurrentPageNavigationFetches"
units="counts" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of active hints fetches initiated by the hints manager. Recorded
when a fetch is initiated to the remote Optimization Guide Service at
navigation start.
</summary>
</histogram>
<histogram
name="OptimizationGuide.HintsManager.PageNavigationHintsReturnedBeforeDataFlushed"
enum="BooleanStored" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether a page navigation hints fetch returned before navigation
data used to record additional page load metrics is flushed. Recorded only
for navigations that have a hints fetch initiated for it.
</summary>
</histogram>
<histogram
name="OptimizationGuide.HintsManager.RaceNavigationFetchAttemptStatus"
enum="OptimizationGuideRaceNavigationFetchAttemptStatus"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Status of a fetch attempt being raced against the current navigation start
and whether it includes hosts and urls. Recorded on navigation start
(including client redirects) by the hints manager.
</summary>
</histogram>
<histogram name="OptimizationGuide.IsPredictionModelValid.{OptimizationTarget}"
enum="BooleanValid" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the prediction model being constructed for
{OptimizationTarget} is valid or not. Recorded when prediction models are
loaded into memory by the prediction manager.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram name="OptimizationGuide.MetadataFetchValidation.Result"
enum="Boolean" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the metadata fetch validation received the hints correctly.
Recorded on iOS when the mainframe navigation commits.
</summary>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.ContextStartToExecutionTime.{ModelExecutionFeature}"
units="ms" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records time from when context was first added to the session to when the
first execute call was made. Recorded on the first execute call for a
session following a new context being added.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.FeatureCurrentlyEnabledResult.{ModelExecutionFeature}"
enum="FeatureCurrentlyEnabledResult" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether a feature is currently enabled. Recorded everytime the
feature status is queried.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.FeatureEnabledAtSettingsChange.{ModelExecutionFeature}"
enum="Boolean" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether {ModelExecutionFeature} is currently enabled after settings
is updated. Recorded everytime settings is toggled for the feature.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.FeatureEnabledAtStartup.{ModelExecutionFeature}"
enum="Boolean" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether {ModelExecutionFeature} is currently enabled at startup.
Recorded once at startup.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceAdaptationModelAvailability.{ModelExecutionFeature}"
enum="OnDeviceModelAdaptationAvailability" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the availability of adaptation model for {ModelExecutionFeature}.
Recorded each time an update to the base model or the foundation model is
triggered.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceAddContextResult.{ModelExecutionFeature}"
enum="OptimizationGuideOnDeviceAddContextResult" expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Captures the possible outcomes of Session::AddContext(). Recorded everytime
Session::AddContext() is called. context.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceContextFinishedProcessing.{ModelExecutionFeature}"
enum="Boolean" expires_after="2025-06-27">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the context was fully processed when the model was executed.
Recorded for each execution of the on device model.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceContextTokensProcessed.{ModelExecutionFeature}"
units="tokens" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of context tokens available when the on device model is
executed. Recorded for each execution of the on device model.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceDestroyedWhileWaitingForResponseTime.{ModelExecutionFeature}"
units="ms" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records time from execute call to the Session destroyed. Recorded when the
Session is destroyed, but only if the complete response was not received.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceExecuteModelResult.{ModelExecutionFeature}"
enum="OptimizationGuideOnDeviceExecuteModelResult"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Captures the possible outcomes of Session::ExecuteModel(). Recorded
everytime Session::ExecuteModel() is called. context.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceFirstResponseTime.{ModelExecutionFeature}"
units="ms" expires_after="2025-06-27">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records time to the first response after an execute call to the on device
model. Recorded for every execute call to the on device model that returns a
response.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceModelAdaptationLoadResult"
enum="OnDeviceModelLoadResult" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of loading a model adaptation from OnDeviceModelService.
This is recorded for every model adaptation loaded from a base model.
</summary>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceModelEligibilityReason.{ModelExecutionFeature}"
enum="OptimizationGuideOnDeviceModelEligibilityReason"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the on-device model was eligible to be used and if not, why
not. Recorded once at the start of each execution session.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceModelInstallCriteria.{Event}.{Criteria}"
enum="Boolean" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records evaluation of various criteria required for on-device model
installation. {Event}
</summary>
<token key="Criteria">
<variant name="All" summary="All criteria have been met"/>
<variant name="DeviceCapability"
summary="The device is capable of running an on-device model"/>
<variant name="DiskSpace"
summary="There is sufficient disk space to install"/>
<variant name="EnabledByEnterprisePolicy"
summary="model installation is enabled by enterprise policy"/>
<variant name="EnabledByFeature"
summary="model installation is enabled by feature"/>
<variant name="FeatureUse"
summary="There has been recent feature use that could benefit from an
on-device model"/>
</token>
<token key="Event">
<variant name="AtAttemptedUse"
summary="Recorded when a feature is being used that could benefit
from the on-device model."/>
<variant name="AtRegistration"
summary="Recorded once shortly after startup, regardless of whether
the on-device model is currently installed."/>
</token>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceModelInstalledAtRegistrationTime"
enum="Boolean" expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the on-device model is fully installed. Recorded when the
on-device model installer is registered. This happens at most once per
restart, when the device becomes eligible for on-device execution.
</summary>
</histogram>
<histogram name="OptimizationGuide.ModelExecution.OnDeviceModelLoadResult"
enum="OnDeviceModelLoadResult" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of loading a model from OnDeviceModelService. This is
recorded for every model load.
</summary>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceModelPerformanceClass"
enum="OnDeviceModelPerformanceClass" expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the estimated performance class of this device based on a
microbenchmark. This is recorded once on startup after a delay.
</summary>
</histogram>
<histogram name="OptimizationGuide.ModelExecution.OnDeviceModelStatusAtUseTime"
enum="OptimizationGuideOnDeviceModelStatus" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the on-device model status. Recorded when a feature is used that
could benefit from an on-device model.
</summary>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceModelValidationResult"
enum="OnDeviceModelValidationResult" expires_after="2025-06-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of running the on-device model validation prompts.
Recorded each time validation is run.
</summary>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceModelValidationResultOnValidationStarted"
enum="OnDeviceModelValidationResult" expires_after="2025-06-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the current validation status of the on-device model. Recorded each
time the model is updated, or on startup with an existing model if
validation has not completed for that model.
</summary>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceResponseCompleteTime.{ModelExecutionFeature}"
units="ms" expires_after="2024-12-15">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records time until the response is completed after an execute call to the on
device model. Recorded for every execute call to the on device model that
completes.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceResponseHasRepeats.{ModelExecutionFeature}"
enum="Boolean" expires_after="2025-06-27">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the response was halted due to repeating text. Recorded for
every execute call to the on device model that completes.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.OnDeviceTextSafetyModelMetadataValidity"
enum="OnDeviceTextSafetyModelMetadataValidity" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the received text safety model is valid. Recorded each time
an update to the text safety model has been pushed to the on device service
controller.
</summary>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.Result.{ModelExecutionFeature}"
enum="Boolean" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of model execution for {ModelExecutionFeature}. Recorded
everytime model execution happens.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.ServerError.{ModelExecutionFeature}"
enum="OptimizationGuideModelExecutionError" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the server error returned in the model execution response for
{ModelExecutionFeature} from the the Optmization Guide Servic. Recorded
whenever server error is returned.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.SessionUsedRemoteExecution.{ModelExecutionFeature}"
enum="Boolean" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether a created session was one that uses remote execution.
Recorded each time an execution session is created.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.SettingsVisibilityResult.{ModelExecutionFeature}"
enum="FeaturesSettingsVisibilityResult" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records visibility of different features. Recorded everytime the feature's
settings visibility status is queried.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecution.TimeToProcessRedactions.{ModelExecutionFeature}"
units="microseconds" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records amount of time it takes to process redactions. This is called every
time text is received from the model.
Note: This metric is dropped for clients without high-precision clocks.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutionFetcher.FetchLatency.{ModelExecutionFeature}"
units="ms" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The duration of a request to fetch model execution from the remote
Optimization Guide Service starts until it completes. Recorded every time
model execution results are fetched and parsed successfully.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram name="OptimizationGuide.ModelExecutionFetcher.NetErrorCode"
enum="NetErrorCodes" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Net error codes for each model execution request to the Optimization Guide
Service, recorded on success and failure.
</summary>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutionFetcher.RequestStatus.{ModelExecutionFeature}"
enum="OptimizationGuideFetcherRequestStatus" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of making a model execution request for {ModelExecutionFeature}
to the Optmization Guide Service. This includes whether a network request
was actually sent or not.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram name="OptimizationGuide.ModelExecutionFetcher.Status"
enum="HttpResponseCode" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The HTTP response code for each model execution request to the Optimization
Guide Service, recorded on success and failure.
</summary>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutor.DidTimeout.{OptimizationTarget}"
enum="Boolean" expires_after="2024-11-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the model execution for {OptimizationTarget} was cancelled
due to running past the configured timeout. In M115+ if batch execution is
used, this is recorded once per each input within the batch.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutor.ExecutionLatency.{OptimizationTarget}"
units="ms" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time duration it took execute the model for
{OptimizationTarget}. Recorded once per model execution for
{OptimizationTarget}. In M115+ if batch execution is used, this is recorded
once per each input within the batch.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutor.ExecutionStatus.{OptimizationTarget}"
enum="OptimizationGuideExecutionStatus" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of attempting to execute a {OptimizationTarget} model,
including loading the file from disk. Recorded once per model execution
attempt for {OptimizationTarget}. In M115+ if batch execution is used, this
is recorded once per each input within the batch.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutor.ExecutionThreadTime.{OptimizationTarget}"
units="ms" expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time duration it took to execute the model for
{OptimizationTarget}. Recorded once per model execution for
{OptimizationTarget}. This is effectively the same as
`OptimizationGuide.ModelExecutor.ExecutionLatency.{OptimizationTarget}` but
this is recorded using `base::ElapsedThreadTimer` instead. In M115+ if batch
execution is used, this is recorded once per each input within the batch.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutor.ExecutionThreadTimeMicroseconds.{OptimizationTarget}"
units="microseconds" expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Same as OptimizationGuide.ModelExecutor.ExecutionThreadTime, but recorded in
microseconds to enable high precision timing of fast models.
Note: This metric is dropped for clients without high-precision clocks.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutor.ModelAvailableToLoad.{OptimizationTarget}"
enum="BooleanAvailable" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the model file for {OptimizationTarget} is available on disk
at the time when it needs to be loaded into memory for a requested
execution. Recorded once per model load attempt for {OptimizationTarget}.
Note that callers may separately check whether a model is available before
calling the code path where this histogram is recorded. If this histogram
has 100% of samples in the true bucket, make sure to double-check that there
isn't a separate histogram specific to the model.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutor.ModelLoadingDuration2.{OptimizationTarget}"
units="ms" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time duration it took to load a model file successfully for
{OptimizationTarget}. Recorded once per model load attempt for
{OptimizationTarget}.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutor.TaskExecutionLatency.{OptimizationTarget}"
units="ms" expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the execution latency for the {OptimizationTarget} model run by the
model executor from when the task is posted from execution complete.
Recorded once per {OptimizationTarget} model execution attempt. In M115+ if
batch execution is used, this is recorded once per batch whether.
In M115, this was changed to always record the task execution latency
whether or not the task succeeded, whereas before it was only recorded on
success.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutor.TaskSchedulingLatency.{OptimizationTarget}"
units="ms" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the duration a {OptimizationTarget} model execution request spent
waiting for the background task queue to run the task. Recorded once per
{OptimizationTarget} model execution attempt. In M115+ if batch execution is
used, this is recorded once per batch.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelExecutor.TimeSincePreviousRun.{OptimizationTarget}"
units="ms" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time duration between runs of the model for
{OptimizationTarget}. Recorded once for every model run after the first. In
M115+ if batch execution is used, this is recorded once per batch.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram name="OptimizationGuide.ModelFilesVerified.{OptimizationTarget}"
enum="BooleanValid" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether all model files existed on disk when the model was requested
to be loaded for {OptimizationTarget}. The model file itself and any
additional files must be present on disk for this check to report success.
Recorded once per attempted model load, which happens when a feature is
registered with the Optimization Guide.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelHandler.HandlerCreated.{OptimizationTarget}"
enum="BooleanCreated" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records that the model handler has been created for {OptimizationTarget}.
Recorded once for each session (profile start) that the model handler is
created for {OptimizationTarget}.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelHandler.HandlerCreatedToModelAvailable.{OptimizationTarget}"
units="ms" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time duration between the handler getting created to the model
being available for {OptimizationTarget}. Recorded once for each session
(profile start) that the model handler is created for {OptimizationTarget}.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.ModelQuality.UserFeedback.{ModelExecutionFeature}"
enum="OptimizationGuideUserFeedback" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The user feedback for each model execution feature. Recorded once per each
model quality logs upload request.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram
name="OptimizationGuide.ModelQualityLogsUploaderService.NetErrorCode"
enum="NetErrorCodes" expires_after="2024-11-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Net error codes for each model quality logs upload, recorded on success and
failure.
</summary>
</histogram>
<histogram name="OptimizationGuide.ModelQualityLogsUploaderService.Status"
enum="HttpResponseCode" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The HTTP response code for each model quality logs upload, recorded on
success and failure.
</summary>
</histogram>
<histogram
name="OptimizationGuide.ModelQualityLogsUploaderService.UploadStatus.{ModelExecutionFeature}"
enum="OptimizationGuideModelQualityLogsUploadStatus"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of model quality logs upload request for each
{ModelExecutionFeature}. Uploaded once for each model quality logs upload
request.
</summary>
<token key="ModelExecutionFeature" variants="ModelExecutionFeature"/>
</histogram>
<histogram name="OptimizationGuide.OptimizationFilterStatus.{OptimizationType}"
enum="OptimizationGuideOptimizationFilterStatus" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Status of processing OptimizationFilter configuration for
{OptimizationType}. Recorded when the OptimizationGuideService receives a
notification to process hints.
</summary>
<token key="OptimizationType" variants="OptimizationType"/>
</histogram>
<histogram name="OptimizationGuide.OptimizationHintsComponent.MajorVersion2"
units="major version number" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the major version of the Optimization Hints component that was
pushed to the client. This will be recorded at startup and when a new
component is received each time the component was loaded.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotations.AnnotateVisitResultCached"
enum="BooleanCacheHit" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the requested annotation for a visit was provided by the
in-memory cache or required them to be determined by executing the models.
Recorded once for every requested visit annotation.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotations.BatchRequestedSize.{AnnotationType}"
units="counts" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the size of a {AnnotationType} BatchAnnotate request in how many
string inputs were given. Recorded once for every call to BatchAnnotate.
</summary>
<token key="AnnotationType" variants="AnnotationType"/>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotations.BatchSuccess.{AnnotationType}"
enum="BooleanSuccess" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether any input to a {AnnotationType} BatchAnnotate request was
executed successfully. Recorded once for every completed callback for
BatchAnnotate.
</summary>
<token key="AnnotationType" variants="AnnotationType"/>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotations.GoogleSearchMetadataExtracted"
enum="Boolean" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the TemplateURLService was able to extract metadata on a
Google SRP. Recorded once for each local visit to the Google SRP.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotations.JobExecutionTime.{AnnotationType}"
units="ms" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the total execution time of a {AnnotationType} BatchAnnotate
request. Recorded once for every completed callback for BatchAnnotate.
</summary>
<token key="AnnotationType" variants="AnnotationType"/>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotations.JobScheduleTime.{AnnotationType}"
units="ms" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time a {AnnotationType} BatchAnnotate request was waiting in the
queue before execution started. Recorded once for every completed callback
for BatchAnnotate.
</summary>
<token key="AnnotationType" variants="AnnotationType"/>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotations.SalientImageAvailability"
enum="OptimizationGuideSalientImageAvailability" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Records the availability of salient images on page load.</summary>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotationsService.ContentAnnotated"
enum="BooleanAnnotated" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the page content was annotated successfully, if submitted
for annotation. This will approximately be once a page load after the page
load has finished loading.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotationsService.ContentAnnotationsStorageStatus"
enum="PageContentAnnotationsStorageStatus" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the status of whether the content annotations were stored in History
Service when the necessary data has been collected successfully. This will
be recorded multiple times per page load, for both the related searches as
well as the model annotations once the page has finished loading.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotationsService.ContentAnnotationsStorageStatus.{PageContentAnnotationsStorageType}"
enum="PageContentAnnotationsStorageStatus" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the status of whether the {PageContentAnnotationsStorageType} were
stored in History Service when the data has been collected successfully.
This will record at most once per page load.
</summary>
<token key="PageContentAnnotationsStorageType"
variants="PageContentAnnotationsStorageType"/>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotationsService.RelatedSearchesCache.CacheHit"
enum="BooleanCacheHit" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether there was a cache hit when attempting to fetch the set of
related searches cached by the ZPS prefetching on SRP logic. This will be
recorded approximately once per successful Google SRP page load.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotationsService.RelatedSearchesExtracted"
enum="BooleanAnnotated" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether related searches were successfully extracted from Google
SRP, if requested. This will be recorded approximately once per page load
after the page has finished loading.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PageContentAnnotationsService.VisibilityScoreOfGoogleSRP"
units="score" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the visibility score of Google Search Result Pages when the page's
annotation is complete.
</summary>
</histogram>
<histogram name="OptimizationGuide.PageTextDump.AbandonedRequests"
units="count" expires_after="M125">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of text dump requests that were sent to the renderer and did not
get a response after a grace period following DidFinishLoad, thus were
abandoned. This may be recorded multiple times per pageload.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PageTextDump.FrameDumpLength.{PageTextDumpEvent}"
units="bytes" expires_after="M125">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The length, in bytes, of every completed frame dump for the
{PageTextDumpEvent} event. Note that these values are capped at runtime to
an experimentally controlled value.
</summary>
<token key="PageTextDumpEvent" variants="PageTextDumpEvent"/>
</histogram>
<histogram
name="OptimizationGuide.PageTextDump.OutstandingRequests.DidFinishLoad"
units="count" expires_after="M125">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of outstanding page text dump requests at DidFinishLoad.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PageTextDump.TimeUntilFrameDisconnected.{PageTextDumpEvent}"
units="ms" expires_after="M125">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The duration it took for a frame dump request, for the {PageTextDumpEvent}
event, from being sent until being canceled. Recorded every time a request
is canceled. This normally occurs because the mojo pipe disconnected.
</summary>
<token key="PageTextDumpEvent" variants="PageTextDumpEvent"/>
</histogram>
<histogram
name="OptimizationGuide.PageTextDump.TimeUntilFrameDumpCompleted.{PageTextDumpEvent}"
units="ms" expires_after="M125">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The duration it took for a frame dump request for the {PageTextDumpEvent}
event, to complete successfully. Recorded every time a request completes
successfully.
</summary>
<token key="PageTextDumpEvent" variants="PageTextDumpEvent"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionManager.DownloadServiceAvailabilityBlockedFetch"
enum="BooleanBlocked" expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the Download Service was unavailable and blocked a fetch
that would have happened otherwise. Only recorded if model downloads are
enabled for the session.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PredictionManager.FirstModelFetchSinceServiceInit"
units="ms" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time duration it took for the first model fetch to start from
the time the optimization guide service was initialized. Recorded once at
startup when the first model fetch happens.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PredictionManager.IsDownloadUrlValid.{OptimizationTarget}"
enum="BooleanValid" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the download URL for {OptimizationTarget} received from the
remote Optimization Guide server is valid.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionManager.ModelAvailableAtRegistration.{OptimizationTarget}"
enum="BooleanAvailable" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the model was in the local store for {OptimizationTarget}
when the observer for {OptimizationTarget} was registered with the
prediction manager. Recorded at most once per session (profile start) when
{OptimizationTarget} is registered.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionManager.ModelDeliveryEvents.{OptimizationTarget}"
enum="OptimizationGuideModelDeliveryEvent" expires_after="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the different events of prediction model delivery lifecycle for
{OptimizationTarget}, such as fetching model metadata, downloading model
file, verification, unzipping, etc. Recorded whenever lifecycle state
changes.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionManager.RegistrationTimeSinceServiceInit.{OptimizationTarget}"
units="ms" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time duration it took for the feature to register with the
optimization guide for {OptimizationTarget} from the time the optimization
guide service was initialized. Recorded once when the feature registers with
the service.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelDownloadManager.DownloadStartLatency.{OptimizationTarget}"
units="ms" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time duration it took for the model download to be started by
the download service for {OptimizationTarget} from the time it was requested
by the optimization guide. Recorded once per model download when model
download starts successfully.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelDownloadManager.DownloadStatus"
enum="OptimizationGuidePredictionModelDownloadStatus" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of verifying and processing model downloads. Recorded once per
file that was successfully downloaded via the Download Service.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelDownloadManager.DownloadSucceeded"
enum="BooleanSuccess" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the Download Service notified whether a model download has
succeeded or failed.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelDownloadManager.ReplaceFileError.{OptimizationTarget}"
enum="PlatformFileError" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the exact error whenever writing a model file fails at the step
where the model is moved from the scratch directory to its final location.
Recorded every time a {OptimizationTarget} model file is downloaded and
being processed for storage.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelDownloadManager.State.{OptimizationTarget}"
enum="OptimizationGuidePredictionModelDownloadState"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The state of a model download. Recorded multiple times per model file
download, as the state is changed.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram name="OptimizationGuide.PredictionModelExpired.{OptimizationTarget}"
enum="BooleanExpired" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether a prediction model for an OptimizationTarget expired if it
was not updated or used within the configured expiration time, but can
change subject to Finch or server configuration. Recorded once per browser
startup.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelExpiredVersion.{OptimizationTarget}"
units="version number" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the version of a prediction model for an OptimizationTarget that
expired if it was not updated or used within the configured expiration time,
but can change subject to Finch or server configuration. Recorded once per
browser startup.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelFetcher.GetModelsResponse.NetErrorCode"
enum="NetErrorCodes" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Net error codes for GetModelsRequest to the Optimization Guide Service on
success and failure. Recorded once per GetModelsRequest where the model was
fetched for. It is not advisable to sum up the counts across
OptimizationTargets as the GetModelsRequests bundle requests for various
OptimizationTargets into single request to the server.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelFetcher.GetModelsResponse.NetErrorCode.{OptimizationTarget}"
enum="NetErrorCodes" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Net error codes for GetModelsRequest to the Optimization Guide Service on
success and failure for {OptimizationTarget}. Recorded once per
GetModelsRequest where the model for {OptimizationTarget} was fetched for.
It is not advisable to sum up the counts across OptimizationTargets as the
GetModelsRequests bundle requests for various OptimizationTargets into
single request to the server.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelFetcher.GetModelsResponse.Status"
enum="HttpResponseCode" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
For each GetModelsRequest to the Optimization Guide Service, log the HTTP
response code on success and failure. Recorded once per GetModelsRequest
where the model was fetched for. It is not advisable to sum up the counts
across OptimizationTargets as the GetModelsRequests bundle requests for
various OptimizationTargets into single request to the server.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelFetcher.GetModelsResponse.Status.{OptimizationTarget}"
enum="HttpResponseCode" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
For each GetModelsRequest to the Optimization Guide Service for
{OptimizationTarget}, log the HTTP response code on success and failure.
Recorded once per GetModelsRequest where the model for {OptimizationTarget}
was fetched for. It is not advisable to sum up the counts across
OptimizationTargets as the GetModelsRequests bundle requests for various
OptimizationTargets into single request to the server.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelLoadedVersion.{OptimizationTarget}"
units="version number" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the version of the prediction model that was loaded from the store
and used until updated by a fetch. Recorded only if the loaded model was
valid.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram name="OptimizationGuide.PredictionModelRemoved.{OptimizationTarget}"
enum="Boolean" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Recorded whenever the prediction model for {OptimizationTarget} was removed
from the model store.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelStore.ModelCount.{OptimizationTarget}"
units="counts" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The total number of model directories in the prediction model store for
{OptimizationTarget}. Recorded once at startup.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram name="OptimizationGuide.PredictionModelStore.ModelRemovalReason"
enum="OptimizationGuidePredictionModelStoreModelRemovalReason"
expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the reason the prediction model was removed from the model store.
Recorded when the model is removed.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelStore.ModelRemovalReason.{OptimizationTarget}"
enum="OptimizationGuidePredictionModelStoreModelRemovalReason"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the reason the prediction model for {OptimizationTarget} was removed
from the model store. Recorded when the model is removed.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelStore.TotalDirectorySize.{OptimizationTarget}"
units="MB" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The total disk usage of the prediction model store attributed to
{OptimizationTarget}. Recorded once at startup.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelUpdateVersion.{OptimizationTarget}"
units="version number" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the version of the prediction model that was fetched as an update.
Recorded only if a model returned was valid and is available for use.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram
name="OptimizationGuide.PredictionModelValidationLatency.{OptimizationTarget}"
units="ms" expires_after="2024-11-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the duration of construction and validation of a prediction model
when the prediction manager loads it into memory for a given optimization
target. Recorded only if the model is valid and successfully loaded into
memory for use.
</summary>
<token key="OptimizationTarget" variants="OptimizationTarget"/>
</histogram>
<histogram name="OptimizationGuide.ProcessHintsResult"
enum="OptimizationGuideProcessHintsResult" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether processing the hints succeeded or failed at a particular step.
Recorded when the OptimizationGuideService receives a notification to
process hints.
</summary>
</histogram>
<histogram name="OptimizationGuide.ProcessingComponentAtShutdown"
enum="BooleanYesNo" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether the Optimization Hints component was being processed when the hints
manager is told to shutdown.
</summary>
</histogram>
<histogram name="OptimizationGuide.PushNotifications.CachedNotificationCount"
units="count" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of cached push notifications that were pulled from the Android
cache after the native persistent store became fully initialized. Recorded
once per native startup in cases where the cache did not overflow.
</summary>
</histogram>
<histogram
name="OptimizationGuide.PushNotifications.CachedNotificationsHandledSuccessfully"
enum="BooleanSuccess" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether the push notification cache was handled successfully and was able to
be cleared out. Recorded once per each attempt at handling one cache shard.
</summary>
</histogram>
<histogram name="OptimizationGuide.PushNotifications.DidOverflow"
enum="Boolean" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the Android push notification cache overflowed and caused
the whole store to be purged. Recorded once per native startup.
</summary>
</histogram>
<histogram name="OptimizationGuide.PushNotifications.ReadCacheResult"
enum="OptimizationGuideReadCacheResult" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of reading the cache of push notifications and parsing
the encoded cache into protobufs. This is recorded once for every encoded
protobuf that is read from cache.
</summary>
</histogram>
<histogram name="OptimizationGuide.PushNotifications.ReceivedNotificationType"
enum="OptimizationType" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the OptimizationType of the push notification. Recorded when the
notification is received and before the notification payload is delivered to
feature handlers.
</summary>
</histogram>
<histogram name="OptimizationGuide.RemoteFetchingEnabled" enum="BooleanEnabled"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether the session is enabled for fetching information from the remote
Optimization Guide Service. Recorded when the profile is initialized for the
session if Optimization Hints are enabled and the profile is a non-incognito
profile.
</summary>
</histogram>
<histogram name="OptimizationGuide.TextSafetyChecker.InferenceResult"
enum="OptimizationGuideTextSafetyInferenceResult"
expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The result of a text safety inference request. Recorded once for each such
request.
</summary>
</histogram>
<histogram name="OptimizationGuide.TextSafetyChecker.InitTime" units="ms"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The duration of the text safety checker's initialization time. Recorded once
for each new model execution session.
</summary>
</histogram>
<histogram name="OptimizationGuide.TextSafetyChecker.ModelCreationTime"
units="ms" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The duration elapsed during text safety model creation. Recorded once for
each text safety inference request.
</summary>
</histogram>
<histogram name="OptimizationGuide.TextSafetyChecker.ModelExecutionTime"
units="ms" expires_after="M135">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The duration of text safety model execution. Recorded once for each text
safety inference request.
</summary>
</histogram>
<histogram name="OptimizationGuide.TextSafetyChecker.TokensPerSecond"
units="counts" expires_after="2025-02-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
An estimate of the text safety model's inference throughput in tokens per
second. Recorded once for each text safety inference request.
</summary>
</histogram>
</histograms>
</histogram-configuration>