From b4e857ed4e038be98a400cc0e4d259f2dd8db19f Mon Sep 17 00:00:00 2001 From: y30045862 Date: Wed, 27 Sep 2023 11:44:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0trace=20Signed-off-by:=20yang?= =?UTF-8?q?jingbo10=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I51e673b7f8ca3e3c446b7090bd3aa7393ca9fb98 --- bundle.json | 1 + interfaces/kits/js/BUILD.gn | 6 ++++++ .../js/src/mod_fs/properties/copy_file.cpp | 4 ++++ .../kits/js/src/mod_fs/properties/copydir.cpp | 4 ++++ .../js/src/mod_fs/properties/listfile.cpp | 4 ++++ .../kits/js/src/mod_fs/properties/move.cpp | 4 ++++ .../kits/js/src/mod_fs/properties/movedir.cpp | 4 ++++ .../kits/js/src/mod_fs/properties/open.cpp | 5 +++++ .../src/mod_fs/properties/prop_n_exporter.cpp | 19 ++++++++++++++++--- utils/filemgmt_libhilog/BUILD.gn | 5 ++++- utils/filemgmt_libhilog/filemgmt_libhilog.h | 1 + utils/filemgmt_libn/BUILD.gn | 1 + 12 files changed, 54 insertions(+), 4 deletions(-) diff --git a/bundle.json b/bundle.json index 844f0f064..9f4f5620f 100644 --- a/bundle.json +++ b/bundle.json @@ -33,6 +33,7 @@ "data_share", "eventhandler", "hilog", + "hitrace", "ipc", "napi", "samgr", diff --git a/interfaces/kits/js/BUILD.gn b/interfaces/kits/js/BUILD.gn index 4f420fad0..4e3b2a727 100644 --- a/interfaces/kits/js/BUILD.gn +++ b/interfaces/kits/js/BUILD.gn @@ -153,6 +153,7 @@ ohos_shared_library("fs") { external_deps = [ "hilog:libhilog", + "hitrace:hitrace_meter", "napi:ace_napi", ] @@ -217,6 +218,7 @@ ohos_shared_library("hash") { external_deps = [ "hilog:libhilog", + "hitrace:hitrace_meter", "napi:ace_napi", ] defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ] @@ -274,6 +276,7 @@ ohos_shared_library("statfs") { external_deps = [ "hilog:libhilog", + "hitrace:hitrace_meter", "napi:ace_napi", ] } @@ -296,6 +299,7 @@ ohos_shared_library("statvfs") { external_deps = [ "hilog:libhilog", + "hitrace:hitrace_meter", "napi:ace_napi", ] } @@ -319,6 +323,7 @@ ohos_shared_library("environment") { external_deps = [ "access_token:libtokenid_sdk", "hilog:libhilog", + "hitrace:hitrace_meter", "ipc:ipc_core", "napi:ace_napi", ] @@ -345,6 +350,7 @@ ohos_shared_library("securitylabel") { external_deps = [ "access_token:libtokenid_sdk", "hilog:libhilog", + "hitrace:hitrace_meter", "ipc:ipc_core", "napi:ace_napi", ] diff --git a/interfaces/kits/js/src/mod_fs/properties/copy_file.cpp b/interfaces/kits/js/src/mod_fs/properties/copy_file.cpp index 71bb328b3..db22263ed 100644 --- a/interfaces/kits/js/src/mod_fs/properties/copy_file.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/copy_file.cpp @@ -197,6 +197,7 @@ static tuple ParseJsOperand(napi_env env, NVal pathOrFdFromJsArg napi_value CopyFile::Sync(napi_env env, napi_callback_info info) { + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CopyFileSync"); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::THREE)) { HILOGE("Number of arguments unmatched"); @@ -232,11 +233,13 @@ napi_value CopyFile::Sync(napi_env env, napi_callback_info info) return nullptr; } } + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return NVal::CreateUndefined(env).val_; } napi_value CopyFile::Async(napi_env env, napi_callback_info info) { + StartAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "CopyFileAsync", 0); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::FOUR)) { HILOGE("Number of arguments unmatched"); @@ -276,6 +279,7 @@ napi_value CopyFile::Async(napi_env env, napi_callback_info info) if (err) { return { env, err.GetNapiErr(env) }; } + FinishAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "CopyFileAsync", 2); return { NVal::CreateUndefined(env) }; }; diff --git a/interfaces/kits/js/src/mod_fs/properties/copydir.cpp b/interfaces/kits/js/src/mod_fs/properties/copydir.cpp index 3dcaea202..2e1c9b3ab 100644 --- a/interfaces/kits/js/src/mod_fs/properties/copydir.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/copydir.cpp @@ -231,6 +231,7 @@ static napi_value PushErrFilesInData(napi_env env, vector napi_value CopyDir::Sync(napi_env env, napi_callback_info info) { + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CopyDirSync"); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::THREE)) { HILOGE("Number of arguments unmatched"); @@ -252,6 +253,7 @@ napi_value CopyDir::Sync(napi_env env, napi_callback_info info) NError(ret).ThrowErr(env); return nullptr; } + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return NVal::CreateUndefined(env).val_; } @@ -262,6 +264,7 @@ struct CopyDirArgs { napi_value CopyDir::Async(napi_env env, napi_callback_info info) { + StartAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "CopyDirAsync", 0); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::FOUR)) { HILOGE("Number of arguments unmatched"); @@ -300,6 +303,7 @@ napi_value CopyDir::Async(napi_env env, napi_callback_info info) } else if (arg->errNo) { return { env, err.GetNapiErr(env) }; } + FinishAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "CopyDirAsync", 2); return NVal::CreateUndefined(env); }; diff --git a/interfaces/kits/js/src/mod_fs/properties/listfile.cpp b/interfaces/kits/js/src/mod_fs/properties/listfile.cpp index e046e1745..a8859f42c 100755 --- a/interfaces/kits/js/src/mod_fs/properties/listfile.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/listfile.cpp @@ -319,6 +319,7 @@ static napi_value DoListFileVector2NV(napi_env env, const string &path, vectordirents, optionArgsTmp.recursion) }; }; diff --git a/interfaces/kits/js/src/mod_fs/properties/move.cpp b/interfaces/kits/js/src/mod_fs/properties/move.cpp index e1ed33fe8..73e63984b 100644 --- a/interfaces/kits/js/src/mod_fs/properties/move.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/move.cpp @@ -194,6 +194,7 @@ static int MoveFile(const string &src, const string &dest, int mode) napi_value Move::Sync(napi_env env, napi_callback_info info) { + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "MoveSync"); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::THREE)) { HILOGE("Number of arguments unmatched"); @@ -210,11 +211,13 @@ napi_value Move::Sync(napi_env env, napi_callback_info info) NError(ret).ThrowErr(env); return nullptr; } + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return NVal::CreateUndefined(env).val_; } napi_value Move::Async(napi_env env, napi_callback_info info) { + StartAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "MoveAsync", 0); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::FOUR)) { HILOGE("Number of arguments unmatched"); @@ -239,6 +242,7 @@ napi_value Move::Async(napi_env env, napi_callback_info info) if (err) { return { env, err.GetNapiErr(env) }; } + FinishAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "MoveAsync", 1); return { NVal::CreateUndefined(env) }; }; diff --git a/interfaces/kits/js/src/mod_fs/properties/movedir.cpp b/interfaces/kits/js/src/mod_fs/properties/movedir.cpp index 6f845c17d..39209b1c3 100644 --- a/interfaces/kits/js/src/mod_fs/properties/movedir.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/movedir.cpp @@ -317,6 +317,7 @@ static napi_value GetErrData(napi_env env, vector &errfiles) napi_value MoveDir::Sync(napi_env env, napi_callback_info info) { + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "MoveDirSync"); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::THREE)) { HILOGE("Number of arguments unmatched"); @@ -338,6 +339,7 @@ napi_value MoveDir::Sync(napi_env env, napi_callback_info info) NError(ret).ThrowErr(env); return nullptr; } + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return NVal::CreateUndefined(env).val_; } @@ -349,6 +351,7 @@ struct MoveDirArgs { napi_value MoveDir::Async(napi_env env, napi_callback_info info) { + StartAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "MoveDirAsync", 0); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::FOUR)) { HILOGE("Number of arguments unmatched"); @@ -386,6 +389,7 @@ napi_value MoveDir::Async(napi_env env, napi_callback_info info) } else if (arg->errNo) { return { env, err.GetNapiErr(env) }; } + FinishAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "MoveDirAsync", 1); return NVal::CreateUndefined(env); }; diff --git a/interfaces/kits/js/src/mod_fs/properties/open.cpp b/interfaces/kits/js/src/mod_fs/properties/open.cpp index e6052ab34..d17309bdb 100644 --- a/interfaces/kits/js/src/mod_fs/properties/open.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/open.cpp @@ -158,6 +158,7 @@ static void OpenByMediaUri(const string &path, unsigned int mode, int &ret) napi_value Open::Sync(napi_env env, napi_callback_info info) { + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "OpenSync"); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::ONE, NARG_CNT::TWO)) { HILOGE("Number of arguments unmatched"); @@ -221,6 +222,7 @@ napi_value Open::Sync(napi_env env, napi_callback_info info) return nullptr; } auto file = InstantiateFile(env, ret, pathStr, false).val_; + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return file; } @@ -285,6 +287,7 @@ static NError AsyncCbExec(shared_ptr arg, const string &path, napi_value Open::Async(napi_env env, napi_callback_info info) { + StartAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "OpenAsync", 0); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::ONE, NARG_CNT::THREE)) { HILOGE("Number of arguments unmatched"); @@ -317,8 +320,10 @@ napi_value Open::Async(napi_env env, napi_callback_info info) bool isUri = false; if (arg->path.empty() && arg->uri.size()) { isUri = true; + FinishAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "OpenAsync", 1); return InstantiateFile(env, arg->fd, arg->uri, isUri); } + FinishAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "OpenAsync", 2); return InstantiateFile(env, arg->fd, arg->path, isUri); }; NVal thisVar(env, funcArg.GetThisVar()); diff --git a/interfaces/kits/js/src/mod_fs/properties/prop_n_exporter.cpp b/interfaces/kits/js/src/mod_fs/properties/prop_n_exporter.cpp index 4bcccb9e4..e3e5a21e7 100644 --- a/interfaces/kits/js/src/mod_fs/properties/prop_n_exporter.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/prop_n_exporter.cpp @@ -63,6 +63,7 @@ using namespace OHOS::FileManagement::LibN; napi_value PropNExporter::AccessSync(napi_env env, napi_callback_info info) { + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "AccessSync"); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::ONE)) { HILOGE("Number of arguments unmatched"); @@ -94,11 +95,13 @@ napi_value PropNExporter::AccessSync(napi_env env, napi_callback_info info) if (ret == 0) { isAccess = true; } + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return NVal::CreateBool(env, isAccess).val_; } napi_value PropNExporter::Access(napi_env env, napi_callback_info info) { + StartAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "AccessAsync", 0); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::ONE, NARG_CNT::TWO)) { HILOGE("Number of arguments unmatched"); @@ -137,6 +140,7 @@ napi_value PropNExporter::Access(napi_env env, napi_callback_info info) if (err) { return { env, err.GetNapiErr(env) }; } + FinishAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "AccessAsync", 2); return NVal::CreateBool(env, result->isAccess); }; @@ -231,6 +235,7 @@ napi_value PropNExporter::UnlinkSync(napi_env env, napi_callback_info info) napi_value PropNExporter::Mkdir(napi_env env, napi_callback_info info) { + StartAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "MkdirAsync", 0); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::ONE, NARG_CNT::TWO)) { HILOGE("Number of arguments unmatched"); @@ -264,6 +269,7 @@ napi_value PropNExporter::Mkdir(napi_env env, napi_callback_info info) if (err) { return { env, err.GetNapiErr(env) }; } + FinishAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "MkdirAsync", 2); return { NVal::CreateUndefined(env) }; }; @@ -278,6 +284,7 @@ napi_value PropNExporter::Mkdir(napi_env env, napi_callback_info info) napi_value PropNExporter::MkdirSync(napi_env env, napi_callback_info info) { + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "MkdirSync"); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::ONE)) { HILOGE("Number of arguments unmatched"); @@ -305,12 +312,13 @@ napi_value PropNExporter::MkdirSync(napi_env env, napi_callback_info info) NError(ret).ThrowErr(env); return nullptr; } - + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return NVal::CreateUndefined(env).val_; } napi_value PropNExporter::ReadSync(napi_env env, napi_callback_info info) { + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "ReadSync"); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::THREE)) { @@ -353,7 +361,7 @@ napi_value PropNExporter::ReadSync(napi_env env, napi_callback_info info) NError(ret).ThrowErr(env); return nullptr; } - + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return NVal::CreateInt64(env, static_cast(ret)).val_; } @@ -377,6 +385,7 @@ static NError ReadExec(shared_ptr arg, char *buf, size_t len, in napi_value PropNExporter::Read(napi_env env, napi_callback_info info) { + StartAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "ReadAsync", 0); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::FOUR)) { HILOGE("Number of arguments unmatched"); @@ -418,6 +427,7 @@ napi_value PropNExporter::Read(napi_env env, napi_callback_info info) if (err) { return { env, err.GetNapiErr(env) }; } + FinishAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "ReadAsync", 2); return { NVal::CreateInt64(env, static_cast(arg->lenRead)) }; }; @@ -452,6 +462,7 @@ static NError WriteExec(shared_ptr arg, char *buf, size_t len, napi_value PropNExporter::Write(napi_env env, napi_callback_info info) { + StartAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "WriteAsync", 0); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::FOUR)) { HILOGE("Number of arguments unmatched"); @@ -494,6 +505,7 @@ napi_value PropNExporter::Write(napi_env env, napi_callback_info info) if (err) { return { env, err.GetNapiErr(env) }; } else { + FinishAsyncTrace(HITRACE_TAG_FILEMANAGEMENT, "WriteAsync", 2); return { NVal::CreateInt64(env, static_cast(arg->actLen)) }; } }; @@ -511,6 +523,7 @@ napi_value PropNExporter::Write(napi_env env, napi_callback_info info) napi_value PropNExporter::WriteSync(napi_env env, napi_callback_info info) { + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "WriteSync"); NFuncArg funcArg(env, info); if (!funcArg.InitArgs(NARG_CNT::TWO, NARG_CNT::THREE)) { HILOGE("Number of arguments unmatched"); @@ -552,7 +565,7 @@ napi_value PropNExporter::WriteSync(napi_env env, napi_callback_info info) NError(ret).ThrowErr(env); return nullptr; } - + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return NVal::CreateInt64(env, static_cast(ret)).val_; } diff --git a/utils/filemgmt_libhilog/BUILD.gn b/utils/filemgmt_libhilog/BUILD.gn index e5dc1d3a7..45d9b5efe 100644 --- a/utils/filemgmt_libhilog/BUILD.gn +++ b/utils/filemgmt_libhilog/BUILD.gn @@ -23,7 +23,10 @@ config("log_public_config") { ohos_shared_library("filemgmt_libhilog") { public_configs = [ ":log_public_config" ] - external_deps = [ "hilog:libhilog" ] + external_deps = [ + "hilog:libhilog", + "hitrace:hitrace_meter" + ] subsystem_name = "filemanagement" innerapi_tags = [ "platformsdk" ] diff --git a/utils/filemgmt_libhilog/filemgmt_libhilog.h b/utils/filemgmt_libhilog/filemgmt_libhilog.h index 5f4c18b87..f178820e2 100644 --- a/utils/filemgmt_libhilog/filemgmt_libhilog.h +++ b/utils/filemgmt_libhilog/filemgmt_libhilog.h @@ -17,6 +17,7 @@ #define FILEMGMT_LIBHILOG_H #include "hilog/log.h" +#include "hitrace_meter.h" #include diff --git a/utils/filemgmt_libn/BUILD.gn b/utils/filemgmt_libn/BUILD.gn index 6ebeaa444..1e39629ce 100644 --- a/utils/filemgmt_libn/BUILD.gn +++ b/utils/filemgmt_libn/BUILD.gn @@ -49,6 +49,7 @@ ohos_shared_library("filemgmt_libn") { external_deps = [ "hilog:libhilog", + "hitrace:hitrace_meter", "napi:ace_napi", ] -- Gitee