blob: a3da82c98af450d4f56805dae085b963803a88e8 [file] [log] [blame]
# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("../../gn/perfetto.gni")
import("../../gn/wasm.gni")
wasm_lib("trace_processor_wasm") {
name = "trace_processor"
sources = [
"wasm_bridge.cc",
]
# All the deps below are implicitly xxx($wasm_toolchain) because of the
# outer "is_wasm" block.
deps = [
":lib",
"../../buildtools:sqlite",
"../../gn:default_deps",
"../../include/perfetto/base",
"../../protos/perfetto/trace_processor:lite",
]
}
# The library which eases processing of Perfetto traces by exposing reading
# friendly APIs.
static_library("trace_processor") {
deps = [
":lib",
]
}
source_set("lib") {
sources = [
"basic_types.h",
"chunked_trace_reader.h",
"counters_table.cc",
"counters_table.h",
"process_table.cc",
"process_table.h",
"process_tracker.cc",
"process_tracker.h",
"proto_trace_parser.cc",
"proto_trace_parser.h",
"proto_trace_tokenizer.cc",
"proto_trace_tokenizer.h",
"query_constraints.cc",
"query_constraints.h",
"sched_slice_table.cc",
"sched_slice_table.h",
"sched_tracker.cc",
"sched_tracker.h",
"scoped_db.h",
"slice_table.cc",
"slice_table.h",
"slice_tracker.cc",
"slice_tracker.h",
"span_operator_table.cc",
"span_operator_table.h",
"sqlite_utils.h",
"string_table.cc",
"string_table.h",
"table.cc",
"table.h",
"thread_table.cc",
"thread_table.h",
"trace_blob_view.h",
"trace_processor.cc",
"trace_processor.h",
"trace_processor_context.cc",
"trace_processor_context.h",
"trace_sorter.cc",
"trace_sorter.h",
"trace_storage.cc",
"trace_storage.h",
"virtual_destructors.cc",
"window_operator_table.cc",
"window_operator_table.h",
]
deps = [
"../../buildtools:sqlite",
"../../gn:default_deps",
"../../include/perfetto/traced:sys_stats_counters",
"../../protos/perfetto/trace:lite",
"../../protos/perfetto/trace_processor:lite",
"../base",
"../protozero",
]
if (build_standalone) {
sources += [
"json_trace_parser.cc",
"json_trace_parser.h",
]
deps += [ "../../gn:jsoncpp_deps" ]
}
}
if (current_toolchain == host_toolchain) {
executable("trace_processor_shell_host") {
deps = [
":lib",
"../../gn:default_deps",
"../../protos/perfetto/trace_processor:lite",
"../base",
]
if (build_standalone) {
deps += [ "../../buildtools:linenoise" ]
}
sources = [
"trace_processor_shell.cc",
]
}
}
copy("trace_processor_shell") {
host_out_dir_ = get_label_info(":trace_processor_shell_host($host_toolchain)",
"root_out_dir")
deps = [
":trace_processor_shell_host($host_toolchain)",
]
sources = [
"${host_out_dir_}/trace_processor_shell_host",
]
outputs = [
"${root_out_dir}/trace_processor_shell",
]
}
source_set("unittests") {
testonly = true
sources = [
"counters_table_unittest.cc",
"process_table_unittest.cc",
"process_tracker_unittest.cc",
"proto_trace_parser_unittest.cc",
"query_constraints_unittest.cc",
"sched_slice_table_unittest.cc",
"sched_tracker_unittest.cc",
"slice_tracker_unittest.cc",
"span_operator_table_unittest.cc",
"thread_table_unittest.cc",
"trace_sorter_unittest.cc",
]
deps = [
":lib",
"../../buildtools:sqlite",
"../../gn:default_deps",
"../../gn:gtest_deps",
"../../protos/perfetto/trace:lite",
"../base",
]
}
source_set("integrationtests") {
testonly = true
sources = [
"trace_database_integrationtest.cc",
]
deps = [
":lib",
"../../buildtools:sqlite",
"../../gn:default_deps",
"../../gn:gtest_deps",
"../../protos/perfetto/trace:lite",
"../../protos/perfetto/trace_processor:lite",
"../base",
"../base:test_support",
]
}