| # Copyright 2018 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. |
| |
| # There should be only one tracing service. 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 = [ |
| "agent_registry.cc", |
| "agent_registry.h", |
| "coordinator.cc", |
| "coordinator.h", |
| "perfetto/consumer_host.cc", |
| "perfetto/consumer_host.h", |
| "perfetto/json_trace_exporter.cc", |
| "perfetto/json_trace_exporter.h", |
| "perfetto/perfetto_service.cc", |
| "perfetto/perfetto_service.h", |
| "perfetto/perfetto_tracing_coordinator.cc", |
| "perfetto/perfetto_tracing_coordinator.h", |
| "perfetto/producer_host.cc", |
| "perfetto/producer_host.h", |
| "perfetto/track_event_json_exporter.cc", |
| "perfetto/track_event_json_exporter.h", |
| "recorder.cc", |
| "recorder.h", |
| "tracing_service.cc", |
| "tracing_service.h", |
| ] |
| |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| |
| public_deps = [ |
| "//base", |
| "//mojo/public/cpp/bindings", |
| "//services/service_manager/public/cpp", |
| "//services/tracing/public/cpp", |
| "//third_party/perfetto:libperfetto", |
| "//third_party/perfetto/protos/perfetto/config:lite", |
| ] |
| |
| deps = [ |
| "//third_party/perfetto/protos/perfetto/trace/chrome:minimal_complete_lite", |
| ] |
| } |
| |
| source_set("manifest") { |
| sources = [ |
| "manifest.cc", |
| "manifest.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//services/service_manager/public/cpp", |
| "//services/tracing/public/mojom", |
| ] |
| } |
| |
| source_set("tests") { |
| testonly = true |
| |
| sources = [ |
| "agent_registry_unittest.cc", |
| "coordinator_test_util.cc", |
| "coordinator_test_util.h", |
| "coordinator_unittest.cc", |
| "public/cpp/trace_event_agent_unittest.cc", |
| "recorder_unittest.cc", |
| "test_util.cc", |
| "test_util.h", |
| ] |
| |
| if (is_mac || is_linux || is_android || is_fuchsia) { |
| sources += [ |
| "public/cpp/perfetto/task_runner_unittest.cc", |
| "public/cpp/perfetto/trace_event_data_source_unittest.cc", |
| "public/cpp/perfetto/traced_value_proto_writer_unittest.cc", |
| ] |
| } |
| |
| if (!is_android) { |
| sources += [ "tracing_service_unittest.cc" ] |
| } |
| |
| deps = [ |
| ":lib", |
| "//base", |
| "//base/test:test_support", |
| "//mojo/public/cpp/bindings", |
| "//services/service_manager/public/cpp", |
| "//services/service_manager/public/cpp/test:test_support", |
| "//services/service_manager/public/mojom", |
| "//services/tracing:lib", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| |
| if (is_mac || is_linux || is_android || is_fuchsia) { |
| sources += [ |
| "perfetto/consumer_host_unittest.cc", |
| "perfetto/json_trace_exporter_unittest.cc", |
| "perfetto/perfetto_integration_unittest.cc", |
| "perfetto/perfetto_tracing_coordinator_unittest.cc", |
| "perfetto/test_utils.cc", |
| "perfetto/test_utils.h", |
| "perfetto/track_event_json_exporter_unittest.cc", |
| ] |
| |
| deps += [ |
| "//third_party/perfetto/include/perfetto/protozero:protozero", |
| "//third_party/perfetto/protos/perfetto/common:lite", |
| "//third_party/perfetto/protos/perfetto/trace:lite", |
| "//third_party/perfetto/protos/perfetto/trace/chrome:lite", |
| "//third_party/perfetto/protos/perfetto/trace/interned_data:lite", |
| "//third_party/perfetto/protos/perfetto/trace/track_event:lite", |
| ] |
| } |
| } |