Need to implement a system for collecting and reporting URL-keyed metrics. Full details at -- http://go/ukm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2b85c623d45e745e15ff65f10788c5d57f69ec3c commit 2b85c623d45e745e15ff65f10788c5d57f69ec3c Author: rkaplow <rkaplow@chromium.org> Date: Mon Jan 30 16:57:17 2017 Populate a basic SystemProfileProto in UKM. BUG= 678682 Review-Url: https://codereview.chromium.org/2657083003 Cr-Commit-Position: refs/heads/master@{#447003} [modify] https://crrev.com/2b85c623d45e745e15ff65f10788c5d57f69ec3c/components/metrics/metrics_log.cc [modify] https://crrev.com/2b85c623d45e745e15ff65f10788c5d57f69ec3c/components/metrics/metrics_log.h [modify] https://crrev.com/2b85c623d45e745e15ff65f10788c5d57f69ec3c/components/metrics/metrics_log_unittest.cc [modify] https://crrev.com/2b85c623d45e745e15ff65f10788c5d57f69ec3c/components/ukm/ukm_service.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b8d63f435e6c869164a0ec63eec5be867d2b7157 commit b8d63f435e6c869164a0ec63eec5be867d2b7157 Author: rkaplow <rkaplow@chromium.org> Date: Mon Feb 06 19:00:42 2017 Add network information to UKM Setup metric providers for UKM logs, and add network as a first client. Small refactor of ChromeMetricsServiceClient::Initialize to put the registrations in their own methods. BUG= 678682 Review-Url: https://codereview.chromium.org/2671603002 Cr-Commit-Position: refs/heads/master@{#448330} [modify] https://crrev.com/b8d63f435e6c869164a0ec63eec5be867d2b7157/chrome/browser/metrics/chrome_metrics_service_client.cc [modify] https://crrev.com/b8d63f435e6c869164a0ec63eec5be867d2b7157/chrome/browser/metrics/chrome_metrics_service_client.h [modify] https://crrev.com/b8d63f435e6c869164a0ec63eec5be867d2b7157/components/metrics/test_metrics_provider.cc [modify] https://crrev.com/b8d63f435e6c869164a0ec63eec5be867d2b7157/components/metrics/test_metrics_provider.h [modify] https://crrev.com/b8d63f435e6c869164a0ec63eec5be867d2b7157/components/ukm/ukm_service.cc [modify] https://crrev.com/b8d63f435e6c869164a0ec63eec5be867d2b7157/components/ukm/ukm_service.h [modify] https://crrev.com/b8d63f435e6c869164a0ec63eec5be867d2b7157/components/ukm/ukm_service_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1334c0aa8505dc48616233442f89e4b1fd1fb778 commit 1334c0aa8505dc48616233442f89e4b1fd1fb778 Author: holte <holte@chromium.org> Date: Thu Feb 09 22:52:41 2017 UKM Sync Observer Disables UKM when any there are any active profiles which do not have history sync enabled. Purges local UKM data + resets client ID when any profile disables history sync. Purges local UKM data + resets client ID when UMA is disabled. Depends on https://codereview.chromium.org/2657673004/ BUG= 678682 Review-Url: https://codereview.chromium.org/2653693004 Cr-Commit-Position: refs/heads/master@{#449447} [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/chrome/browser/metrics/chrome_metrics_service_client.cc [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/chrome/browser/metrics/chrome_metrics_service_client.h [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/metrics/metrics_service_client.cc [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/metrics/metrics_service_client.h [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/metrics_services_manager/metrics_services_manager.cc [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/metrics_services_manager/metrics_services_manager.h [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/ukm/BUILD.gn [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/ukm/observers/DEPS [add] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/ukm/observers/sync_disable_observer.cc [add] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/ukm/observers/sync_disable_observer.h [add] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/ukm/observers/sync_disable_observer_unittest.cc [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/ukm/test_ukm_service.cc [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/ukm/ukm_service.cc [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/ukm/ukm_service.h [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/components/ukm/ukm_service_unittest.cc [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/ios/chrome/browser/metrics/BUILD.gn [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.h [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm [modify] https://crrev.com/1334c0aa8505dc48616233442f89e4b1fd1fb778/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/08137d79be70c84d73209e278c7e3f0a67f4442e commit 08137d79be70c84d73209e278c7e3f0a67f4442e Author: holte <holte@chromium.org> Date: Wed Feb 15 21:43:56 2017 Fix MetricsServiceClients to use SyncDisableObservers state. Currently, the clients are using the default client implementation instead of using the actual observed value, so UKM is always disabled. BUG= 678682 Review-Url: https://codereview.chromium.org/2700443002 Cr-Commit-Position: refs/heads/master@{#450813} [modify] https://crrev.com/08137d79be70c84d73209e278c7e3f0a67f4442e/chrome/browser/metrics/chrome_metrics_service_client.cc [modify] https://crrev.com/08137d79be70c84d73209e278c7e3f0a67f4442e/chrome/browser/metrics/chrome_metrics_service_client.h [modify] https://crrev.com/08137d79be70c84d73209e278c7e3f0a67f4442e/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.h [modify] https://crrev.com/08137d79be70c84d73209e278c7e3f0a67f4442e/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d960b4023800e7e90ae6752d2ec2a70bfc991674 commit d960b4023800e7e90ae6752d2ec2a70bfc991674 Author: Zhen Wang <zhenw@chromium.org> Date: Wed Mar 01 21:52:00 2017 Add UKM client side API This CL provides the generic client side API for using UKM. The added proto is manually copied and adapted for the Chromium tree. Design doc: https://docs.google.com/a/google.com/document/d/1-EhiW4jzHIh9Ap74EdNr6LiwDp_oKQgtE-m9GkMbtrE/ BUG= 678682 R=bmcquade@chromium.org, holte@chromium.org, oysteine@chromium.org, rkaplow@chromium.org Review-Url: https://codereview.chromium.org/2704373003 . Cr-Commit-Position: refs/heads/master@{#454050} [modify] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/metrics/proto/BUILD.gn [add] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/metrics/proto/ukm/entry.proto [modify] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/metrics/proto/ukm/report.proto [modify] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/metrics/proto/ukm/source.proto [modify] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/ukm/BUILD.gn [add] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/ukm/ukm_entry.cc [add] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/ukm/ukm_entry.h [add] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/ukm/ukm_entry_builder.cc [add] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/ukm/ukm_entry_builder.h [modify] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/ukm/ukm_service.cc [modify] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/ukm/ukm_service.h [modify] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/ukm/ukm_service_unittest.cc [modify] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/ukm/ukm_source.cc [modify] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/components/ukm/ukm_source.h [modify] https://crrev.com/d960b4023800e7e90ae6752d2ec2a70bfc991674/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d433dd5d64e4b2ffc352906dbf72bdd6d2df1fe8 commit d433dd5d64e4b2ffc352906dbf72bdd6d2df1fe8 Author: zhenw <zhenw@chromium.org> Date: Thu Mar 02 03:43:44 2017 Add UKM API GetNewSourceID() This CL adds a new UKM API GetNewSourceID(). So different subsystems can use the same API to get new source ID to avoid collision. BUG= 678682 Review-Url: https://codereview.chromium.org/2727013002 Cr-Commit-Position: refs/heads/master@{#454168} [modify] https://crrev.com/d433dd5d64e4b2ffc352906dbf72bdd6d2df1fe8/components/ukm/ukm_service.cc [modify] https://crrev.com/d433dd5d64e4b2ffc352906dbf72bdd6d2df1fe8/components/ukm/ukm_service.h [modify] https://crrev.com/d433dd5d64e4b2ffc352906dbf72bdd6d2df1fe8/components/ukm/ukm_service_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/91148407c7a785c2e49958dc99542626f7a77bbc commit 91148407c7a785c2e49958dc99542626f7a77bbc Author: rkaplow <rkaplow@chromium.org> Date: Fri Mar 03 00:09:46 2017 Add Feature params for UKM Service to control thresholds on sources and entries. BUG= 678682 Review-Url: https://codereview.chromium.org/2727343004 Cr-Commit-Position: refs/heads/master@{#454448} [modify] https://crrev.com/91148407c7a785c2e49958dc99542626f7a77bbc/components/ukm/ukm_service.cc [modify] https://crrev.com/91148407c7a785c2e49958dc99542626f7a77bbc/components/ukm/ukm_service_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c5e49a3f0d49efa6d313f165599e697289c5468e commit c5e49a3f0d49efa6d313f165599e697289c5468e Author: zhenw <zhenw@chromium.org> Date: Wed Mar 15 00:46:13 2017 UKM: Remove UkmService::RecordSource This CL removes the old API UkmService::RecordSource. It also changes the source vector to a map. BUG= 678682 Review-Url: https://codereview.chromium.org/2737953002 Cr-Commit-Position: refs/heads/master@{#456922} [modify] https://crrev.com/c5e49a3f0d49efa6d313f165599e697289c5468e/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc [modify] https://crrev.com/c5e49a3f0d49efa6d313f165599e697289c5468e/components/autofill/core/browser/autofill_manager_unittest.cc [modify] https://crrev.com/c5e49a3f0d49efa6d313f165599e697289c5468e/components/autofill/core/browser/autofill_metrics_unittest.cc [modify] https://crrev.com/c5e49a3f0d49efa6d313f165599e697289c5468e/components/ukm/test_ukm_service.cc [modify] https://crrev.com/c5e49a3f0d49efa6d313f165599e697289c5468e/components/ukm/test_ukm_service.h [modify] https://crrev.com/c5e49a3f0d49efa6d313f165599e697289c5468e/components/ukm/ukm_service.cc [modify] https://crrev.com/c5e49a3f0d49efa6d313f165599e697289c5468e/components/ukm/ukm_service.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9e2fe00fdef6b5786d8077ceae63d92587b8110b commit 9e2fe00fdef6b5786d8077ceae63d92587b8110b Author: rkaplow <rkaplow@chromium.org> Date: Fri Mar 17 00:44:51 2017 Create Field Trial param for whitelisting UKM Entries. This allows us to have finer grained controls over which UKM Entries are currently being logged. If the param is empty, then we default to logging all Entry types. BUG= 678682 Review-Url: https://codereview.chromium.org/2749433002 Cr-Commit-Position: refs/heads/master@{#457631} [modify] https://crrev.com/9e2fe00fdef6b5786d8077ceae63d92587b8110b/components/ukm/ukm_entry.h [modify] https://crrev.com/9e2fe00fdef6b5786d8077ceae63d92587b8110b/components/ukm/ukm_service.cc [modify] https://crrev.com/9e2fe00fdef6b5786d8077ceae63d92587b8110b/components/ukm/ukm_service.h [modify] https://crrev.com/9e2fe00fdef6b5786d8077ceae63d92587b8110b/components/ukm/ukm_service_unittest.cc [modify] https://crrev.com/9e2fe00fdef6b5786d8077ceae63d92587b8110b/tools/metrics/histograms/histograms.xml
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ab82339347fc9e1ef796652945996cd746469b03 commit ab82339347fc9e1ef796652945996cd746469b03 Author: rkaplow <rkaplow@chromium.org> Date: Fri Mar 17 17:24:37 2017 Ensure UKM only sends URLs under a specific length (currently 2K). BUG= 678682 Review-Url: https://codereview.chromium.org/2756773002 Cr-Commit-Position: refs/heads/master@{#457802} [modify] https://crrev.com/ab82339347fc9e1ef796652945996cd746469b03/components/ukm/ukm_service_unittest.cc [modify] https://crrev.com/ab82339347fc9e1ef796652945996cd746469b03/components/ukm/ukm_source.cc
The initial implementation is complete, will track further changes under smaller task bugs.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/deb93492c3c6ea9aaa2aecd6491dec38b4b722b0 commit deb93492c3c6ea9aaa2aecd6491dec38b4b722b0 Author: holte <holte@chromium.org> Date: Tue Apr 04 18:41:28 2017 Create a UKM descriptions XML file BUG= 678682 Review-Url: https://codereview.chromium.org/2769223005 Cr-Commit-Position: refs/heads/master@{#461784} [modify] https://crrev.com/deb93492c3c6ea9aaa2aecd6491dec38b4b722b0/tools/metrics/common/models.py [add] https://crrev.com/deb93492c3c6ea9aaa2aecd6491dec38b4b722b0/tools/metrics/ukm/OWNERS [add] https://crrev.com/deb93492c3c6ea9aaa2aecd6491dec38b4b722b0/tools/metrics/ukm/PRESUBMIT.py [add] https://crrev.com/deb93492c3c6ea9aaa2aecd6491dec38b4b722b0/tools/metrics/ukm/model.py [add] https://crrev.com/deb93492c3c6ea9aaa2aecd6491dec38b4b722b0/tools/metrics/ukm/pretty_print.py [add] https://crrev.com/deb93492c3c6ea9aaa2aecd6491dec38b4b722b0/tools/metrics/ukm/pretty_print_test.py [add] https://crrev.com/deb93492c3c6ea9aaa2aecd6491dec38b4b722b0/tools/metrics/ukm/ukm.xml
Comment 1 by oysteine@chromium.org
, Jan 24 2017