New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 733995 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocking:
issue 642762
issue 757374



Sign in to add a comment

Move ukm components to a metrics mojo service

Project Member Reported by mlamouri@chromium.org, Jun 16 2017

Issue description

The ukm code currently lives in its own component but in the context of servicification, it should move to the metrics service.
 
Summary: Move ukm components to a metrics mojo service (was: Move ukm components to a metrics service)
Please note that "metrics service" is already a thing (components/metrics/metrics_service.cc) so using that term to refer to the mojo service is confusing, because you're referring to something else than metrics_service.cc.


Project Member

Comment 2 by bugdroid1@chromium.org, Jul 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fd9dcefaa399277d5d7236d22f02a03d9b0382a9

commit fd9dcefaa399277d5d7236d22f02a03d9b0382a9
Author: Mounir Lamouri <mlamouri@chromium.org>
Date: Thu Jul 06 10:26:55 2017

Move components/ukm/public/ to services/metrics/public/.

This will allow Blink to use the UKM service while it is transitionned
to be an actual service.

Bug:  733995 
Change-Id: I36aaace7daf159a03c2ccd401b39371ab3a26d82
Reviewed-on: https://chromium-review.googlesource.com/536933
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#484530}
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/chrome/browser/DEPS
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/chrome/browser/android/contextualsearch/contextual_search_ranker_logger_impl.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/chrome/browser/android/contextualsearch/contextual_search_ranker_logger_impl.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/chrome/browser/metrics/ukm_browsertest.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/chrome/browser/page_load_metrics/page_load_tracker.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/chrome/browser/password_manager/chrome_password_manager_client.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/chrome/browser/plugins/plugin_info_message_filter.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/chrome/renderer/BUILD.gn
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/autofill/core/browser/DEPS
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/autofill/core/browser/autofill_metrics.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/autofill/core/browser/autofill_metrics.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/autofill/core/browser/form_structure.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/password_manager/core/browser/BUILD.gn
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/password_manager/core/browser/DEPS
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/password_manager/core/browser/password_form_metrics_recorder.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/password_manager/core/browser/password_form_metrics_recorder_unittest.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/password_manager/core/browser/password_manager_client.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/password_manager/core/browser/password_manager_metrics_recorder.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/password_manager/core/browser/password_manager_metrics_recorder_unittest.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/payments/core/DEPS
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/payments/core/journey_logger.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/translate/core/browser/DEPS
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/translate/core/browser/translate_ranker_impl.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/ukm/BUILD.gn
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/ukm/DEPS
[delete] https://crrev.com/18b1c7bb5c8ace4f38b7766727721e3f684bb0a5/components/ukm/public/ukm_export.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/ukm/ukm_interface.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/ukm/ukm_interface.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/ukm/ukm_recorder_impl.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/components/ukm/ukm_service_unittest.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/content/browser/BUILD.gn
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/content/browser/media/media_internals.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/content/browser/renderer_host/input/render_widget_host_latency_tracker.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/content/browser/renderer_host/input/render_widget_host_latency_tracker.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/content/browser/renderer_host/render_widget_host_delegate.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/content/renderer/BUILD.gn
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/content/renderer/DEPS
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/content/test/BUILD.gn
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/ios/chrome/browser/DEPS
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/ios/chrome/browser/application_context_impl.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/ios/chrome/browser/passwords/ios_chrome_password_manager_client.mm
[add] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/OWNERS
[add] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/README.md
[rename] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/cpp/BUILD.gn
[add] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/cpp/metrics_export.h
[rename] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/cpp/mojo_ukm_recorder.cc
[rename] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/cpp/mojo_ukm_recorder.h
[rename] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/cpp/ukm_entry_builder.cc
[rename] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/cpp/ukm_entry_builder.h
[rename] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/cpp/ukm_recorder.cc
[rename] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/cpp/ukm_recorder.h
[rename] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/interfaces/BUILD.gn
[rename] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/interfaces/OWNERS
[rename] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/metrics/public/interfaces/ukm_interface.mojom
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/resource_coordinator/DEPS
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/resource_coordinator/coordination_unit/coordination_unit_manager.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/resource_coordinator/public/interfaces/BUILD.gn
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/resource_coordinator/public/interfaces/service_callbacks.mojom
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/resource_coordinator/resource_coordinator_service.h
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/resource_coordinator/service_callbacks_impl.cc
[modify] https://crrev.com/fd9dcefaa399277d5d7236d22f02a03d9b0382a9/services/resource_coordinator/service_callbacks_impl.h

