1020a203aSopenharmony_ci# Copyright (c) 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_ci 14020a203aSopenharmony_ciimport("//base/hiviewdfx/hiview/hiview.gni") 15020a203aSopenharmony_ciimport("//build/ohos.gni") 16020a203aSopenharmony_ci 17020a203aSopenharmony_ciif (hiview_enable_performance_monitor) { 18020a203aSopenharmony_ci config("xperf_service_config") { 19020a203aSopenharmony_ci visibility = [ "*:*" ] 20020a203aSopenharmony_ci 21020a203aSopenharmony_ci include_dirs = [ 22020a203aSopenharmony_ci ".", 23020a203aSopenharmony_ci "common", 24020a203aSopenharmony_ci "config", 25020a203aSopenharmony_ci "context", 26020a203aSopenharmony_ci "event_publisher", 27020a203aSopenharmony_ci "executor", 28020a203aSopenharmony_ci "monitor", 29020a203aSopenharmony_ci "monitor/converter", 30020a203aSopenharmony_ci "monitor/gateway", 31020a203aSopenharmony_ci "monitor/gateway/executor", 32020a203aSopenharmony_ci "monitor/gateway/reporter", 33020a203aSopenharmony_ci "persistence", 34020a203aSopenharmony_ci "reporter", 35020a203aSopenharmony_ci "reporter/adapter", 36020a203aSopenharmony_ci "reporter/event_poster", 37020a203aSopenharmony_ci "reporter/infrastructure", 38020a203aSopenharmony_ci "scene_data_processor", 39020a203aSopenharmony_ci "scene_data_processor/gateway", 40020a203aSopenharmony_ci "timer", 41020a203aSopenharmony_ci 42020a203aSopenharmony_ci "$hiview_base/event_raw/include", 43020a203aSopenharmony_ci "$hiview_base/event_publish/include", 44020a203aSopenharmony_ci "$hiview_base/include", 45020a203aSopenharmony_ci "$hiview_base/logstore/include", 46020a203aSopenharmony_ci "$hiview_base/utility/include", 47020a203aSopenharmony_ci "$hiview_root/include", 48020a203aSopenharmony_ci "$hiview_root/interfaces/inner_api/unified_collection", 49020a203aSopenharmony_ci "$hiview_root/interfaces/inner_api/unified_collection/utility", 50020a203aSopenharmony_ci "$hiview_plugin/faultlogger/common", 51020a203aSopenharmony_ci "$hiview_plugin/faultlogger/service", 52020a203aSopenharmony_ci ] 53020a203aSopenharmony_ci 54020a203aSopenharmony_ci cflags_cc = [ 55020a203aSopenharmony_ci "-DENABLE_SCREEM", 56020a203aSopenharmony_ci "-fexceptions", 57020a203aSopenharmony_ci ] 58020a203aSopenharmony_ci } 59020a203aSopenharmony_ci} 60020a203aSopenharmony_ci 61020a203aSopenharmony_ciohos_prebuilt_etc("hiviewxperf_event_file") { 62020a203aSopenharmony_ci source = "config/event/XperfPlugin" 63020a203aSopenharmony_ci part_name = "hiview" 64020a203aSopenharmony_ci subsystem_name = "hiviewdfx" 65020a203aSopenharmony_ci relative_install_dir = "hiview/listener_rule" 66020a203aSopenharmony_ci} 67020a203aSopenharmony_ci 68020a203aSopenharmony_ciohos_prebuilt_etc("xperfplugins_config") { 69020a203aSopenharmony_ci source = "config/xperformance_plugin_config" 70020a203aSopenharmony_ci part_name = "hiview" 71020a203aSopenharmony_ci subsystem_name = "hiviewdfx" 72020a203aSopenharmony_ci relative_install_dir = "hiview" 73020a203aSopenharmony_ci} 74020a203aSopenharmony_ci 75020a203aSopenharmony_ciohos_shared_library("xperformance") { 76020a203aSopenharmony_ci if (hiview_enable_performance_monitor) { 77020a203aSopenharmony_ci part_name = "hiview" 78020a203aSopenharmony_ci subsystem_name = "hiviewdfx" 79020a203aSopenharmony_ci 80020a203aSopenharmony_ci sanitize = { 81020a203aSopenharmony_ci cfi = true 82020a203aSopenharmony_ci cfi_cross_dso = true 83020a203aSopenharmony_ci debug = false 84020a203aSopenharmony_ci } 85020a203aSopenharmony_ci 86020a203aSopenharmony_ci sources = [ 87020a203aSopenharmony_ci "XperfPlugin.cpp", 88020a203aSopenharmony_ci "context/BaseContext.cpp", 89020a203aSopenharmony_ci "context/NormalContext.cpp", 90020a203aSopenharmony_ci "executor/ThrExecutor.cpp", 91020a203aSopenharmony_ci "executor/ThrTaskContainer.cpp", 92020a203aSopenharmony_ci "monitor/AppLaunchMonitor.cpp", 93020a203aSopenharmony_ci "monitor/DefaultMonitor.cpp", 94020a203aSopenharmony_ci "monitor/JankAnimatorMonitor.cpp", 95020a203aSopenharmony_ci "persistence/AppLaunchSceneDbAdapter.cpp", 96020a203aSopenharmony_ci "reporter/adapter/AppStartReporterAdapter.cpp", 97020a203aSopenharmony_ci "reporter/adapter/JankAnimatorReporterAdapter.cpp", 98020a203aSopenharmony_ci "reporter/adapter/SimpleAppStartReporterAdapter.cpp", 99020a203aSopenharmony_ci "reporter/event_poster/EventsPoster.cpp", 100020a203aSopenharmony_ci "reporter/infrastructure/AppStartReporter.cpp", 101020a203aSopenharmony_ci "reporter/infrastructure/JankAnimatorReporter.cpp", 102020a203aSopenharmony_ci "scene_data_processor/AnimatorSceneDataProcessor.cpp", 103020a203aSopenharmony_ci "scene_data_processor/AppLaunchSceneDataProcessor.cpp", 104020a203aSopenharmony_ci "scene_data_processor/SceneDataMapDbAdapter.cpp", 105020a203aSopenharmony_ci "timer/AppTimerAdapter.cpp", 106020a203aSopenharmony_ci "timer/SceneTimerOhImpl.cpp", 107020a203aSopenharmony_ci ] 108020a203aSopenharmony_ci 109020a203aSopenharmony_ci configs = [ ":xperf_service_config" ] 110020a203aSopenharmony_ci 111020a203aSopenharmony_ci deps = [ 112020a203aSopenharmony_ci ":hiviewxperf_event_file", 113020a203aSopenharmony_ci ":xperfplugins_config", 114020a203aSopenharmony_ci "$hiview_base:hiviewbase", 115020a203aSopenharmony_ci "config:config", 116020a203aSopenharmony_ci ] 117020a203aSopenharmony_ci 118020a203aSopenharmony_ci external_deps = [ 119020a203aSopenharmony_ci "c_utils:utils", 120020a203aSopenharmony_ci "hilog:libhilog", 121020a203aSopenharmony_ci "hisysevent:libhisysevent", 122020a203aSopenharmony_ci "init:libbegetutil", 123020a203aSopenharmony_ci "ipc:ipc_core", 124020a203aSopenharmony_ci "samgr:samgr_proxy", 125020a203aSopenharmony_ci ] 126020a203aSopenharmony_ci } 127020a203aSopenharmony_ci} 128020a203aSopenharmony_ci 129020a203aSopenharmony_cigroup("unittest") { 130020a203aSopenharmony_ci testonly = true 131020a203aSopenharmony_ci deps = [] 132020a203aSopenharmony_ci} 133020a203aSopenharmony_ci 134020a203aSopenharmony_cigroup("moduletest") { 135020a203aSopenharmony_ci testonly = true 136020a203aSopenharmony_ci deps = [] 137020a203aSopenharmony_ci} 138