1020a203aSopenharmony_ci# Copyright (c) 2023-2024 Huawei Device Co., Ltd. 2020a203aSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3020a203aSopenharmony_ci# you may not use this file except in compliance with the License. 4020a203aSopenharmony_ci# You may obtain a copy of the License at 5020a203aSopenharmony_ci# 6020a203aSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7020a203aSopenharmony_ci# 8020a203aSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9020a203aSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10020a203aSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11020a203aSopenharmony_ci# See the License for the specific language governing permissions and 12020a203aSopenharmony_ci# limitations under the License. 13020a203aSopenharmony_ciimport("//base/hiviewdfx/hiview/hiview.gni") 14020a203aSopenharmony_ciimport("//build/ohos.gni") 15020a203aSopenharmony_ci 16020a203aSopenharmony_ciconfig("unified_collector_config") { 17020a203aSopenharmony_ci visibility = [ "*:*" ] 18020a203aSopenharmony_ci include_dirs = [ 19020a203aSopenharmony_ci "app_trace/include", 20020a203aSopenharmony_ci "include", 21020a203aSopenharmony_ci "observer/include", 22020a203aSopenharmony_ci "storage/include", 23020a203aSopenharmony_ci "task/include", 24020a203aSopenharmony_ci "power/include", 25020a203aSopenharmony_ci "$hiview_framework/native/unified_collection/collector/inner_include", 26020a203aSopenharmony_ci "$hiview_framework/native/unified_collection/process/include", 27020a203aSopenharmony_ci "$hiview_framework/native/unified_collection/decorator/include", 28020a203aSopenharmony_ci ] 29020a203aSopenharmony_ci defines = [ "PC_APP_STATE_COLLECT_ENABLE = $hiview_unified_collector_PC_app_state_collect_enable" ] 30020a203aSopenharmony_ci} 31020a203aSopenharmony_ci 32020a203aSopenharmony_ciohos_source_set("unified_collector") { 33020a203aSopenharmony_ci branch_protector_ret = "pac_ret" 34020a203aSopenharmony_ci sanitize = { 35020a203aSopenharmony_ci cfi = true 36020a203aSopenharmony_ci cfi_cross_dso = true 37020a203aSopenharmony_ci cfi_vcall_icall_only = true 38020a203aSopenharmony_ci debug = false 39020a203aSopenharmony_ci } 40020a203aSopenharmony_ci configs = [ ":unified_collector_config" ] 41020a203aSopenharmony_ci 42020a203aSopenharmony_ci sources = [ 43020a203aSopenharmony_ci "$hiview_framework/native/unified_collection/decorator/unified_collection_stat.cpp", 44020a203aSopenharmony_ci "app_trace/app_trace_context.cpp", 45020a203aSopenharmony_ci "observer/uc_app_state_observer.cpp", 46020a203aSopenharmony_ci "observer/uc_observer_mgr.cpp", 47020a203aSopenharmony_ci "observer/uc_render_state_observer.cpp", 48020a203aSopenharmony_ci "observer/uc_system_ability_listener.cpp", 49020a203aSopenharmony_ci "storage/cpu_storage.cpp", 50020a203aSopenharmony_ci "task/cpu_collection_task.cpp", 51020a203aSopenharmony_ci "task/cpu_perf_dump.cpp", 52020a203aSopenharmony_ci "unified_collector.cpp", 53020a203aSopenharmony_ci ] 54020a203aSopenharmony_ci 55020a203aSopenharmony_ci deps = [ 56020a203aSopenharmony_ci "$hiview_base:hiviewbase", 57020a203aSopenharmony_ci "$hiview_interfaces/inner_api/unified_collection/utility:libucollection_graphic", 58020a203aSopenharmony_ci "$hiview_interfaces/inner_api/unified_collection/utility:libucollection_utility", 59020a203aSopenharmony_ci "config:UnifiedCollector_event", 60020a203aSopenharmony_ci ] 61020a203aSopenharmony_ci 62020a203aSopenharmony_ci external_deps = [ 63020a203aSopenharmony_ci "ability_runtime:app_manager", 64020a203aSopenharmony_ci "ffrt:libffrt", 65020a203aSopenharmony_ci "hilog:libhilog", 66020a203aSopenharmony_ci "hisysevent:libhisysevent", 67020a203aSopenharmony_ci "hitrace:hitrace_dump", 68020a203aSopenharmony_ci "jsoncpp:jsoncpp", 69020a203aSopenharmony_ci "relational_store:native_rdb", 70020a203aSopenharmony_ci "safwk:system_ability_fwk", 71020a203aSopenharmony_ci "samgr:samgr_proxy", 72020a203aSopenharmony_ci ] 73020a203aSopenharmony_ci 74020a203aSopenharmony_ci if (has_hiperf) { 75020a203aSopenharmony_ci cflags = [ "-DHAS_HIPERF" ] 76020a203aSopenharmony_ci } 77020a203aSopenharmony_ci 78020a203aSopenharmony_ci if (power_manager_enable) { 79020a203aSopenharmony_ci external_deps += [ 80020a203aSopenharmony_ci "common_event_service:cesfwk_innerkits", 81020a203aSopenharmony_ci "power_manager:powermgr_client", 82020a203aSopenharmony_ci ] 83020a203aSopenharmony_ci sources += [ "power/power_status_manager.cpp" ] 84020a203aSopenharmony_ci defines = [ "POWER_MANAGER_ENABLE" ] 85020a203aSopenharmony_ci } 86020a203aSopenharmony_ci 87020a203aSopenharmony_ci part_name = "hiview" 88020a203aSopenharmony_ci subsystem_name = "hiviewdfx" 89020a203aSopenharmony_ci} 90020a203aSopenharmony_ci 91020a203aSopenharmony_cigroup("unittest") { 92020a203aSopenharmony_ci testonly = true 93020a203aSopenharmony_ci deps = [ 94020a203aSopenharmony_ci "test/unittest/common:CpuStorageTest", 95020a203aSopenharmony_ci "test/unittest/common:TraceStateChangeTest", 96020a203aSopenharmony_ci "test/unittest/common:UCStateObserverTest", 97020a203aSopenharmony_ci ] 98020a203aSopenharmony_ci} 99020a203aSopenharmony_ci 100020a203aSopenharmony_cigroup("moduletest") { 101020a203aSopenharmony_ci testonly = true 102020a203aSopenharmony_ci deps = [] 103020a203aSopenharmony_ci} 104