tree: 4d35610d9cdfbcba53b63db8dcfd07fe3fd0928a [path history] [tgz]
  1. structured/
  2. app.html
  3. app.ts
  4. browser_proxy.ts
  5. BUILD.gn
  6. DEPS
  7. DIR_METADATA
  8. field_trials.html
  9. field_trials.ts
  10. log_utils.ts
  11. metrics_internals.html
  12. metrics_internals.ts
  13. metrics_internals_utils.cc
  14. metrics_internals_utils.h
  15. OWNERS
  16. README.md
components/metrics/debug/README.md

Metrics Internals Debug Page

chrome://metrics-internals is a debug page that reports the state of various metrics systems.

The page displays logs that have been collected by the UMA metrics service, which are eventually sent to Google servers. These logs can be exported, and their proto data can later be inspected using a Google-internal tool: go/metrics-internals-inspector.

On debug builds, the page will show all logs collected since browser startup, including logs from previous sessions that were not sent yet. On release builds, the page will instead show logs collected since the page was opened. This difference is mostly due to memory concerns (on official releases, we don't want logs to be lingering in memory since they can be relatively large).

Tip: By using the --export-uma-logs-to-file=FILE_PATH command line flag, all logs collected throughout the Chrome session will be exported to the passed FILE_PATH on shutdown (the file is created if it does not already exist). For release builds, this flag also has the effect of showing all logs collected since browser startup on the page.

Note: The delay between logs being closed can be long. If you are just testing to see if a certain metric (e.g., histogram, user action, etc.) is being properly sent to Google servers and you want logs to be collected more often, you can use the --metrics-upload-interval=N command line flag, where N is in seconds and is at least 20.

Unlike other metrics debug pages (chrome://user-actions, chrome://ukm, and chrome://histograms), this page focuses mainly on what has actually been sent to Google servers. For example, it is possible that a user action shown on chrome://user-actions is never actually sent (e.g., due to being truncated for bandwidth reasons). Similarly, a source shown on chrome://ukm might be dropped and hence never be sent. Or, a histogram shown on chrome://histograms would not have been collected under regular circumstances (e.g., subprocess histograms, which are normally only collected periodically, but are collected immediately when loading chrome://histograms). In other words, this page displays the actual logs that have been created and sent, without modifications.