1fb726d48Sopenharmony_ci# Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved. 2fb726d48Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3fb726d48Sopenharmony_ci# you may not use this file except in compliance with the License. 4fb726d48Sopenharmony_ci# You may obtain a copy of the License at 5fb726d48Sopenharmony_ci# 6fb726d48Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7fb726d48Sopenharmony_ci# 8fb726d48Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9fb726d48Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10fb726d48Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11fb726d48Sopenharmony_ci# See the License for the specific language governing permissions and 12fb726d48Sopenharmony_ci# limitations under the License. 13fb726d48Sopenharmony_ciimport("//build/ohos.gni") 14fb726d48Sopenharmony_ciimport("../../../build/ts.gni") 15fb726d48Sopenharmony_ciohos_source_set("pbreader_parser_src") { 16fb726d48Sopenharmony_ci subsystem_name = "${OHOS_PROFILER_SUBSYS_NAME}" 17fb726d48Sopenharmony_ci part_name = "${OHOS_PROFILER_PART_NAME}" 18fb726d48Sopenharmony_ci sources = [ 19fb726d48Sopenharmony_ci "../parser_base.cpp", 20fb726d48Sopenharmony_ci "pbreader_clock_detail_parser.cpp", 21fb726d48Sopenharmony_ci "pbreader_parser.cpp", 22fb726d48Sopenharmony_ci ] 23fb726d48Sopenharmony_ci include_dirs = [ 24fb726d48Sopenharmony_ci "../../proto_reader/include", 25fb726d48Sopenharmony_ci ".", 26fb726d48Sopenharmony_ci "htrace_parser", 27fb726d48Sopenharmony_ci "../../include", 28fb726d48Sopenharmony_ci "../../", 29fb726d48Sopenharmony_ci "../", 30fb726d48Sopenharmony_ci "../../trace_data", 31fb726d48Sopenharmony_ci "../../cfg", 32fb726d48Sopenharmony_ci "../../trace_streamer", 33fb726d48Sopenharmony_ci "../../metrics", 34fb726d48Sopenharmony_ci "${THIRD_PARTY}/bounds_checking_function/include", 35fb726d48Sopenharmony_ci "${THIRD_PARTY}/protobuf/src", 36fb726d48Sopenharmony_ci "${THIRD_PARTY}/sqlite/include", 37fb726d48Sopenharmony_ci "${THIRD_PARTY}/json/single_include/nlohmann", 38fb726d48Sopenharmony_ci "../../filter", 39fb726d48Sopenharmony_ci "../../base", 40fb726d48Sopenharmony_ci "../../rpc", 41fb726d48Sopenharmony_ci "../ebpf_parser", 42fb726d48Sopenharmony_ci ] 43fb726d48Sopenharmony_ci include_dirs += [ 44fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype", 45fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/ftrace", 46fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/ftrace/template", 47fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/hilog", 48fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/hiperf", 49fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/hisysevent", 50fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/htrace", 51fb726d48Sopenharmony_ci "${SRC}/trace_data/trace_stdtype/measure", 52fb726d48Sopenharmony_ci ] 53fb726d48Sopenharmony_ci if (is_mingw || is_mac) { 54fb726d48Sopenharmony_ci include_dirs += [ 55fb726d48Sopenharmony_ci "${THIRD_PARTY}/elfutils/libelf", 56fb726d48Sopenharmony_ci "${THIRD_PARTY}/libbpf/include/uapi", 57fb726d48Sopenharmony_ci ] 58fb726d48Sopenharmony_ci } 59fb726d48Sopenharmony_ci 60fb726d48Sopenharmony_ci if (!is_independent_compile) { 61fb726d48Sopenharmony_ci configs = [ "${TS_DIR}/gn:ts_config" ] 62fb726d48Sopenharmony_ci } 63fb726d48Sopenharmony_ci if (enable_ts_utest && !use_wasm) { 64fb726d48Sopenharmony_ci cflags = [ 65fb726d48Sopenharmony_ci "-fprofile-arcs", 66fb726d48Sopenharmony_ci "-ftest-coverage", 67fb726d48Sopenharmony_ci ] 68fb726d48Sopenharmony_ci ldflags = [ 69fb726d48Sopenharmony_ci "-fprofile-arcs", 70fb726d48Sopenharmony_ci "-ftest-coverage", 71fb726d48Sopenharmony_ci "--coverage", 72fb726d48Sopenharmony_ci ] 73fb726d48Sopenharmony_ci if (is_test) { 74fb726d48Sopenharmony_ci cflags += [ "-D IS_UT" ] 75fb726d48Sopenharmony_ci } 76fb726d48Sopenharmony_ci } 77fb726d48Sopenharmony_ci public_configs = [ "../ebpf_parser:ebpf_parser_cfg" ] 78fb726d48Sopenharmony_ci public_deps = 79fb726d48Sopenharmony_ci [ "${OHOS_TRACE_STREAMER_PROTOS_DIR}/protos/services:ts_all_type_cpp" ] 80fb726d48Sopenharmony_ci if (enable_hiperf) { 81fb726d48Sopenharmony_ci public_deps += [ "../hiperf_parser:hiperf_parser" ] 82fb726d48Sopenharmony_ci } 83fb726d48Sopenharmony_ci if (enable_native_hook) { 84fb726d48Sopenharmony_ci public_deps += [ "native_hook_parser:native_hook_parser" ] 85fb726d48Sopenharmony_ci } 86fb726d48Sopenharmony_ci if (enable_hilog) { 87fb726d48Sopenharmony_ci public_deps += [ "hilog_parser:pbreader_hilog_parser" ] 88fb726d48Sopenharmony_ci } 89fb726d48Sopenharmony_ci if (enable_hisysevent) { 90fb726d48Sopenharmony_ci public_deps += [ "hisysevent_parser:pbreader_hisysevent_parser" ] 91fb726d48Sopenharmony_ci } 92fb726d48Sopenharmony_ci if (enable_arkts) { 93fb726d48Sopenharmony_ci public_deps += [ "arkts:pbreader_arkts_parser" ] 94fb726d48Sopenharmony_ci } 95fb726d48Sopenharmony_ci if (enable_htrace) { 96fb726d48Sopenharmony_ci public_deps += [ "htrace_parser:pbreader_htrace_parser" ] 97fb726d48Sopenharmony_ci } 98fb726d48Sopenharmony_ci if (enable_ffrt) { 99fb726d48Sopenharmony_ci public_deps += [ "ffrt_parser:pbreader_ffrt_parser" ] 100fb726d48Sopenharmony_ci } 101fb726d48Sopenharmony_ci if (enable_memory) { 102fb726d48Sopenharmony_ci public_deps += [ "mem_parser:pbreader_mem_parser" ] 103fb726d48Sopenharmony_ci } 104fb726d48Sopenharmony_ci public_deps += [ "xpower_parser:pbreader_xpower_parser" ] 105fb726d48Sopenharmony_ci if (enable_hidump) { 106fb726d48Sopenharmony_ci public_deps += [ "hidump_parser:pbreader_hidump_parser" ] 107fb726d48Sopenharmony_ci } 108fb726d48Sopenharmony_ci if (enable_cpudata) { 109fb726d48Sopenharmony_ci public_deps += [ "cpu_data_parser:cpu_data_parser" ] 110fb726d48Sopenharmony_ci } 111fb726d48Sopenharmony_ci if (enable_network) { 112fb726d48Sopenharmony_ci public_deps += [ "network_parser:network_parser" ] 113fb726d48Sopenharmony_ci } 114fb726d48Sopenharmony_ci if (enable_diskio) { 115fb726d48Sopenharmony_ci public_deps += [ "disk_io_parser:disk_io_parser" ] 116fb726d48Sopenharmony_ci } 117fb726d48Sopenharmony_ci if (enable_process) { 118fb726d48Sopenharmony_ci public_deps += [ "process_parser:process_parser" ] 119fb726d48Sopenharmony_ci } 120fb726d48Sopenharmony_ci if (enable_stream_extend) { 121fb726d48Sopenharmony_ci public_deps += 122fb726d48Sopenharmony_ci [ "${EXTEND_SRC}/parser/pbreader_stream_parser:stream_extend_parser" ] 123fb726d48Sopenharmony_ci } 124fb726d48Sopenharmony_ci public_deps += [ 125fb726d48Sopenharmony_ci "${OHOS_TRACE_STREAMER_PROTOS_DIR}/protos/services:ts_all_type_cpp_standard", 126fb726d48Sopenharmony_ci "${THIRD_PARTY}/protobuf:protobuf_lite_static", 127fb726d48Sopenharmony_ci "${THIRD_PARTY}/protobuf:protobuf_static", 128fb726d48Sopenharmony_ci "//third_party/perf_include/hiviewdfx:libfaultloggerd", 129fb726d48Sopenharmony_ci ] 130fb726d48Sopenharmony_ci} 131