blob: 3711703441b007eb3adb6f67cf0c192b0735f694 [file] [log] [blame]
# Copyright 2016 The Fuchsia 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("//build/components.gni")
import("//src/sys/core/build/core_shard.gni")
source_set("lib") {
sources = [
"app.cc",
"app.h",
"buffer_forwarder.cc",
"buffer_forwarder.h",
"config.cc",
"config.h",
"trace_manager.cc",
"trace_manager.h",
"trace_provider_bundle.cc",
"trace_provider_bundle.h",
"trace_session.cc",
"trace_session.h",
"tracee.cc",
"tracee.h",
"util.cc",
"util.h",
]
deps = [
"//src/lib/fsl",
"//third_party/rapidjson",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/trace-provider",
]
public_deps = [
"//sdk/fidl/fuchsia.tracing:fuchsia.tracing_hlcpp",
"//sdk/fidl/fuchsia.tracing.controller:fuchsia.tracing.controller_hlcpp",
"//sdk/fidl/fuchsia.tracing.provider:fuchsia.tracing.provider_hlcpp",
"//sdk/lib/fidl/cpp",
"//sdk/lib/fit",
"//sdk/lib/sys/cpp",
"//src/lib/fxl:fxl_cli",
"//zircon/system/ulib/async:async-cpp",
"//zircon/system/ulib/trace-reader",
"//zircon/system/ulib/zx",
]
}
executable("bin") {
output_name = "trace_manager"
sources = [ "main.cc" ]
deps = [
":lib",
"//sdk/lib/syslog/cpp",
"//src/lib/fxl",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
]
}
resource("tracing.config") {
sources = [ "tracing.config" ]
outputs = [ "data/{{source_file_part}}" ]
}
# A version of trace manager that does not include the built in trace
# providers. Mainly used in tests which need tracing and use their own routed
# trace manager rather than the one in core.
fuchsia_component("component_hermetic") {
component_name = "trace_manager"
manifest = "meta/trace_manager_hermetic.cml"
deps = [
":bin",
":tracing.config",
]
}
fuchsia_package("package_hermetic") {
package_name = "trace_manager_hermetic"
deps = [ ":component_hermetic" ]
}
fuchsia_package_with_single_component("trace_manager") {
testonly = true
manifest = "meta/trace_manager.cml"
component_name = "trace_manager"
package_name = "trace_manager"
deps = [
":bin",
":tracing.config",
]
subpackages = [
"//src/performance/cpuperf_provider",
"//src/performance/ktrace_provider",
"//src/performance/perfetto-bridge",
]
visibility = [
":*",
"//bundles/assembly/*",
"//bundles/assembly_input_groups/*",
"//src/performance/cpuperf_provider/*",
]
}
group("trace_manager_pkg") {
testonly = true
deps = [ ":trace_manager" ]
}