Cc: -holte@chromium.org
Owner: holte@chromium.org
Status: Assigned (was: Available)
hey is there any outstanding work here or can we close?
The code moved to the services code but doesn't run as a service, does it?
I guess I misunderstood since I don't know much about serviceication - i thought having it be a mojo interface would be enough for other processes to be able to collect to UKM.

Would you mind giving a bit more information here on what this would allow us to do, or is this an improvement needed for all mojo interfaces?

Comment 6 by holte@chromium.org, Jul 26 2017

My understanding is that, right now UKM's mojo interface is a capability off the browser process, rather than as a capability of a UKM service.

Moving forward, rather than UKM running as a service, it may make sense to just have it be a capability of a larger metrics service.  

Either way, the next step is probably to convert it to being a capability off of an metrics/ukm service embedded in the browser process.  I don't know that that makes it more broadly usable currently, but it would mean less change if metrics stopped being embedded in the browser and could run independently.
Blocking: 757374
Cc: hajimehoshi@chromium.org
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e830e7e38a287e5312e21db9f5aeb080d7bc30c8

commit e830e7e38a287e5312e21db9f5aeb080d7bc30c8
Author: Steven Holte <holte@google.com>
Date: Tue Nov 07 23:47:30 2017

Move url_keyed_metrics capability from browser to an embedded service.

This removes the need for resource_coordinator service to have
SetUkmRecorder interface, and just has it bind directly.

Also introduces MojoUkmRecorder::Create to access this service, and
uses this from Document::UkmRecorder().

Bug:  733995 

Change-Id: Ie8320cbd12c54af90e35ba21b8f30eb4e3ef4a0b
Reviewed-on: https://chromium-review.googlesource.com/611560
Commit-Queue: Steven Holte <holte@chromium.org>
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: oysteine <oysteine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514656}
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/chrome/app/BUILD.gn
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/chrome/browser/BUILD.gn
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/chrome/browser/DEPS
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/chrome/browser/chrome_content_browser_manifest_overlay.json
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.h
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/components/ukm/BUILD.gn
[delete] https://crrev.com/d5cf29a85fff3fd471d9223fe05cd112c09debbb/components/ukm/ukm_interface.cc
[delete] https://crrev.com/d5cf29a85fff3fd471d9223fe05cd112c09debbb/components/ukm/ukm_interface.h
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/content/public/app/mojo/content_renderer_manifest.json
[add] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/BUILD.gn
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/OWNERS
[add] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/manifest.json
[add] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/metrics_mojo_service.cc
[add] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/metrics_mojo_service.h
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/public/cpp/BUILD.gn
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/public/cpp/mojo_ukm_recorder.cc
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/public/cpp/mojo_ukm_recorder.h
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/public/cpp/ukm_recorder.h
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/public/interfaces/BUILD.gn
[add] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/public/interfaces/constants.mojom
[add] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/ukm_recorder_interface.cc
[add] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/metrics/ukm_recorder_interface.h
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/resource_coordinator/BUILD.gn
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/resource_coordinator/manifest.json
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/resource_coordinator/public/interfaces/BUILD.gn
[delete] https://crrev.com/d5cf29a85fff3fd471d9223fe05cd112c09debbb/services/resource_coordinator/public/interfaces/service_callbacks.mojom
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/resource_coordinator/resource_coordinator_service.cc
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/services/resource_coordinator/resource_coordinator_service.h
[delete] https://crrev.com/d5cf29a85fff3fd471d9223fe05cd112c09debbb/services/resource_coordinator/service_callbacks_impl.cc
[delete] https://crrev.com/d5cf29a85fff3fd471d9223fe05cd112c09debbb/services/resource_coordinator/service_callbacks_impl.h
[modify] https://crrev.com/e830e7e38a287e5312e21db9f5aeb080d7bc30c8/third_party/WebKit/Source/core/dom/Document.cpp

Comment 9 by holte@google.com, Feb 12 2018

Status: Fixed (was: Assigned)

Sign in to add a comment