blob: 36fab168e25af774a823b0fa403be05b2287898a [file] [log] [blame]
<!--
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 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="2023-10-01">
<owner>vakh@chromium.org</owner>
<owner>chrome-counter-abuse-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 ALLOWLISTED_URL check was moved to before NOT_BINARY_FILE in M62.
This is logged after download scanned by Safe Browsing.
This metric is used to populate a dashboard on go/crsb-site.
</summary>
</histogram>
<histogram name="SBClientDownload.CheckDownloadStats.Exe"
enum="SBClientDownloadCheckDownloadStats" expires_after="2023-08-08">
<owner>drubery@chromium.org</owner>
<owner>chrome-safebrowsing-alerts@google.com</owner>
<summary>
Records the reason why EXE downloads are marked as being malicious or clean
by the improved SafeBrowsing binary download protection. This is logged
after every EXE download scanned by Safe Browsing.
</summary>
</histogram>
<histogram name="SBClientDownload.DeepScanEvent" enum="SBDeepScanEvent"
expires_after="2024-03-28">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records events related to user interaction with deep scanning prompts. This
is recorded a few times during the process of each prompt for deep scanning:
- Once when the prompt is shown. - Once when the prompt is
accepted/bypassed. - Once when the scan is completed, either through
cancelation or completion.
</summary>
</histogram>
<histogram name="SBClientDownload.DeepScanTrigger" enum="SBDeepScanTriggers"
expires_after="2023-10-08">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-03-19">
<owner>domfc@chromium.org</owner>
<owner>chrome-counter-abuse-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.DmgAnalysisTimedOut" enum="BooleanTimedOut"
expires_after="2022-09-30">
<obsolete>
Replaced with SBClientDownload.DmgArchiveAnalysisResult in 04-2022
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
For each DMG download on Mac, records whether or not analysis of the DMG
timed out.
</summary>
</histogram>
<histogram name="SBClientDownload.DmgIterationSuccess" enum="BooleanSuccess"
expires_after="2022-09-30">
<obsolete>
Removed 08-2022. SBClientDownload.DmgArchiveAnalysisResult provides strictly
more detail about our ability to unpack DMGs.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
For each DMG download on Mac, records whether or not we were able to iterate
through the partitions of the DMG.
</summary>
</histogram>
<histogram name="SBClientDownload.DocumentCheckDownloadStats"
enum="SBClientDownloadCheckDownloadStats" expires_after="2023-10-15">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records the reason why document downloads are marked as being malicious or
clean by the Safe Browsing download protection. This is logged after
downloads are scanned by Safe Browsing.
</summary>
</histogram>
<histogram name="SBClientDownload.DocumentContainsMacros"
enum="BooleanContainsMacros" expires_after="2023-10-15">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records whether or not a downloaded document contains macros. This is logged
on each document download.
</summary>
</histogram>
<histogram name="SBClientDownload.DownloadExtensions"
enum="SBClientDownloadExtensions" expires_after="2023-08-27">
<owner>vakh@chromium.org</owner>
<owner>chrome-counter-abuse-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-counter-abuse-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="2023-09-24">
<owner>vakh@chromium.org</owner>
<owner>chrome-counter-abuse-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, allowlist 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.DownloadRequestDuration.{Analysis}"
units="ms" expires_after="2024-03-16">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records the total time it takes for the SafeBrowsing download service to
check whether the content of a download which underwent {Analysis} analysis
is malicious or not, including file feature extraction, allowlist 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>
<token key="Analysis">
<variant name="Dmg"/>
<variant name="Document" summary="Office document"/>
<variant name="None" summary="executable"/>
<variant name="Rar"/>
<variant name="SevenZip"/>
<variant name="Zip"/>
</token>
</histogram>
<histogram name="SBClientDownload.DownloadRequestDurationMedium.{Analysis}"
units="ms" expires_after="2024-03-16">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</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, allowlist 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.
This histogram is a &quot;medium&quot; version of
SBClientDownload.DownloadRequestDuration. It has a maximum of 3 minutes to
help investigate long-tail downloads.
</summary>
<token key="Analysis">
<variant name="Dmg"/>
<variant name="Document" summary="Office document"/>
<variant name="None" summary="executable"/>
<variant name="Rar"/>
<variant name="SevenZip"/>
<variant name="Zip"/>
</token>
</histogram>
<histogram name="SBClientDownload.DownloadRequestNetError" enum="NetErrorCodes"
expires_after="2024-04-24">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-06-04">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</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="2023-10-08">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</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.DownloadRequestResponseCode"
enum="HttpResponseCode" expires_after="2023-09-10">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.EncryptedZipUsesAes" enum="BooleanZipHasAES"
expires_after="2023-10-08">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records whether a downloaded ZIP contains any AES-encryped content. This is
logged once for every downloaded ZIP containing any encrypted content.
</summary>
</histogram>
<histogram name="SBClientDownload.ExtractDocumentFeaturesTimeMedium" units="ms"
expires_after="2022-10-16">
<obsolete>
Replaced with SBClientDownload.FileAnalysisDuration.Document in 06-2022.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.FileAnalysisDuration{Analysis}" units="ms"
expires_after="2023-06-08">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records the time it takes for the SafeBrowsing download service to check the
safety of the contents of a download which underwent analysis for
{Analysis}. This only includes file feature extraction. Also see
SBClientDownload.DownloadRequestDuration.
</summary>
<token key="Analysis">
<variant name="" summary="any file type, aggregated"/>
<variant name=".Dmg"/>
<variant name=".Document" summary="Office documents"/>
<variant name=".Executable" summary="executables"/>
<variant name=".Rar"/>
<variant name=".SevenZip"/>
<variant name=".Zip"/>
</token>
</histogram>
<histogram name="SBClientDownload.FileFeatureExtractionDuration" units="ms"
expires_after="2023-09-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records how long it takes to extract features from a downloaded file. This
is aggregated over all file types. It is recorded once per download.
</summary>
</histogram>
<histogram name="SBClientDownload.GetTabRedirectsDuration" units="ms"
expires_after="2023-09-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records how long it takes to get tab redirects when populating a
ClientDownloadRequest. This is aggregated over all file types. It is
recorded once per download.
</summary>
</histogram>
<histogram name="SBClientDownload.ImageDebugEntrySize" units="KB"
expires_after="2023-09-06">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records the size of the image debug entry that is extracted from a
downloaded executable. This is recorded on executable downloads on Windows.
</summary>
</histogram>
<histogram name="SBClientDownload.MalwareDeepScanResult.{trigger}"
enum="SBClientDownloadCheckResult" expires_after="2024-04-28">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="ConsumerPrompt"
summary="Advanced Protection or Enhanced Protection user selected
'Scan'"/>
<variant name="Policy" summary="Triggered by enterprise policy"/>
<variant name="Unknown" summary="Unknown trigger"/>
</token>
</histogram>
<histogram name="SBClientDownload.MemoryMapFileDuration" units="ms"
expires_after="2023-09-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records how long it takes to load the download as a memory-mapped file for
the purpose of extracting executable features. This is aggregated over all
file types that are checked as executables. It is recorded once per
download.
</summary>
</histogram>
<histogram name="SBClientDownload.SafeDownloadOpenedLatency2.{ShowAction}"
units="ms" expires_after="2024-03-02">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-09-29">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-03-19">
<owner>domfc@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-10-08">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.SevenZipEntryResult" enum="SevenZipResult"
expires_after="2023-09-26">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records the result of unpacking a single entry from a 7z archive. The result
includes either success or a coarse-grained error. This is logged for each
entry of each download of a 7z archive.
</summary>
</histogram>
<histogram name="SBClientDownload.TailoredWarning.HasVaidEmailForAccountInfo"
enum="BooleanValid" expires_after="2024-03-02">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records whether Chrome can find a valid email to be added in the tailored
warning string. Logged each time Safe Browsing asks Chrome to show the
account info in the warining. Ideally invalid email should be rare, because
Safe Browsing should take the user's signed-in status into account when
generating tailored verdicts.
</summary>
</histogram>
<histogram name="SBClientDownload.UserGestureFileType.Attributes"
enum="SBClientDownloadUserGestureFileTypeAttributes"
expires_after="2023-10-22">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-09-29">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-counter-abuse-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="2024-03-02">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-counter-abuse-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/crca-site.
</summary>
<token key="DangerType" variants="DownloadDangerTypeForBypassMetrics"/>
<token key="Action" variants="DownloadWarningAction"/>
</histogram>
<histogram
name="SBClientDownload.Warning.DownloadIsHttps.{DangerType}.{Action}"
enum="BooleanHttps" expires_after="2024-03-02">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-counter-abuse-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/crca-site.
</summary>
<token key="DangerType" variants="DownloadDangerTypeForBypassMetrics"/>
<token key="Action" variants="DownloadWarningAction"/>
</histogram>
<histogram name="SBClientDownload.Warning.FileType.{DangerType}.{Action}"
enum="SBClientDownloadExtensions" expires_after="2024-03-02">
<owner>xinghuilu@chromium.org</owner>
<owner>chrome-counter-abuse-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/crca-site.
</summary>
<token key="DangerType" variants="DownloadDangerTypeForBypassMetrics"/>
<token key="Action" variants="DownloadWarningAction"/>
</histogram>
<histogram name="SBClientDownload.{ArchiveType}ArchiveAnalysisResult"
enum="ArchiveAnalysisResult" expires_after="2023-09-21">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records a more granular reason why we failed to unpack a {ArchiveType} file.
This is recorded on every download of an {ArchiveType} file.
</summary>
<token key="ArchiveType">
<variant name="Dmg"/>
<variant name="Rar"/>
<variant name="SevenZip"/>
<variant name="Zip"/>
</token>
</histogram>
<histogram name="SBClientPhishing.ApplyTfliteTime.Classify" units="ms"
expires_after="2024-05-05">
<owner>andysjlim@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records the duration of running the TfLite classification, which is one step
in applying the TfLite model for phishing detection. This model is applied
roughly once per navigation.
</summary>
</histogram>
<histogram name="SBClientPhishing.BrowserReadyOnClassifierNotReady"
enum="BooleanReady" expires_after="2023-07-24">
<owner>andysjlim@chromium.org</owner>
<owner>chrome-counter-abuse-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.CancelClassificationReason"
enum="SBClientPhishingCancelClassificationReason"
expires_after="2023-10-15">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-09-10">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-09-10">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.ClassifyThresholdsResult"
enum="SBClientDetectionClassifyThresholdsResult" expires_after="2024-03-17">
<owner>andysjlim@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records the result of classification in visual TfLite model thresholds
comparison on the browser side
</summary>
</histogram>
<histogram name="SBClientPhishing.DOMFeatureTimeout" units="units"
expires_after="2023-08-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.FlatBufferMappedRegionValid"
enum="BooleanSuccess" expires_after="2022-12-11">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2024-04-25">
<owner>andysjlim@chromium.org</owner>
<owner>chrome-counter-abuse-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.LocalModelDetectsPhishing"
enum="BooleanIsPhishing" expires_after="2023-10-01">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.MainFrameRemoteExists" enum="BooleanExists"
expires_after="2022-08-29">
<obsolete>
Removed 04-2022 since the logic for how PhishingDetectors are managed
changed.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-10-01">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.NetworkRequestDuration" units="ms"
expires_after="2024-03-19">
<owner>andysjlim@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-10-08">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.OptimizationGuide.ModelFetchTime" units="ms"
expires_after="2024-01-12">
<owner>andysjlim@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records the duration of model fetch time after the OptimizationGuide Model
Observer for CSD-Phishing is registered on user session start.
</summary>
</histogram>
<histogram name="SBClientPhishing.PhishingDetectionDuration" units="ms"
expires_after="2023-09-10">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-10-01">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-08-27">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.RequestSatisfiedFromCache" enum="BooleanHit"
expires_after="2022-08-03">
<obsolete>
Removed 06-2022
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.RTLookupForceRequest"
enum="BooleanForceRequest" expires_after="2023-11-28">
<owner>andysjlim@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
Records if the RTUrlLookupResponse contains FORCE_REQUEST in
client_side_detection_type, which forces the Client Side Detection -
Phishing ping to be sent to the server if the user also has Enhanced Safe
Browsing or Safe Browsing Extended Reporting opt-in. This histogram is
logged once on every successful classification.
</summary>
</histogram>
<histogram name="SBClientPhishing.ServerModelDetectsPhishing"
enum="BooleanIsPhishing" expires_after="2023-10-01">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.TermFeatureChunkTime" units="ms"
expires_after="2023-08-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-08-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-08-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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="2023-08-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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-03-16">
<obsolete>
Removed 03-2023 since the value was consistently small, and we don't expect
it to change over time.
</obsolete>
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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.URLFeatureTime" units="ms"
expires_after="2023-08-03">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-alerts@google.com</owner>
<summary>
The time taken to extract URL features for the phishing classifier.
</summary>
</histogram>
<histogram name="SBClientPhishing.VisualFeatureTime" units="ms"
expires_after="2023-08-27">
<owner>drubery@chromium.org</owner>
<owner>chrome-counter-abuse-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>