blob: 334c2f7bd6f6442e40bd783c9db90d463aefc402 [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 SBClient 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>
<variants name="DownloadDangerTypeForBypassMetrics">
<variant name="DangerousFileType" summary="dangerous file type"/>
<variant name="Malicious" summary="malicious content"/>
<variant name="Others" summary="other danger types"/>
<variant name="Uncommon" summary="uncommon content"/>
</variants>
<variants name="DownloadWarningAction">
<variant name="Bypassed" summary="bypassed"/>
<variant name="Shown" summary="shown"/>
</variants>
<histogram name="SBClientDownload.CheckDownloadStats"
enum="SBClientDownloadCheckDownloadStats" expires_after="2022-07-11">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<owner>mattm@chromium.org</owner>
<summary>
Records the reason why downloads are marked as being malicious or clean by
the improved SafeBrowsing binary download protection. Note that
UNSUPPORTED_URL_SCHEME was split out of the INVALID_URL bucket in M41. The
NOT_BINARY_FILE check was moved before the UNSUPPORTED_URL_SCHEME check in
M42. The WHITELISTED_URL check was moved to before NOT_BINARY_FILE in M62.
This is logged after after download scanned by Safe Browsing.
This metric is used to populate a dashboard on go/crsb-site.
</summary>
</histogram>
<histogram name="SBClientDownload.CheckWhitelistResult"
enum="WhitelistedDownloadType" expires_after="M90">
<obsolete>
Removed 05-2021 due to lack of use
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
For each download supported by the SafeBrowsing download protection service,
records if it matches a certain whitelist (e.g. matches URL whitelist,
matches signature whitelist, or does not match any whitelists).
</summary>
</histogram>
<histogram name="SBClientDownload.DeepScanTrigger" enum="SBDeepScanTriggers"
expires_after="2022-06-26">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the reason each file was uploaded to Safe Browsing for deep
scanning. This is logged on every deep scan.
</summary>
</histogram>
<histogram name="SBClientDownload.DeepScanType" enum="SBDeepScanType"
expires_after="2022-09-01">
<owner>domfc@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the type of scan each time a download item starts a deep scan. This
is logged on every deep scan.
</summary>
</histogram>
<histogram name="SBClientDownload.DmgFileSuccessByType"
enum="SBClientDownloadExtensions" expires_after="M90">
<obsolete>
Removed 05-2021 due to lack of use
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Counts of DMG-like file types that were successfully analyzed by the
SafeBrowsing download service.
</summary>
</histogram>
<histogram name="SBClientDownload.DocumentAnalysisSuccess" units="Boolean"
expires_after="2022-08-15">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
For each Office file analyzed by the SafeBrowsing download service, records
if analysis by maldoca was successful.
</summary>
</histogram>
<histogram name="SBClientDownload.DownloadExtensions"
enum="SBClientDownloadExtensions" expires_after="2022-06-12">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<owner>mattm@chromium.org</owner>
<summary>
Records a histogram of how often users download a file with a file extension
that is possibly dangerous (e.g., exe, class).
</summary>
</histogram>
<histogram name="SBClientDownload.DownloadFileHasDmgSignature" enum="Boolean"
expires_after="M81">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
A Mac-only metric that records whether a given download file is a
cryptographically signed DMG archive. This metric is logged before Chrome
sends SafeBrowsing download pings.
</summary>
</histogram>
<histogram name="SBClientDownload.DownloadRequestDuration" units="ms"
expires_after="2022-08-23">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<owner>mattm@chromium.org</owner>
<summary>
Records the total time it takes for the SafeBrowsing download service to
check whether the content of a download is malicious or not, including file
feature extraction, whitelist checking, and server ping. This histogram only
includes checks that sent a ping to the SafeBrowsing server. It does not
include requests that were cancelled, but does include requests that
received a bad response.
</summary>
</histogram>
<histogram name="SBClientDownload.DownloadRequestNetError" enum="NetErrorCodes"
expires_after="2022-04-24">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<owner>mattm@chromium.org</owner>
<summary>
The net error code for all CheckClientDownloadRequest URLFetchers.
</summary>
</histogram>
<histogram name="SBClientDownload.DownloadRequestNetworkDuration" units="ms"
expires_after="2022-06-01">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<owner>mattm@chromium.org</owner>
<summary>
Records the time it takes for the SafeBrowsing download service ping. It is
not recorded for requests that were cancelled.
Warning: this histogram was expired from 2021-05-06 to 2021-12-02; data may
be missing.
</summary>
</histogram>
<histogram name="SBClientDownload.DownloadRequestNetworkStats"
enum="SBClientDownloadCheckDownloadStats" expires_after="2022-06-01">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<owner>mattm@chromium.org</owner>
<summary>
Records the results of SafeBrowsing binary download checks which caused a
server ping.
Warning: this histogram was expired from 2021-05-06 to 2021-12-02; data may
be missing.
</summary>
</histogram>
<histogram name="SBClientDownload.DownloadRequestPayloadSize" units="bytes"
expires_after="M90">
<obsolete>
Remove 05-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<owner>mattm@chromium.org</owner>
<summary>
The size of the upload data for CheckClientDownloadRequest URLFetchers.
</summary>
</histogram>
<histogram name="SBClientDownload.DownloadRequestResponseCode"
enum="HttpResponseCode" expires_after="2022-06-26">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<owner>mattm@chromium.org</owner>
<summary>
For CheckClientDownloadRequest URLFetchers with successful status, the HTTP
response code that was received.
</summary>
</histogram>
<histogram name="SBClientDownload.ExtractDmgFeaturesTimeMedium" units="ms"
expires_after="2021-07-21">
<obsolete>
Removed 08-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<owner>rsesek@chromium.org</owner>
<summary>
Records the time it takes for the SafeBrowsing download service to extract
info from a downloaded DMG file.
</summary>
</histogram>
<histogram name="SBClientDownload.ExtractDocumentFeaturesTimeMedium" units="ms"
expires_after="2022-08-15">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the time it takes for the SafeBrowsing download service to extract
info from an Office document.
</summary>
</histogram>
<histogram name="SBClientDownload.ExtractRarFeaturesTimeMedium" units="ms"
expires_after="2021-05-05">
<obsolete>
Removed in M92 due to lack of use.
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the time it takes for the SafeBrowsing download service to extract
info from a downloaded rar file.
</summary>
</histogram>
<histogram name="SBClientDownload.ExtractZipFeaturesTimeMedium" units="ms"
expires_after="2021-05-05">
<obsolete>
Removed December 2021 due to lack of use.
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<owner>mattm@chromium.org</owner>
<summary>
Records the time it takes for the SafeBrowsing download service to extract
info from a downloaded zip file.
</summary>
</histogram>
<histogram name="SBClientDownload.MalwareDeepScanResult.{trigger}"
enum="SBClientDownloadCheckResult" expires_after="2022-04-28">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the result of a malware deep scan, split by the reason the file was
uploaded for scanning. This is logged only for succesful scans. The overall
rate of successful scans is logged in
SafeBrowsingBinaryUploadRequest.MalwareResult.
Warning: this histogram was expired from 2021-04-29 to 2021-05-19; data may
be missing.
</summary>
<token key="trigger">
<variant name="AdvancedProtectionPrompt"
summary="Advanced Protection user selected 'Scan'"/>
<variant name="Policy" summary="Triggered by enterprise policy"/>
<variant name="Unknown" summary="Unknown trigger"/>
</token>
</histogram>
<histogram name="SBClientDownload.SafeDownloadOpenedLatency.{ShowAction}"
units="ms" expires_after="2022-05-20">
<obsolete>
Removed 09-2021 in favor of SBClientDownload.SafeDownloadOpenedLatency2
which filters autopened downloads.
</obsolete>
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the latency between when a safe download is completed and when the
user {ShowAction}. Users can open the download either from the download
shelf or from the downloads page. Note that if the user opens the same
download for several times, this metric is recorded each time.
</summary>
<token key="ShowAction">
<variant name="OpenDirectly" summary="opens the download directly"/>
<variant name="ShowInFolder" summary="clicks show in folder"/>
</token>
</histogram>
<histogram name="SBClientDownload.SafeDownloadOpenedLatency2.{ShowAction}"
units="ms" expires_after="2022-05-20">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the latency between when a safe download is completed and when the
user {ShowAction}. Users can open the download either from the download
shelf or from the downloads page. Note that if the user opens the same
download for several times, this metric is recorded each time. Excludes
downloads that were auto opened.
</summary>
<token key="ShowAction">
<variant name="OpenDirectly" summary="opens the download directly"/>
<variant name="ShowInFolder" summary="clicks show in folder"/>
</token>
</histogram>
<histogram
name="SBClientDownload.SafeDownloadOpenedLatencyByContentType.{DownloadContent}"
units="ms" expires_after="2022-09-30">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the latency between when a safe {DownloadContent} download is
completed and when the user opens the download either from the download
shelf or from the downloads page. Note that if the user opens the same
download for several times, this metric is recorded each time. Also, this
metrics excludes downloads that were auto opened.
</summary>
<token key="DownloadContent">
<variant name="APK" summary="apk"/>
<variant name="ARCHIVE" summary="archive"/>
<variant name="AUDIO" summary="audio"/>
<variant name="CRX" summary="crx"/>
<variant name="DMG" summary="dmg"/>
<variant name="DOCUMENT" summary="document"/>
<variant name="EBOOK" summary="ebook"/>
<variant name="EXECUTABLE" summary="executable"/>
<variant name="FONT" summary="font"/>
<variant name="IMAGE" summary="image"/>
<variant name="MAX" summary="max"/>
<variant name="OCTET_STREAM" summary="octet stream"/>
<variant name="PDF" summary="pdf"/>
<variant name="PRESENTATION" summary="presentation"/>
<variant name="SPREADSHEET" summary="spreadsheet"/>
<variant name="TEXT" summary="text"/>
<variant name="UNRECOGNIZED" summary="unrecognized"/>
<variant name="VIDEO" summary="video"/>
<variant name="WEB" summary="web"/>
</token>
</histogram>
<histogram name="SBClientDownload.SavePackageFileCount" units="files"
expires_after="2022-09-01">
<owner>domfc@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the number of files corresponding to a single save package being
scanned. This is logged on every save package deep scan.
</summary>
</histogram>
<histogram name="SBClientDownload.ServerRequestsDeepScanningPrompt"
enum="BooleanRequested" expires_after="2022-03-01">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records how often users in a population consented to deep scanning are
actually prompted for deep scanning.
</summary>
</histogram>
<histogram name="SBClientDownload.UserGestureFileType.Attributes"
enum="SBClientDownloadUserGestureFileTypeAttributes"
expires_after="2022-08-10">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the attributes of a download that is allowed on user gesture. Logged
each time a download happens and the danger level is ALLOW_ON_USER_GESTURE.
To get the percentage of a specific attribute, divide the number of record
of that attribute by the number of record of TOTAL_TYPE_CHECKED.
</summary>
</histogram>
<histogram
name="SBClientDownload.UserGestureFileType.LastBypassDownloadInterval"
units="ms" expires_after="2022-08-25">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the interval between the current download and the last download
bypass. Logged each time a download happens, the danger level is
ALLOW_ON_USER_GESTURE and the last download bypass exists.
</summary>
</histogram>
<histogram
name="SBClientDownload.Warning.DownloadHasUserGesture.{DangerType}.{Action}"
enum="BooleanHasUserGesture" expires_after="2022-05-20">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records whether the download was triggered by user gesture when a download
warning for {DangerType} is {Action}. The bypassed metrics are recorded when
the warning is either bypassed from the download shelf or from the downloads
page. By combining the shown and bypassed metrics for a specific danger
type, we can calculate whether the bypass rate is different between
user-initiated and automatically triggered downloads.
This metric is used to populate a dashboard on go/crsb-site.
</summary>
<token key="DangerType" variants="DownloadDangerTypeForBypassMetrics"/>
<token key="Action" variants="DownloadWarningAction"/>
</histogram>
<histogram
name="SBClientDownload.Warning.DownloadIsHttps.{DangerType}.{Action}"
enum="BooleanHttps" expires_after="2022-05-19">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records whether the download URL is HTTPS when a download warning for
{DangerType} is {Action}. The bypassed metrics are recorded when the warning
is either bypassed from the download shelf or from the downloads page. By
combining the shown and bypassed metrics for a specific danger type, we can
calculate whether the bypass rate is different between HTTPS downloads and
non-HTTPS downloads.
This metric is used to populate a dashboard on go/crsb-site.
</summary>
<token key="DangerType" variants="DownloadDangerTypeForBypassMetrics"/>
<token key="Action" variants="DownloadWarningAction"/>
</histogram>
<histogram name="SBClientDownload.Warning.FileType.{DangerType}.{Action}"
enum="SBClientDownloadExtensions" expires_after="2022-05-19">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the type of the file when a download warning for {DangerType} is
{Action}. The bypassed metrics are recorded when the warning is either
bypassed from the download shelf or from the downloads page. By combining
the shown and bypassed metrics for a specific danger type, we can calculate
the bypass rate of different file types.
This metric is used to populate a dashboard on go/crsb-site.
</summary>
<token key="DangerType" variants="DownloadDangerTypeForBypassMetrics"/>
<token key="Action" variants="DownloadWarningAction"/>
</histogram>
<histogram name="SBClientDownload.ZipFileSuccess" enum="BooleanSuccess"
expires_after="M83">
<obsolete>
Removed 10-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
For each zip file analyzed by the SafeBrowsing download service, records if
the unpacking was 100% successful.
</summary>
</histogram>
<histogram name="SBClientMalware.IPBlacklistRequestNetError"
enum="NetErrorCodes" expires_after="M85">
<obsolete>
Removed in 09-2020 since the SBClientMalware feature was removed.
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The net error code for all ClientMalwareRequest URLFetchers.
</summary>
</histogram>
<histogram name="SBClientMalware.IPBlacklistRequestPayloadSize" units="bytes"
expires_after="M85">
<obsolete>
Removed in 09-2020 since the SBClientMalware feature was removed.
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The size of the upload data for ClientMalwareRequest URLFetchers.
</summary>
</histogram>
<histogram name="SBClientMalware.IPBlacklistRequestResponseCode"
enum="HttpResponseCode" expires_after="M85">
<obsolete>
Removed in 09-2020 since the SBClientMalware feature was removed.
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
For ClientMalwareRequest URLFetchers with successful status, the HTTP
response code that was received.
</summary>
</histogram>
<histogram name="SBClientMalware.SentReports" enum="SBClientMalwareSentReports"
expires_after="M85">
<obsolete>
Removed in 09-2020 since the SBClientMalware feature was removed.
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Measures the success rate of sending malware reports. Sending a report can
fail due to a client reaching the limit on the number of reports it can send
per day or due to the report failing to be serialized.
</summary>
</histogram>
<histogram name="SBClientMalware.ServerDeterminesMalware"
enum="BooleanIsMalware" expires_after="M85">
<obsolete>
Removed in 09-2020 since the SBClientMalware feature was removed.
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>The counts for malware verdicts given by server side model.</summary>
</histogram>
<histogram name="SBClientPhishing.BrowserReadyOnClassifierNotReady"
enum="BooleanReady" expires_after="2022-03-08">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
When a renderer-side classification returns the error
&quot;CLASSIFIER_NOT_READY&quot;, this histogram is logged with whether or
not the browser process had a valid model. This can help to identify
problems distributing the model from browser process to the renderers.
</summary>
</histogram>
<histogram name="SBClientPhishing.CacheDetectsPhishing"
enum="BooleanIsPhishing" expires_after="2022-09-17">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
When a result is served from cache, this histogram records whether the
result was phishing or not.
</summary>
</histogram>
<histogram name="SBClientPhishing.CancelClassificationReason"
enum="SBClientPhishingCancelClassificationReason"
expires_after="2022-02-20">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The counts for various reasons why an in-progress phishing classification
was canceled.
</summary>
</histogram>
<histogram name="SBClientPhishing.ClassificationStart" enum="BooleanHit"
expires_after="2022-05-08">
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The number of pages that we could have possibly classified (essentially the
number of top page navigations by users with SBClientPhishing enabled). The
name is slightly misleading as it is recorded before
&quot;Preclassification&quot; happens.
This metric is used to populate a dashboard on go/crsb-site.
</summary>
</histogram>
<histogram name="SBClientPhishing.Classifier.Event"
enum="SBPhishingClassifierEvent" expires_after="2022-06-26">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records events in the phishing classifier including reasons that prevents
phishing detection to complete on the renderer side.
</summary>
</histogram>
<histogram name="SBClientPhishing.ClassifierNotReadyReason"
enum="SBClientPhishingClientModelStatus" expires_after="2021-08-29">
<obsolete>
Removed in 05-2021 and replaced with
SBClientPhishing.BrowserReadyOnClassifierNotReady.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the result of the last model fetch. This is only recorded when
classification fails because the model is not ready. This is useful for
distinguishing different reasons the model may not be ready (never fetched,
fetch failed, etc.)
</summary>
</histogram>
<histogram name="SBClientPhishing.ClientModelDownloadResponseOrErrorCode"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="M94">
<obsolete>
Remove 09-2021
</obsolete>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Response or error codes from the SafeBrowsing service. Logged after a
request for the client side model finishes to capture the response code or
the error code for that HTTP request. Starting M92, the
ERR_HTTP_RESPONSE_CODE_FAILURE net error is matched to the actual HTTP
response code.
</summary>
</histogram>
<histogram name="SBClientPhishing.ClientModelStatus"
enum="SBClientPhishingClientModelStatus" expires_after="2021-12-05">
<obsolete>
Removed 12-2021
</obsolete>
<owner>vakh@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The counts for various model status codes that we get after loading a new
client-side phishing model.
</summary>
</histogram>
<histogram name="SBClientPhishing.ClientModelVersionFetched" units="version"
expires_after="2021-11-21">
<obsolete>
Removed 10-2021 since models are no longer fetched by this mechanism.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the version of the local phishing detection model fetched. This
histogram is logged each time we load a model.
</summary>
</histogram>
<histogram name="SBClientPhishing.DOMFeatureChunkTime" units="ms"
expires_after="M77">
<owner>gab@chromium.org</owner>
<summary>
The time that an individual chunk of DOM feature extraction work took.
</summary>
</histogram>
<histogram name="SBClientPhishing.DOMFeatureFrameRemoved" units="units"
expires_after="M90">
<obsolete>
Removed 01-29-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@chromium.org</owner>
<summary>
The number of times that DOM feature extraction finished early because the
active WebDocument's frame was removed during traversal.
</summary>
</histogram>
<histogram name="SBClientPhishing.DOMFeatureIterations" units="units"
expires_after="M77">
<owner>gab@chromium.org</owner>
<summary>
The number of iterations that the DOM feature extractor took to finish.
</summary>
</histogram>
<histogram name="SBClientPhishing.DOMFeatureResumeTime" units="ms"
expires_after="2018-08-30">
<owner>gab@chromium.org</owner>
<summary>
The time that it took to resume DOM feature extraction for the phishing
classifier. Longer times may indicate that the page DOM changed between
chunks of work and the extractor had to re-traverse up to the saved
position.
</summary>
</histogram>
<histogram name="SBClientPhishing.DOMFeatureTimeout" units="units"
expires_after="2022-08-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The number of phishing classifications that were aborted because DOM feature
extraction took too long.
</summary>
</histogram>
<histogram name="SBClientPhishing.DOMFeatureTotalTime" units="ms"
expires_after="M77">
<owner>gab@chromium.org</owner>
<summary>
The time that the DOM feature extarctor took to finish, summed across all
chunks of work.
</summary>
</histogram>
<histogram name="SBClientPhishing.FlatBufferMappedRegionValid"
enum="BooleanSuccess" expires_after="2022-06-05">
<owner>bhatiarohit@google.com</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records whether the shared memory region created to hold the flatbuffer was
created successfully on not. This is logged on dynamic model update (which
is rare), or on each startup.
</summary>
</histogram>
<histogram name="SBClientPhishing.FlatBufferScorer.CreationStatus"
enum="SBClientPhishingScorerCreationStatus" expires_after="2022-10-25">
<owner>bhatiarohit@google.com</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the status when we create a FlatBuffer scorer object for the
client-side phishing detection classifier.
</summary>
</histogram>
<histogram name="SBClientPhishing.IllegalFeatureValue" units="units"
expires_after="M90">
<obsolete>
Removed 01-29-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The number of features which were omitted from phishing classification
because they were added with an illegal value. This would indicate a bug.
</summary>
</histogram>
<histogram name="SBClientPhishing.LocalModelDetectsPhishing"
enum="BooleanIsPhishing" expires_after="2022-05-08">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records whether the local phishing detection model detects phishing. This
histogram is logged each time the model is run (roughly on every navigation
to a non-allowlisted site)
This metric is used to populate a dashboard on go/crsb-site.
</summary>
</histogram>
<histogram name="SBClientPhishing.MainFrameRemoteConnected"
enum="BooleanConnected" expires_after="2022-05-29">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records whether we the mojo::Remote for the main frame's PhishingDetector is
connected. This is recorded on every classification (a large fraction of
navigations) where the mojo::Remote exists (see
SBClientPhishing.MainFrameRemoteExists).
</summary>
</histogram>
<histogram name="SBClientPhishing.MainFrameRemoteExists" enum="BooleanExists"
expires_after="2022-05-29">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records whether we have a mojo::Remote for the main frame's
PhishingDetector. This is recorded on every classification (a large fraction
of navigations).
</summary>
</histogram>
<histogram name="SBClientPhishing.ModelDynamicUpdateSuccess"
enum="BooleanSuccess" expires_after="2022-07-11">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records whether a dynamic update is successful or not. This is logged when a
new model is pushed (rare), or on each startup.
</summary>
</histogram>
<histogram name="SBClientPhishing.ModelDynamicUpdateVersion"
units="client phishing model version" expires_after="2022-05-08">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the model version on a successful dynamic update. This is logged
when a new model is pushed (rare), or on each startup.
</summary>
</histogram>
<histogram name="SBClientPhishing.NetworkRequestDuration" units="ms"
expires_after="2022-11-09">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the the duration of a network request due to a client side phishing
ping.
</summary>
</histogram>
<histogram name="SBClientPhishing.NetworkResult"
enum="CombinedHttpResponseAndNetErrorCode" expires_after="2022-11-09">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the net error or HTTP response code after sending a network request
due to a client side phishing ping.
</summary>
</histogram>
<histogram name="SBClientPhishing.PageCapturedMatchesBrowserURL"
enum="BooleanMatched" expires_after="2021-01-27">
<obsolete>
Removed 01-29-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
This records whether a page capture event matches the last URL requested
from the browser process. This histogram is recorded on every page capture
event.
</summary>
</histogram>
<histogram name="SBClientPhishing.PhishingDetectionDuration" units="ms"
expires_after="2022-06-26">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the duration it takes for client side phishing detection to finish.
</summary>
</histogram>
<histogram name="SBClientPhishing.PhishingDetectorResult"
enum="ClientSidePhishingResult" expires_after="2022-07-11">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The result enum received from the renderer-side classifier. This is recorded
after every renderer classification (roughly every page load not on the
allowlist).
This metric is used to populate a dashboard on go/crsb-site.
</summary>
</histogram>
<histogram name="SBClientPhishing.PreClassificationCheckResult"
enum="SBClientDetectionPreClassificationCheckResult"
expires_after="2022-06-12">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the result of phishing pre-classification checks. This is recorded
on every classification attempt (roughly every page load).
Starting in M95, the PRIVATE_IP bucket was split to include LOCAL_RESOURCE
and CHROME_UI_PAGE.
</summary>
</histogram>
<histogram name="SBClientPhishing.ProtobufScorer.CreationStatus"
enum="SBClientPhishingScorerCreationStatus" expires_after="2022-06-05">
<owner>bhatiarohit@google.com</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the status when we create a Protobuf scorer object for the
client-side phishing detection classifier.
</summary>
</histogram>
<histogram name="SBClientPhishing.ReportLimitSkipped" enum="BooleanHit"
expires_after="2021-01-27">
<obsolete>
Removed 01-29-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The number of phishing classifications that were previously cached as being
phishing but that will get re-classified (to possibly fix false positives).
</summary>
</histogram>
<histogram name="SBClientPhishing.RequestNotSerialized" units="units"
expires_after="M90">
<obsolete>
Removed 01-29-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The number of phishing classifier pingbacks that were skipped because
serializing the request protocol buffer to string failed.
</summary>
</histogram>
<histogram name="SBClientPhishing.RequestSatisfiedFromCache" enum="BooleanHit"
expires_after="2022-08-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The number of times that a cached phishing classification result was used,
rather than pinging the server.
</summary>
</histogram>
<histogram name="SBClientPhishing.RequestWithToken" enum="BooleanSent"
expires_after="2022-05-29">
<owner>bhatiarohit@google.com</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records if the phishing request was sent with a GAIA-tied OAuth2 token. This
token is sent only for signed-in Enhanced Safe Browsing users.
</summary>
</histogram>
<histogram name="SBClientPhishing.ScorerCreationStatus"
enum="SBClientPhishingScorerCreationStatus" expires_after="M94">
<obsolete>
Removed 05-27-2021. Using SBClientPhishing.ProtobufScorer.CreationStatus and
SBClientPhishing.FlatBufferScorer.CreationStatus
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the status when we create a scorer object for the client-side
phishing detection classifier.
</summary>
</histogram>
<histogram name="SBClientPhishing.ServerModelDetectsPhishing"
enum="BooleanIsPhishing" expires_after="2022-07-11">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records whether the server-side phishing detection model detects phishing.
This histogram is logged each time we contact Safe Browsing to evaluate
whether a site is phishing.
This metric is used to populate a dashboard on go/crsb-site.
</summary>
</histogram>
<histogram name="SBClientPhishing.TermFeatureBreakIterError" units="units"
expires_after="M90">
<obsolete>
Removed 01-29-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The number of phishing classifications that were aborted because the term
feature extractor failed to initialize an ICU break iterator.
</summary>
</histogram>
<histogram name="SBClientPhishing.TermFeatureChunkTime" units="ms"
expires_after="2022-10-17">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The time that an individual chunk of term feature extraction work took.
</summary>
</histogram>
<histogram name="SBClientPhishing.TermFeatureIterations" units="units"
expires_after="2022-10-17">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The number of iterations that the term feature extractor took to finish.
</summary>
</histogram>
<histogram name="SBClientPhishing.TermFeatureTimeout" units="units"
expires_after="2022-10-17">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The number of phishing classification that were aborted because term feature
extraction took too long.
</summary>
</histogram>
<histogram name="SBClientPhishing.TermFeatureTotalTime" units="ms"
expires_after="2022-08-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The time that the term feature extarctor took to finish, summed across all
chunks of work.
</summary>
</histogram>
<histogram name="SBClientPhishing.TfLiteModelLoadTime.{Scorer}" units="ms"
expires_after="2022-04-10">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records how long it takes the {Scorer} to load the TfLite model file from
the memory mapped file into a string. This blocks the main thread, so we
need to ensure it is small.
</summary>
<token key="Scorer">
<variant name="FlatbufferScorer" summary="Flatbuffer scorer"/>
<variant name="ProtobufScorer" summary="Protobuf scorer"/>
</token>
</histogram>
<histogram name="SBClientPhishing.TooManyFeatures" units="units"
expires_after="2021-01-27">
<obsolete>
Removed 01-29-2021 due to lack of use.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The number of times that the limit on the number of phishing classifier
features for a page was reached. This may indicate a bug, or that
kMaxFeatureSize is too small.
</summary>
</histogram>
<histogram name="SBClientPhishing.URLFeatureTime" units="ms"
expires_after="2022-08-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
The time taken to extract URL features for the phishing classifier.
</summary>
</histogram>
<histogram name="SBClientPhishing.VisualComparisonTime" units="ms"
expires_after="2022-06-05">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records how long it took to compare visual features against the visual
phishing model. This is recorded on every phishing classification.
</summary>
</histogram>
<histogram name="SBClientPhishing.VisualFeatureTime" units="ms"
expires_after="2022-06-12">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records how long it took to extract visual features on the main thread. Work
performed off-thread is not recorded in this histogram. This is recorded on
every phishing classification.
</summary>
</histogram>
</histograms>
</histogram-configuration>