Description:add xcollie

Feature or Bugfix:Bugfix
Binary Source: No

Signed-off-by: cat <chenjinxiang3@huawei.com>
This commit is contained in:
cat 2024-08-20 14:10:01 +00:00
parent b6e1178074
commit abf281bfce
5 changed files with 59 additions and 1 deletions

View File

@ -60,4 +60,11 @@ declare_args() {
# system call wrap switch
init_startup_feature_system_call_switch = false
#deps param_watcher xcollie
paramwatcher_hicollie_enable = true
if (defined(global_parts_info) &&
!defined(global_parts_info.hiviewdfx_hicollie)) {
paramwatcher_hicollie_enable = false
}
}

View File

@ -65,7 +65,8 @@
"cJSON",
"mksh",
"libunwind",
"toybox"
"toybox",
"hicollie"
],
"third_party": [
"libunwind",

View File

@ -10,6 +10,7 @@
# 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.
import("//base/startup/init/begetd.gni")
import("//build/ohos.gni")
ohos_prebuilt_etc("param_watcher.rc") {
@ -58,6 +59,11 @@ ohos_shared_library("param_watcher") {
"safwk:system_ability_fwk",
"samgr:samgr_proxy",
]
if (paramwatcher_hicollie_enable) {
external_deps += [ "hicollie:libhicollie" ]
defines = [ "HICOLLIE_ENABLE" ]
}
shlib_type = "sa"
install_images = [ "system" ]
part_name = "init"

View File

@ -16,6 +16,10 @@
#include "watcher_manager_stub.h"
#include "watcher_proxy.h"
#include "watcher_utils.h"
#ifdef HICOLLIE_ENABLE
#include "xcollie/xcollie.h"
#include "xcollie/xcollie_define.h"
#endif
namespace OHOS {
namespace init_param {
@ -30,7 +34,15 @@ int32_t WatcherManagerStub::OnRemoteRequest(uint32_t code,
switch (code) {
case static_cast<uint32_t>(ParamWatcherInterfaceCode::ADD_WATCHER): {
std::string key = data.ReadString();
#ifdef HICOLLIE_ENABLE
const int dfxDelayS = 20;
int id = HiviewDFX::XCollie::GetInstance().SetTimer("ParamWatcher_AddWatcher",
dfxDelayS, nullptr, nullptr, HiviewDFX::XCOLLIE_FLAG_LOG);
#endif
int ret = AddWatcher(key, data.ReadUint32());
#ifdef HICOLLIE_ENABLE
HiviewDFX::XCollie::GetInstance().CancelTimer(id);
#endif
reply.WriteInt32(ret);
break;
}

View File

@ -14,6 +14,7 @@
module_output_path = "init/init"
#####################hydra-fuzz###################
import("//base/startup/init/begetd.gni")
import("//build/config/features.gni")
import("//build/ohos.gni")
import("//build/test.gni")
@ -2970,6 +2971,10 @@ ohos_fuzztest("AddRemoteWatcherFuzzTest") {
"samgr:samgr_proxy",
]
if (paramwatcher_hicollie_enable) {
external_deps += [ "hicollie:libhicollie" ]
}
cflags = [
"-g",
"-O0",
@ -2978,6 +2983,9 @@ ohos_fuzztest("AddRemoteWatcherFuzzTest") {
]
sources += [ "addremotewatcher_fuzzer/addremotewatcher_fuzzer.cpp" ]
defines = [ "STARTUP_INIT_TEST" ]
if (paramwatcher_hicollie_enable) {
defines += [ "HICOLLIE_ENABLE" ]
}
}
ohos_fuzztest("DelRemoteWatcherFuzzTest") {
@ -3015,6 +3023,9 @@ ohos_fuzztest("DelRemoteWatcherFuzzTest") {
"safwk:system_ability_fwk",
"samgr:samgr_proxy",
]
if (paramwatcher_hicollie_enable) {
external_deps += [ "hicollie:libhicollie" ]
}
cflags = [
"-g",
@ -3024,6 +3035,9 @@ ohos_fuzztest("DelRemoteWatcherFuzzTest") {
]
sources += [ "delremotewatcher_fuzzer/delremotewatcher_fuzzer.cpp" ]
defines = [ "STARTUP_INIT_TEST" ]
if (paramwatcher_hicollie_enable) {
defines += [ "HICOLLIE_ENABLE" ]
}
}
ohos_fuzztest("AddWatcherFuzzTest") {
@ -3060,6 +3074,9 @@ ohos_fuzztest("AddWatcherFuzzTest") {
"safwk:system_ability_fwk",
"samgr:samgr_proxy",
]
if (paramwatcher_hicollie_enable) {
external_deps += [ "hicollie:libhicollie" ]
}
cflags = [
"-g",
@ -3069,6 +3086,9 @@ ohos_fuzztest("AddWatcherFuzzTest") {
]
sources += [ "addwatcher_fuzzer/addwatcher_fuzzer.cpp" ]
defines = [ "STARTUP_INIT_TEST" ]
if (paramwatcher_hicollie_enable) {
defines += [ "HICOLLIE_ENABLE" ]
}
}
ohos_fuzztest("DelWatcherFuzzTest") {
@ -3104,6 +3124,9 @@ ohos_fuzztest("DelWatcherFuzzTest") {
"safwk:system_ability_fwk",
"samgr:samgr_proxy",
]
if (paramwatcher_hicollie_enable) {
external_deps += [ "hicollie:libhicollie" ]
}
cflags = [
"-g",
@ -3113,6 +3136,9 @@ ohos_fuzztest("DelWatcherFuzzTest") {
]
sources += [ "delwatcher_fuzzer/delwatcher_fuzzer.cpp" ]
defines = [ "STARTUP_INIT_TEST" ]
if (paramwatcher_hicollie_enable) {
defines += [ "HICOLLIE_ENABLE" ]
}
}
ohos_fuzztest("RefreshWatcherFuzzTest") {
@ -3148,6 +3174,9 @@ ohos_fuzztest("RefreshWatcherFuzzTest") {
"safwk:system_ability_fwk",
"samgr:samgr_proxy",
]
if (paramwatcher_hicollie_enable) {
external_deps += [ "hicollie:libhicollie" ]
}
cflags = [
"-g",
@ -3157,6 +3186,9 @@ ohos_fuzztest("RefreshWatcherFuzzTest") {
]
sources += [ "refreshwatcher_fuzzer/refreshwatcher_fuzzer.cpp" ]
defines = [ "STARTUP_INIT_TEST" ]
if (paramwatcher_hicollie_enable) {
defines += [ "HICOLLIE_ENABLE" ]
}
}
ohos_fuzztest("SaveParametersFuzzTest") {