# Copyright 2014 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. import("//testing/test.gni") static_library("metrics") { sources = [ "call_stack_profile_metrics_provider.cc", "call_stack_profile_metrics_provider.h", "clean_exit_beacon.cc", "clean_exit_beacon.h", "client_info.cc", "client_info.h", "cloned_install_detector.cc", "cloned_install_detector.h", "daily_event.cc", "daily_event.h", "data_use_tracker.cc", "data_use_tracker.h", "drive_metrics_provider.cc", "drive_metrics_provider.h", "drive_metrics_provider_android.cc", "drive_metrics_provider_ios.mm", "drive_metrics_provider_linux.cc", "drive_metrics_provider_mac.mm", "drive_metrics_provider_win.cc", "enabled_state_provider.cc", "enabled_state_provider.h", "environment_recorder.cc", "environment_recorder.h", "execution_phase.cc", "execution_phase.h", "file_metrics_provider.cc", "file_metrics_provider.h", "histogram_encoder.cc", "histogram_encoder.h", "log_decoder.cc", "log_decoder.h", "log_store.h", "machine_id_provider.h", "machine_id_provider_stub.cc", "machine_id_provider_win.cc", "metrics_log.cc", "metrics_log.h", "metrics_log_manager.cc", "metrics_log_manager.h", "metrics_log_store.cc", "metrics_log_store.h", "metrics_log_uploader.h", "metrics_pref_names.cc", "metrics_pref_names.h", "metrics_provider.cc", "metrics_provider.h", "metrics_reporting_default_state.cc", "metrics_reporting_default_state.h", "metrics_reporting_service.cc", "metrics_reporting_service.h", "metrics_rotation_scheduler.cc", "metrics_rotation_scheduler.h", "metrics_scheduler.cc", "metrics_scheduler.h", "metrics_service.cc", "metrics_service.h", "metrics_service_accessor.cc", "metrics_service_accessor.h", "metrics_service_client.cc", "metrics_service_client.h", "metrics_state_manager.cc", "metrics_state_manager.h", "metrics_switches.cc", "metrics_switches.h", "metrics_upload_scheduler.cc", "metrics_upload_scheduler.h", "persisted_logs.cc", "persisted_logs.h", "persisted_logs_metrics.h", "persisted_logs_metrics_impl.cc", "persisted_logs_metrics_impl.h", "reporting_service.cc", "reporting_service.h", "stability_metrics_helper.cc", "stability_metrics_helper.h", "stability_metrics_provider.cc", "stability_metrics_provider.h", "system_memory_stats_recorder.h", "system_memory_stats_recorder_linux.cc", "system_memory_stats_recorder_win.cc", "url_constants.cc", "url_constants.h", ] public_deps = [ "//components/metrics/proto", ] deps = [ ":call_stack_profile_params", "//base", "//base:base_static", "//components/prefs", "//components/variations", "//third_party/zlib/google:compression_utils", ] if (is_chromeos) { deps += [ ":serialization" ] } if (is_mac) { libs = [ # The below are all needed for drive_metrics_provider_mac.mm. "CoreFoundation.framework", "DiskArbitration.framework", "Foundation.framework", "IOKit.framework", ] } if (is_win) { sources -= [ "machine_id_provider_stub.cc" ] deps += [ "//components/browser_watcher:stability_client" ] } } if (!is_ios) { static_library("gpu") { sources = [ "gpu/gpu_metrics_provider.cc", "gpu/gpu_metrics_provider.h", ] public_deps = [ ":metrics", ] deps = [ "//base", "//content/public/browser", "//gpu/config", ] } } static_library("net") { sources = [ "net/cellular_logic_helper.cc", "net/cellular_logic_helper.h", "net/net_metrics_log_uploader.cc", "net/net_metrics_log_uploader.h", "net/network_metrics_provider.cc", "net/network_metrics_provider.h", "net/version_utils.cc", "net/version_utils.h", "net/wifi_access_point_info_provider.cc", "net/wifi_access_point_info_provider.h", ] public_deps = [ ":metrics", ] allow_circular_includes_from = [ ":metrics" ] deps = [ "//base", "//components/data_use_measurement/core", "//components/variations", "//components/version_info", "//net", "//url", ] if (is_chromeos) { sources += [ "net/wifi_access_point_info_provider_chromeos.cc", "net/wifi_access_point_info_provider_chromeos.h", ] deps += [ "//chromeos" ] } } static_library("profiler") { sources = [ "profiler/profiler_metrics_provider.cc", "profiler/profiler_metrics_provider.h", "profiler/tracking_synchronizer.cc", "profiler/tracking_synchronizer.h", "profiler/tracking_synchronizer_delegate.h", "profiler/tracking_synchronizer_observer.cc", "profiler/tracking_synchronizer_observer.h", ] public_deps = [ ":metrics", ] deps = [ "//base", "//components/variations", ] } static_library("ui") { sources = [ "ui/screen_info_metrics_provider.cc", "ui/screen_info_metrics_provider.h", ] public_deps = [ ":metrics", ] deps = [ "//base", "//ui/display", "//ui/gfx", "//ui/gfx/geometry", ] } if (!is_ios) { static_library("profiler_content") { sources = [ "profiler/content/content_tracking_synchronizer_delegate.cc", "profiler/content/content_tracking_synchronizer_delegate.h", ] public_deps = [ ":profiler", ] deps = [ "//base", "//components/nacl/common:process_type", "//content/public/browser", "//content/public/common", ] } } else { static_library("profiler_ios") { sources = [ "profiler/ios/ios_tracking_synchronizer_delegate.cc", "profiler/ios/ios_tracking_synchronizer_delegate.h", ] public_deps = [ ":profiler", ] deps = [ "//base", ] } } static_library("single_sample_metrics") { sources = [ "single_sample_metrics.cc", "single_sample_metrics.h", "single_sample_metrics_factory_impl.cc", "single_sample_metrics_factory_impl.h", ] deps = [ "//mojo/public/cpp/bindings", "//services/service_manager/public/cpp", "//services/service_manager/public/interfaces", ] public_deps = [ "//components/metrics/public/interfaces:single_sample_metrics_mojo_bindings", ] } source_set("call_stack_profile_params") { sources = [ "call_stack_profile_params.cc", "call_stack_profile_params.h", ] } source_set("call_stacks") { sources = [ "call_stack_profile_collector.cc", "call_stack_profile_collector.h", ] deps = [ ":metrics", "//components/metrics/public/interfaces:call_stack_mojo_bindings", ] } source_set("child_call_stacks") { sources = [ "child_call_stack_profile_collector.cc", "child_call_stack_profile_collector.h", ] deps = [ "//components/metrics/public/interfaces:call_stack_mojo_bindings", "//services/service_manager/public/cpp", ] } static_library("test_support") { testonly = true sources = [ "test_enabled_state_provider.cc", "test_enabled_state_provider.h", "test_metrics_log_uploader.cc", "test_metrics_log_uploader.h", "test_metrics_provider.cc", "test_metrics_provider.h", "test_metrics_service_client.cc", "test_metrics_service_client.h", ] public_deps = [ ":metrics", ] deps = [ "//base", ] } if (is_linux) { static_library("serialization") { sources = [ "serialization/metric_sample.cc", "serialization/metric_sample.h", "serialization/serialization_utils.cc", "serialization/serialization_utils.h", ] deps = [ "//base", ] } } source_set("unit_tests") { testonly = true sources = [ "call_stack_profile_metrics_provider_unittest.cc", "child_call_stack_profile_collector_unittest.cc", "cloned_install_detector_unittest.cc", "daily_event_unittest.cc", "data_use_tracker_unittest.cc", "drive_metrics_provider_unittest.cc", "environment_recorder_unittest.cc", "file_metrics_provider_unittest.cc", "histogram_encoder_unittest.cc", "machine_id_provider_win_unittest.cc", "metrics_log_manager_unittest.cc", "metrics_log_store_unittest.cc", "metrics_log_unittest.cc", "metrics_service_unittest.cc", "metrics_state_manager_unittest.cc", "net/net_metrics_log_uploader_unittest.cc", "net/network_metrics_provider_unittest.cc", "persisted_logs_unittest.cc", "profiler/profiler_metrics_provider_unittest.cc", "profiler/tracking_synchronizer_unittest.cc", "single_sample_metrics_factory_impl_unittest.cc", "stability_metrics_helper_unittest.cc", "stability_metrics_provider_unittest.cc", "ui/screen_info_metrics_provider_unittest.cc", ] deps = [ ":call_stack_profile_params", ":child_call_stacks", ":metrics", ":net", ":profiler", ":single_sample_metrics", ":test_support", ":ui", "//base/test:test_support", "//components/metrics/public/cpp:call_stack_unit_tests", "//components/prefs:test_support", "//components/variations", "//mojo/public/cpp/bindings", "//net:test_support", "//services/service_manager/public/cpp", "//testing/gtest", "//third_party/zlib/google:compression_utils", "//ui/gfx/geometry", ] if (is_linux) { sources += [ "serialization/serialization_utils_unittest.cc" ] deps += [ ":serialization" ] } if (is_chromeos) { deps += [ "leak_detector:unit_tests", "//chromeos", ] } # iOS is not supported by the profiler and the ios-simulator bot chokes on # these tests. if (is_ios) { sources -= [ "child_call_stack_profile_collector_unittest.cc" ] deps -= [ "//components/metrics/public/cpp:call_stack_unit_tests" ] } } # Convenience testing target test("metrics_unittests") { sources = [ "//components/test/run_all_unittests.cc", ] deps = [ ":unit_tests", "//components/test:test_support", ] }