diff --git a/frameworks/ans/BUILD.gn b/frameworks/ans/BUILD.gn index 73c3b944784897f0042c2ad3bfd25298564673b2..d734961c1174a818ba64ce83b288e28296cf72a2 100644 --- a/frameworks/ans/BUILD.gn +++ b/frameworks/ans/BUILD.gn @@ -109,6 +109,8 @@ ohos_shared_library("ans_innerkits") { public_configs = [ ":ans_innerkits_public_config" ] + defines = [] + external_deps = [ "ability_base:want", "ability_base:zuri", @@ -119,7 +121,6 @@ ohos_shared_library("ans_innerkits") { "eventhandler:libeventhandler", "hicollie:libhicollie", "hilog:libhilog", - "hitrace:hitrace_meter", "i18n:intl_util", "image_framework:image_native", "ipc:ipc_core", @@ -133,6 +134,11 @@ ohos_shared_library("ans_innerkits") { cflags = [ "-DCONFIG_DUAL_FRAMEWORK" ] } + if (ans_hitrace_usage) { + external_deps += [ "hitrace:hitrace_meter" ] + defines += [ "HITRACE_METER_ENABLE" ] + } + subsystem_name = "${subsystem_name}" part_name = "${component_name}" } diff --git a/frameworks/ans/src/notification_local_live_view_subscriber.cpp b/frameworks/ans/src/notification_local_live_view_subscriber.cpp index 545c5f20080b89243e1660c317a0a1072cd7dbcd..2dd13813474c106de7c262dfe0dd6b70f81b2c53 100644 --- a/frameworks/ans/src/notification_local_live_view_subscriber.cpp +++ b/frameworks/ans/src/notification_local_live_view_subscriber.cpp @@ -15,7 +15,7 @@ #include "notification_local_live_view_subscriber.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "iservice_registry.h" #include "system_ability_definition.h" diff --git a/frameworks/ans/src/notification_subscriber.cpp b/frameworks/ans/src/notification_subscriber.cpp index 8ec317e47fe4997d472697181b0eccf764323373..8fc4bd693097a69334db7790770b2f9a7a675bb9 100644 --- a/frameworks/ans/src/notification_subscriber.cpp +++ b/frameworks/ans/src/notification_subscriber.cpp @@ -15,7 +15,7 @@ #include "notification_subscriber.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "iservice_registry.h" #include "system_ability_definition.h" diff --git a/frameworks/core/include/hitrace_meter_adapter.h b/frameworks/core/include/hitrace_meter_adapter.h new file mode 100644 index 0000000000000000000000000000000000000000..ae6cd0ccd724866f9861ed368f94f9d3094758ab --- /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 BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_SERVICES_ANS_INCLUDE_HITRACE_METER_H +#define BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_SERVICES_ANS_INCLUDE_HITRACE_METER_H + +#ifdef HITRACE_METER_ENABLE +#include "hitrace_meter.h" +#else +#define HITRACE_METER_NAME(TAG, str) ((void)0) +#endif + +#endif // BASE_NOTIFICATION_DISTRIBUTED_NOTIFICATION_SERVICE_SERVICES_ANS_INCLUDE_HITRACE_METER_H diff --git a/frameworks/core/src/ans_notification.cpp b/frameworks/core/src/ans_notification.cpp index 464345b5507768b0ec7fed4c7f889fb377a3cbb2..38375666213aa5138a5efc1d572848635e78976d 100644 --- a/frameworks/core/src/ans_notification.cpp +++ b/frameworks/core/src/ans_notification.cpp @@ -17,7 +17,7 @@ #include "ans_const_define.h" #include "ans_inner_errors.h" #include "ans_log_wrapper.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "iservice_registry.h" #include "notification_button_option.h" #include "notification_local_live_view_subscriber.h" diff --git a/notification.gni b/notification.gni index 2050243d6d36ed06eec6c09a8aeb3c08c414f2fe..f6991faa6ad1bce180b2d86691c0f16cefd19198 100644 --- a/notification.gni +++ b/notification.gni @@ -53,6 +53,7 @@ declare_args() { hisysevent_usage = true standby_enable = true player_framework = true + ans_hitrace_usage = true if (defined(global_parts_info) && !defined(global_parts_info.resourceschedule_device_usage_statistics)) { @@ -74,5 +75,11 @@ declare_args() { player_framework = false } + if (defined(global_parts_info) && + !defined(global_parts_info.hiviewdfx_hitrace)) { + ans_hitrace_usage = false + } + print("hisysevent_usage = " + "$hisysevent_usage") + print("ans_hitrace_usage = " + "$ans_hitrace_usage") } diff --git a/services/ans/BUILD.gn b/services/ans/BUILD.gn index b52fcd3a2b80db831e521e1b0523608ce03bd3f9..a1a5c4fb5e24f1d2e6c499dd2745d92d367e7c01 100644 --- a/services/ans/BUILD.gn +++ b/services/ans/BUILD.gn @@ -101,7 +101,6 @@ ohos_shared_library("libans") { "data_share:datashare_consumer", "device_manager:devicemanagersdk", "ffrt:libffrt", - "hitrace:hitrace_meter", "i18n:intl_util", "image_framework:image_native", "kv_store:distributeddata_inner", @@ -132,6 +131,11 @@ ohos_shared_library("libans") { defines += [ "PLAYER_FRAMEWORK_ENABLE" ] } + if (ans_hitrace_usage) { + external_deps += [ "hitrace:hitrace_meter" ] + defines += [ "HITRACE_METER_ENABLE" ] + } + subsystem_name = "${subsystem_name}" part_name = "${component_name}" } diff --git a/services/ans/src/advanced_notification_service.cpp b/services/ans/src/advanced_notification_service.cpp index c1f8f6486d1b43954f09cde542def5f13d5eda52..df9244bd3adaddf7f6e184fc500ae646d19d535e 100644 --- a/services/ans/src/advanced_notification_service.cpp +++ b/services/ans/src/advanced_notification_service.cpp @@ -35,7 +35,7 @@ #include "common_event_manager.h" #include "common_event_support.h" #include "event_report.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "ipc_skeleton.h" #include "nlohmann/json.hpp" #include "notification_constant.h" diff --git a/services/ans/src/notification_local_live_view_subscriber_manager.cpp b/services/ans/src/notification_local_live_view_subscriber_manager.cpp index 13e5cb00a4a01826e455747e19688dd6846d2f6a..820c200412ad7b14789c4670eda330ca9c22dcf4 100644 --- a/services/ans/src/notification_local_live_view_subscriber_manager.cpp +++ b/services/ans/src/notification_local_live_view_subscriber_manager.cpp @@ -23,7 +23,7 @@ #include "ans_inner_errors.h" #include "ans_log_wrapper.h" #include "ans_watchdog.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "ipc_skeleton.h" #include "notification_bundle_option.h" #include "notification_button_option.h" diff --git a/services/ans/src/notification_preferences.cpp b/services/ans/src/notification_preferences.cpp index 60662adc64068bf4302a7914da4ab4ce9785373e..e9b3fad21bea9acb6ed0331b96be8d04e11a5c32 100644 --- a/services/ans/src/notification_preferences.cpp +++ b/services/ans/src/notification_preferences.cpp @@ -21,7 +21,7 @@ #include "ans_inner_errors.h" #include "ans_log_wrapper.h" #include "bundle_manager_helper.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "nlohmann/json.hpp" #include "os_account_manager.h" diff --git a/services/ans/src/notification_preferences_database.cpp b/services/ans/src/notification_preferences_database.cpp index 40dc39b9538412e43f266910e4aea5d254d20925..fc77905c6fd060ad80cf319a6063a9aa0c9286c3 100644 --- a/services/ans/src/notification_preferences_database.cpp +++ b/services/ans/src/notification_preferences_database.cpp @@ -17,7 +17,7 @@ #include "ans_const_define.h" #include "ans_log_wrapper.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "os_account_manager.h" #include "uri.h" diff --git a/services/ans/src/notification_subscriber_manager.cpp b/services/ans/src/notification_subscriber_manager.cpp index 389e787b4f542f4948d5908c717ec532fd9d785a..01e2078ba5a2eebc9ee34c9d093cf511d3ade6c4 100644 --- a/services/ans/src/notification_subscriber_manager.cpp +++ b/services/ans/src/notification_subscriber_manager.cpp @@ -23,7 +23,7 @@ #include "ans_inner_errors.h" #include "ans_log_wrapper.h" #include "ans_watchdog.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" #include "ipc_skeleton.h" #include "os_account_manager.h" #include "remote_death_recipient.h" diff --git a/services/distributed/BUILD.gn b/services/distributed/BUILD.gn index 35a5002c482bca396e17dae05e179e919fd0fa20..07554f3a34e2eda1899a4efd6c005a9758fa1eb3 100644 --- a/services/distributed/BUILD.gn +++ b/services/distributed/BUILD.gn @@ -46,6 +46,8 @@ ohos_shared_library("libans_distributed") { include_dirs = [ "include" ] + defines = [] + configs = [ ":ans_distributed_config", "${frameworks_module_ans_path}:ans_innerkits_public_config", @@ -61,10 +63,14 @@ ohos_shared_library("libans_distributed") { "eventhandler:libeventhandler", "ffrt:libffrt", "hilog:libhilog", - "hitrace:hitrace_meter", "kv_store:distributeddata_inner", ] + if (ans_hitrace_usage) { + external_deps += [ "hitrace:hitrace_meter" ] + defines += [ "HITRACE_METER_ENABLE" ] + } + subsystem_name = "${subsystem_name}" part_name = "${component_name}" } diff --git a/services/distributed/src/distributed_notification_manager.cpp b/services/distributed/src/distributed_notification_manager.cpp index 0bfc91fa8f0b3eb388deecfb9abf34e74e6351bb..7e179d565fcd81788ccd88d88c37d1800ef0fbdf 100644 --- a/services/distributed/src/distributed_notification_manager.cpp +++ b/services/distributed/src/distributed_notification_manager.cpp @@ -20,7 +20,7 @@ #include "ans_inner_errors.h" #include "ans_log_wrapper.h" #include "ans_watchdog.h" -#include "hitrace_meter.h" +#include "hitrace_meter_adapter.h" namespace OHOS { namespace Notification {