diff --git a/event.gni b/event.gni index f511e1888b549afae7eb86bb093fdc1316a68bec..5c335130602329d642e24a6e0ea6707087ad0524 100644 --- a/event.gni +++ b/event.gni @@ -50,6 +50,7 @@ declare_args() { common_event_service_with_graphics = true has_hisysevent_part = true common_event_service_tool_cem_enable = true + ces_hitrace_usage = true if (!defined(global_parts_info) || defined(global_parts_info.account_os_account)) { @@ -63,5 +64,11 @@ declare_args() { has_hisysevent_part = false } + if (defined(global_parts_info) && + !defined(global_parts_info.hiviewdfx_hitrace)) { + hitrace_usage = false + } + print("has_hisysevent_part = " + "$has_hisysevent_part") + print("event ces_hitrace_usage = " + "$ces_hitrace_usage") } diff --git a/frameworks/core/BUILD.gn b/frameworks/core/BUILD.gn index 79ef6c0a1abfa66a8aa7e122ce7d54fb4a29f94a..6fc79f448105d7bb12860ed6a72ff81f8c191e14 100644 --- a/frameworks/core/BUILD.gn +++ b/frameworks/core/BUILD.gn @@ -66,6 +66,8 @@ ohos_shared_library("cesfwk_core") { public_configs = [ ":cesfwk_core_public_config" ] + defines = [] + deps = [ "${ces_common_path}:libevent_common" ] external_deps = [ @@ -73,11 +75,15 @@ ohos_shared_library("cesfwk_core") { "c_utils:utils", "eventhandler:libeventhandler", "hilog:libhilog", - "hitrace:hitrace_meter", "ipc:ipc_core", "samgr:samgr_proxy", ] + if (ces_hitrace_usage) { + external_deps += [ "hitrace:hitrace_meter" ] + defines += [ "HITRACE_METER_ENABLE" ] + } + subsystem_name = "notification" innerapi_tags = [ "platformsdk" ] part_name = "common_event_service" diff --git a/frameworks/core/include/hitrace_meter_adapter.h b/frameworks/core/include/hitrace_meter_adapter.h new file mode 100644 index 0000000000000000000000000000000000000000..875448ce87a187c536e4a5a5a13aa54938e65e79 --- /dev/null +++ b/frameworks/core/include/hitrace_meter_adapter.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2021-2023 Huawei Device Co., Ltd. + * 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. + */ +#ifndef FOUNDATION_EVENT_CESFWK_INNERKITS_INCLUDE_HITRACE_METER_H +#define FOUNDATION_EVENT_CESFWK_INNERKITS_INCLUDE_HITRACE_METER_H + +#ifdef HITRACE_METER_ENABLE +#include "hitrace_meter.h" +#else +#define HITRACE_METER_NAME(TAG, str) ((void)0) +#endif + +#endif // FOUNDATION_EVENT_CESFWK_INNERKITS_INCLUDE_HITRACE_METER_H diff --git a/frameworks/core/src/common_event.cpp b/frameworks/core/src/common_event.cpp index 06abc9068ad5cdc045de2132400abcfaebd68a85..c9d1de1206f8fbb2c29bef55b04b619c6b24679f 100644 --- a/frameworks/core/src/common_event.cpp +++ b/frameworks/core/src/common_event.cpp @@ -17,7 +17,7 @@ #include "common_event_constant.h" #include "common_event_death_recipient.h" #include "event_log_wrapper.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "iservice_registry.h" #include "system_ability_definition.h" #include "ces_inner_error_code.h" diff --git a/frameworks/core/src/common_event_listener.cpp b/frameworks/core/src/common_event_listener.cpp index 0b4b2b65ed2194f5f25a83997c41aea77c6bb9cc..ae67009bd613dc50b5a3f2652886d1ae1e5675fb 100644 --- a/frameworks/core/src/common_event_listener.cpp +++ b/frameworks/core/src/common_event_listener.cpp @@ -15,7 +15,7 @@ #include "common_event_listener.h" #include "event_log_wrapper.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" namespace OHOS { namespace EventFwk { diff --git a/services/BUILD.gn b/services/BUILD.gn index ef8b857ca3ab0d376dcb475daf32f84a93bb2c16..69ca03541aeadcd6bb3fbe5d3f72c9c942872a53 100644 --- a/services/BUILD.gn +++ b/services/BUILD.gn @@ -74,6 +74,7 @@ ohos_shared_library("cesfwk_services") { shlib_type = "sa" version_script = "libcesfwk_services.map" cflags_cc = [] + defines = [] sources = cesfwk_services_sources configs = [ ":ces_services_config" ] @@ -100,7 +101,6 @@ ohos_shared_library("cesfwk_services") { "ffrt:libffrt", "hicollie:libhicollie", "hilog:libhilog", - "hitrace:hitrace_meter", "ipc:ipc_core", "kv_store:distributeddata_inner", "safwk:system_ability_fwk", @@ -117,6 +117,11 @@ ohos_shared_library("cesfwk_services") { external_deps += [ "hisysevent:libhisysevent" ] } + if (ces_hitrace_usage) { + external_deps += [ "hitrace:hitrace_meter" ] + defines += [ "HITRACE_METER_ENABLE" ] + } + subsystem_name = "notification" part_name = "common_event_service" } @@ -130,6 +135,8 @@ ohos_static_library("cesfwk_services_static") { public_configs = [ ":ces_services_public_config" ] + defines = [] + deps = [ "${ces_common_path}:libevent_common", "${ces_core_path}:cesfwk_core", @@ -149,7 +156,6 @@ ohos_static_library("cesfwk_services_static") { "ffrt:libffrt", "hicollie:libhicollie", "hilog:libhilog", - "hitrace:hitrace_meter", "ipc:ipc_core", "kv_store:distributeddata_inner", "safwk:system_ability_fwk", @@ -166,6 +172,11 @@ ohos_static_library("cesfwk_services_static") { external_deps += [ "hisysevent:libhisysevent" ] } + if (ces_hitrace_usage) { + external_deps += [ "hitrace:hitrace_meter" ] + defines += [ "HITRACE_METER_ENABLE" ] + } + subsystem_name = "notification" part_name = "common_event_service" } diff --git a/services/src/ability_manager_helper.cpp b/services/src/ability_manager_helper.cpp index 3b665b46899b46c6bf50342a4785c0ba78058043..26c32b9ec982d8f315f59db672d69b4e7c664f80 100644 --- a/services/src/ability_manager_helper.cpp +++ b/services/src/ability_manager_helper.cpp @@ -16,7 +16,7 @@ #include "ability_manager_helper.h" #include "event_log_wrapper.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "in_process_call_wrapper.h" #include "iservice_registry.h" #include "static_subscriber_connection.h" diff --git a/services/src/common_event_control_manager.cpp b/services/src/common_event_control_manager.cpp index cb8426d94cc34f55ea2d90d028a1c99092e41c98..b5472a3b3bcdf9c1941592dc5f609d818ff5a92d 100644 --- a/services/src/common_event_control_manager.cpp +++ b/services/src/common_event_control_manager.cpp @@ -22,7 +22,7 @@ #include "common_event_constant.h" #include "event_log_wrapper.h" #include "event_report.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "ievent_receive.h" #include "system_time.h" #include "xcollie/watchdog.h" diff --git a/services/src/common_event_manager_service.cpp b/services/src/common_event_manager_service.cpp index ec240bc25498865b3504f06c9623a5cdbcd3545d..03873620b43012afaf7d8a1640d60a7ee9e61796 100644 --- a/services/src/common_event_manager_service.cpp +++ b/services/src/common_event_manager_service.cpp @@ -22,7 +22,7 @@ #include "common_event_constant.h" #include "datetime_ex.h" #include "event_log_wrapper.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "ipc_skeleton.h" #include "publish_manager.h" #include "system_ability_definition.h" diff --git a/services/src/common_event_subscriber_manager.cpp b/services/src/common_event_subscriber_manager.cpp index 26e8783bc553485b3a5c79c75a06dc0b4a94c033..170110dff603eb430da700541b3e02327cfa87c4 100644 --- a/services/src/common_event_subscriber_manager.cpp +++ b/services/src/common_event_subscriber_manager.cpp @@ -17,7 +17,7 @@ #include "event_log_wrapper.h" #include "event_report.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "subscriber_death_recipient.h" namespace OHOS { diff --git a/services/src/inner_common_event_manager.cpp b/services/src/inner_common_event_manager.cpp index d28c5f25ad264a7e399890187af2e5f580f33261..b8bd17867fd65fdae82fdef6c1bcd13fee62b88c 100644 --- a/services/src/inner_common_event_manager.cpp +++ b/services/src/inner_common_event_manager.cpp @@ -24,7 +24,7 @@ #include "common_event_support_mapper.h" #include "event_log_wrapper.h" #include "event_report.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "ipc_skeleton.h" #include "nlohmann/json.hpp" #include "os_account_manager_helper.h" diff --git a/services/src/static_subscriber_manager.cpp b/services/src/static_subscriber_manager.cpp index 01213b418126fdaf372879ae5ca8be13a20e14b0..c0f2a5926e6268683928318d35823eba6432e7c6 100644 --- a/services/src/static_subscriber_manager.cpp +++ b/services/src/static_subscriber_manager.cpp @@ -26,7 +26,7 @@ #include "common_event_support.h" #include "event_log_wrapper.h" #include "event_report.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "ipc_skeleton.h" #include "os_account_manager_helper.h" #include "static_subscriber_data_manager.h"