chromium/services/resource_coordinator/BUILD.gn

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# There should be only one resource coordinator. It is currently
# in the browser process. So, only //content/browser should link to this target.
# Others modules should only need the public targets.
source_set("lib") {
  sources = [
    "memory_instrumentation/aggregate_metrics_processor.cc",
    "memory_instrumentation/aggregate_metrics_processor.h",
    "memory_instrumentation/chrome_graph_processor.cc",
    "memory_instrumentation/chrome_graph_processor.h",
    "memory_instrumentation/coordinator_impl.cc",
    "memory_instrumentation/coordinator_impl.h",
    "memory_instrumentation/global_dump_graph_converter.cc",
    "memory_instrumentation/global_dump_graph_converter.h",
    "memory_instrumentation/graph.cc",
    "memory_instrumentation/graph.h",
    "memory_instrumentation/memory_dump_map_converter.cc",
    "memory_instrumentation/memory_dump_map_converter.h",
    "memory_instrumentation/queued_request.cc",
    "memory_instrumentation/queued_request.h",
    "memory_instrumentation/queued_request_dispatcher.cc",
    "memory_instrumentation/queued_request_dispatcher.h",
    "memory_instrumentation/switches.cc",
    "memory_instrumentation/switches.h",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  public_deps = [
    "//base",
    "//mojo/public/cpp/bindings",
    "//services/metrics/public/cpp:metrics_cpp",
    "//services/metrics/public/cpp:ukm_builders",
    "//services/metrics/public/mojom",
    "//services/resource_coordinator/public/cpp:resource_coordinator_cpp",
    "//third_party/perfetto:libperfetto",
  ]
}

source_set("tests") {
  testonly = true

  sources = [
    "memory_instrumentation/chrome_graph_processor_unittest.cc",
    "memory_instrumentation/coordinator_impl_unittest.cc",
    "memory_instrumentation/global_dump_graph_converter_unittest.cc",
    "memory_instrumentation/graph_unittest.cc",
    "memory_instrumentation/memory_dump_map_converter_unittest.cc",
    "public/cpp/memory_instrumentation/memory_instrumentation_mojom_traits_unittest.cc",
    "public/cpp/memory_instrumentation/os_metrics_unittest.cc",
    "public/cpp/memory_instrumentation/tracing_integration_unittest.cc",
    "public/cpp/memory_instrumentation/tracing_observer_proto_unittest.cc",
  ]

  deps = [
    ":lib",
    "//base",
    "//base/test:test_support",
    "//components/ukm:test_support",
    "//mojo/public/cpp/bindings",
    "//services/resource_coordinator/public/cpp:resource_coordinator_cpp",
    "//services/resource_coordinator/public/cpp/memory_instrumentation:memory_instrumentation",
    "//services/tracing:test_utils",
    "//testing/gmock",
    "//testing/gtest",
  ]
}