diff --git a/hisysevent.yaml b/hisysevent.yaml index 3ccb63c..64adbdc 100644 --- a/hisysevent.yaml +++ b/hisysevent.yaml @@ -76,26 +76,26 @@ START_CONTINUATION: START_ABILITY_FAILED: __BASE: {type: FAULT, level: CRITICAL, tag: start, desc: start remote ability} - ERROR_TYPE: {type: INT32, desc: error type} + ERROR_TYPE: {type: STRING, desc: error type} CONNECT_ABILITY_FAILED: __BASE: {type: FAULT, level: CRITICAL, tag: connect, desc: connect remote ability} - ERROR_TYPE: {type: INT32, desc: error type} + ERROR_TYPE: {type: STRING, desc: error type} DISCONNECT_ABILITY_FAILED: __BASE: {type: FAULT, level: CRITICAL, tag: connect, desc: disconnect remote ability} - ERROR_TYPE: {type: INT32, desc: error type} + ERROR_TYPE: {type: STRING, desc: error type} START_ABILITY_BYCALL_FAILED: __BASE: {type: FAULT, level: CRITICAL, tag: start, desc: start remote ability by call} - ERROR_TYPE: {type: INT32, desc: error type} + ERROR_TYPE: {type: STRING, desc: error type} RELEASE_ABILITY_FAILED: __BASE: {type: FAULT, level: CRITICAL, tag: start, desc: release remote ability} - ERROR_TYPE: {type: INT32, desc: error type} + ERROR_TYPE: {type: STRING, desc: error type} START_CONTINUATION_FAILED: __BASE: {type: FAULT, level: CRITICAL, tag: continue, desc: start continuation} - ERROR_TYPE: {type: INT32, desc: error type} + ERROR_TYPE: {type: STRING, desc: error type} diff --git a/interfaces/innerkits/dmsbase/include/dfx/dms_hisysevent_report.h b/interfaces/innerkits/dmsbase/include/dfx/dms_hisysevent_report.h index 0585b22..8d883e8 100644 --- a/interfaces/innerkits/dmsbase/include/dfx/dms_hisysevent_report.h +++ b/interfaces/innerkits/dmsbase/include/dfx/dms_hisysevent_report.h @@ -43,12 +43,23 @@ namespace EventErrorType { const std::string GET_ABILITY_MGR_FAILED = "GET_ABILITY_MGR_FAILED"; } +namespace EventCallingType { + const std::string LOCAL = "LOCAL"; + const std::string REMOTE = "REMOTE"; +} + +struct BehaviorEventParam { + std::string callingType; + std::string eventName; + int32_t eventResult; + std::string bundleName = ""; + std::string abilityName = ""; + int32_t callingAppUid = -1; +}; + class DmsHiSysEventReport { public: - static int ReportBehaviorEvent(const std::string& eventName, const int32_t& eventResult, - const std::string& bundleName = "", const std::string& abilityName = "", const int32_t& callingAppUid = -1); - static int ReportBehaviorEventFromRemote(const std::string& eventName, const int32_t& eventResult, - const std::string& bundleName = "", const std::string& abilityName = "", const int32_t& callingAppUid = -1); + static int ReportBehaviorEvent(const BehaviorEventParam& param); static int ReportFaultEvent(const std::string& eventName, const std::string& errorType); }; } // namespace DistributedSchedule diff --git a/services/base/src/dfx/dms_hisysevent_report.cpp b/services/base/src/dfx/dms_hisysevent_report.cpp index 92ae153..4f5c6fc 100644 --- a/services/base/src/dfx/dms_hisysevent_report.cpp +++ b/services/base/src/dfx/dms_hisysevent_report.cpp @@ -37,34 +37,16 @@ namespace { const std::string KEY_TARGET_BUNDLE = "TARGET_BUNDLE"; } -int DmsHiSysEventReport::ReportBehaviorEvent(const std::string& eventName, const int32_t& eventResult, - const std::string& bundleName, const std::string& abilityName, const int32_t& callingAppUid) +int DmsHiSysEventReport::ReportBehaviorEvent(const BehaviorEventParam& param) { - int result = HiSysEvent::Write(DOMAIN_NAME, eventName, HiSysEvent::EventType::BEHAVIOR, - KEY_CALLING_TYPE, "local", + int result = HiSysEvent::Write(DOMAIN_NAME, param.eventName, HiSysEvent::EventType::BEHAVIOR, + KEY_CALLING_TYPE, param.callingType, KEY_CALLING_UID, IPCSkeleton::GetCallingUid(), KEY_CALLING_PID, IPCSkeleton::GetCallingPid(), - KEY_CALLING_APP_UID, callingAppUid, - KEY_TARGET_BUNDLE, bundleName, - KEY_TARGET_ABILITY, abilityName, - KEY_RESULT, eventResult); - if (result != 0) { - HILOGE("hisysevent report failed! ret %{public}d.", result); - } - return result; -} - -int DmsHiSysEventReport::ReportBehaviorEventFromRemote(const std::string& eventName, const int32_t& eventResult, - const std::string& bundleName, const std::string& abilityName, const int32_t& callingAppUid) -{ - int result = HiSysEvent::Write(DOMAIN_NAME, eventName, HiSysEvent::EventType::BEHAVIOR, - KEY_CALLING_TYPE, "remote", - KEY_CALLING_UID, IPCSkeleton::GetCallingUid(), - KEY_CALLING_PID, IPCSkeleton::GetCallingPid(), - KEY_CALLING_APP_UID, callingAppUid, - KEY_TARGET_BUNDLE, bundleName, - KEY_TARGET_ABILITY, abilityName, - KEY_RESULT, eventResult); + KEY_CALLING_APP_UID, param.callingAppUid, + KEY_TARGET_BUNDLE, param.bundleName, + KEY_TARGET_ABILITY, param.abilityName, + KEY_RESULT, param.eventResult); if (result != 0) { HILOGE("hisysevent report failed! ret %{public}d.", result); } diff --git a/services/dtbschedmgr/src/distributed_sched_stub.cpp b/services/dtbschedmgr/src/distributed_sched_stub.cpp index cf3082a..61eacce 100755 --- a/services/dtbschedmgr/src/distributed_sched_stub.cpp +++ b/services/dtbschedmgr/src/distributed_sched_stub.cpp @@ -159,8 +159,9 @@ int32_t DistributedSchedStub::StartRemoteAbilityInner(MessageParcel& data, Messa return DMS_PERMISSION_DENIED; } int32_t result = StartRemoteAbility(*want, callerUid, requestCode, accessToken); - DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::START_REMOTE_ABILITY, result, - want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerUid); + BehaviorEventParam eventParam = { EventCallingType::LOCAL, BehaviorEvent::START_REMOTE_ABILITY, result, + want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerUid }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGI("StartRemoteAbilityInner result = %{public}d", result); PARCEL_WRITE_REPLY_NOERROR(reply, Int32, result); } @@ -208,8 +209,9 @@ int32_t DistributedSchedStub::StartAbilityFromRemoteInner(MessageParcel& data, M HILOGD("parse extra info, accessTokenID = %u", accessToken); } int32_t result = StartAbilityFromRemote(*want, abilityInfo, requestCode, callerInfo, accountInfo); - DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::START_REMOTE_ABILITY, result, - want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerInfo.uid); + BehaviorEventParam eventParam = { EventCallingType::REMOTE, BehaviorEvent::START_REMOTE_ABILITY, result, + want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerInfo.uid }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGI("result = %{public}d", result); PARCEL_WRITE_HELPER(reply, Int32, result); int64_t end = GetTickCount(); @@ -300,8 +302,9 @@ int32_t DistributedSchedStub::StartContinuationInner(MessageParcel& data, Messag return DMS_PERMISSION_DENIED; } int32_t result = StartContinuation(*want, missionId, callerUid, status, accessToken); - DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::START_CONTINUATION, result, - want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerUid); + BehaviorEventParam eventParam = { EventCallingType::LOCAL, BehaviorEvent::START_CONTINUATION, result, + want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerUid }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGI("result = %{public}d", result); PARCEL_WRITE_REPLY_NOERROR(reply, Int32, result); } @@ -361,8 +364,9 @@ int32_t DistributedSchedStub::ConnectRemoteAbilityInner(MessageParcel& data, Mes return DMS_PERMISSION_DENIED; } int32_t result = ConnectRemoteAbility(*want, connect, callerUid, callerPid, accessToken); - DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::CONNECT_REMOTE_ABILITY, result, - want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerUid); + BehaviorEventParam eventParam = { EventCallingType::LOCAL, BehaviorEvent::CONNECT_REMOTE_ABILITY, result, + want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerUid }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGI("result = %{public}d", result); PARCEL_WRITE_REPLY_NOERROR(reply, Int32, result); } @@ -383,7 +387,8 @@ int32_t DistributedSchedStub::DisconnectRemoteAbilityInner(MessageParcel& data, return DMS_PERMISSION_DENIED; } int32_t result = DisconnectRemoteAbility(connect, callerUid, accessToken); - DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::DISCONNECT_REMOTE_ABILITY, result); + BehaviorEventParam eventParam = { EventCallingType::LOCAL, BehaviorEvent::DISCONNECT_REMOTE_ABILITY, result }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGI("result = %{public}d", result); PARCEL_WRITE_REPLY_NOERROR(reply, Int32, result); } @@ -431,8 +436,9 @@ int32_t DistributedSchedStub::ConnectAbilityFromRemoteInner(MessageParcel& data, std::string deviceId = abilityInfo.deviceId; int64_t begin = GetTickCount(); int32_t result = ConnectAbilityFromRemote(*want, abilityInfo, connect, callerInfo, accountInfo); - DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::CONNECT_REMOTE_ABILITY, result, - want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerInfo.uid); + BehaviorEventParam eventParam = { EventCallingType::REMOTE, BehaviorEvent::CONNECT_REMOTE_ABILITY, result, + want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerInfo.uid }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGW("result = %{public}d", result); int64_t end = GetTickCount(); PARCEL_WRITE_HELPER(reply, Int32, result); @@ -455,7 +461,8 @@ int32_t DistributedSchedStub::DisconnectAbilityFromRemoteInner(MessageParcel& da string sourceDeviceId; PARCEL_READ_HELPER(data, String, sourceDeviceId); int32_t result = DisconnectAbilityFromRemote(connect, uid, sourceDeviceId); - DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::DISCONNECT_REMOTE_ABILITY, result); + BehaviorEventParam eventParam = { EventCallingType::REMOTE, BehaviorEvent::DISCONNECT_REMOTE_ABILITY, result }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGI("result %{public}d", result); PARCEL_WRITE_REPLY_NOERROR(reply, Int32, result); } @@ -825,8 +832,9 @@ int32_t DistributedSchedStub::StartRemoteAbilityByCallInner(MessageParcel& data, return DMS_PERMISSION_DENIED; } int32_t result = StartRemoteAbilityByCall(*want, connect, callerUid, callerPid, accessToken); - DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::START_REMOTE_ABILITY_BYCALL, result, - want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerUid); + BehaviorEventParam eventParam = { EventCallingType::LOCAL, BehaviorEvent::START_REMOTE_ABILITY_BYCALL, result, + want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerUid }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGI("result = %{public}d", result); PARCEL_WRITE_REPLY_NOERROR(reply, Int32, result); } @@ -842,8 +850,9 @@ int32_t DistributedSchedStub::ReleaseRemoteAbilityInner(MessageParcel& data, Mes return ERR_INVALID_VALUE; } int32_t result = ReleaseRemoteAbility(connect, *element); - DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::RELEASE_REMOTE_ABILITY, result, - element->GetBundleName(), element->GetAbilityName()); + BehaviorEventParam eventParam = { EventCallingType::LOCAL, BehaviorEvent::RELEASE_REMOTE_ABILITY, result, + element->GetBundleName(), element->GetAbilityName() }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGI("result = %{public}d", result); PARCEL_WRITE_REPLY_NOERROR(reply, Int32, result); } @@ -881,8 +890,9 @@ int32_t DistributedSchedStub::StartAbilityByCallFromRemoteInner(MessageParcel& d return ERR_NULL_OBJECT; } int32_t result = StartAbilityByCallFromRemote(*want, connect, callerInfo, accountInfo); - DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::START_REMOTE_ABILITY_BYCALL, result, - want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerInfo.uid); + BehaviorEventParam eventParam = { EventCallingType::REMOTE, BehaviorEvent::START_REMOTE_ABILITY_BYCALL, result, + want->GetElement().GetBundleName(), want->GetElement().GetAbilityName(), callerInfo.uid }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGI("result = %{public}d", result); PARCEL_WRITE_HELPER(reply, Int32, result); return ERR_NONE; @@ -906,8 +916,9 @@ int32_t DistributedSchedStub::ReleaseAbilityFromRemoteInner(MessageParcel& data, std::string extraInfo; PARCEL_READ_HELPER(data, String, extraInfo); int32_t result = ReleaseAbilityFromRemote(connect, *element, callerInfo); - DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::RELEASE_REMOTE_ABILITY, result, - element->GetBundleName(), element->GetAbilityName()); + BehaviorEventParam eventParam = { EventCallingType::REMOTE, BehaviorEvent::RELEASE_REMOTE_ABILITY, result, + element->GetBundleName(), element->GetAbilityName() }; + DmsHiSysEventReport::ReportBehaviorEvent(eventParam); HILOGI("result %{public}d", result); PARCEL_WRITE_REPLY_NOERROR(reply, Int32, result); } diff --git a/services/dtbschedmgr/test/unittest/dms_hisysevent_report_test.cpp b/services/dtbschedmgr/test/unittest/dms_hisysevent_report_test.cpp index fa31642..ba970fe 100644 --- a/services/dtbschedmgr/test/unittest/dms_hisysevent_report_test.cpp +++ b/services/dtbschedmgr/test/unittest/dms_hisysevent_report_test.cpp @@ -61,11 +61,9 @@ HWTEST_F(DmsHiSysEventReportTest, DmsHiSysEventReportTest_001, TestSize.Level1) DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_001 begin" << std::endl; int32_t result = -1; - result = DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::START_REMOTE_ABILITY, eventResult, - bundleName, abilityName, callingAppUid); - EXPECT_TRUE(result == 0); - result = DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::START_REMOTE_ABILITY, eventResult, - bundleName, abilityName, callingAppUid); + BehaviorEventParam param = { EventCallingType::LOCAL, BehaviorEvent::START_REMOTE_ABILITY, eventResult, + bundleName, abilityName, callingAppUid }; + result = DmsHiSysEventReport::ReportBehaviorEvent(param); EXPECT_TRUE(result == 0); DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_001 end ret:" << result << std::endl; } @@ -80,11 +78,9 @@ HWTEST_F(DmsHiSysEventReportTest, DmsHiSysEventReportTest_002, TestSize.Level1) DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_002 begin" << std::endl; int32_t result = -1; - result = DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::CONNECT_REMOTE_ABILITY, eventResult, - bundleName, abilityName, callingAppUid); - EXPECT_TRUE(result == 0); - result = DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::CONNECT_REMOTE_ABILITY, eventResult, - bundleName, abilityName, callingAppUid); + BehaviorEventParam param = { EventCallingType::LOCAL, BehaviorEvent::CONNECT_REMOTE_ABILITY, eventResult, + bundleName, abilityName, callingAppUid }; + result = DmsHiSysEventReport::ReportBehaviorEvent(param); EXPECT_TRUE(result == 0); DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_002 end ret:" << result << std::endl; } @@ -99,11 +95,9 @@ HWTEST_F(DmsHiSysEventReportTest, DmsHiSysEventReportTest_003, TestSize.Level1) DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_003 begin" << std::endl; int32_t result = -1; - result = DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::START_CONTINUATION, eventResult, - bundleName, abilityName, callingAppUid); - EXPECT_TRUE(result == 0); - result = DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::START_CONTINUATION, eventResult, - bundleName, abilityName, callingAppUid); + BehaviorEventParam param = { EventCallingType::LOCAL, BehaviorEvent::START_CONTINUATION, eventResult, + bundleName, abilityName, callingAppUid }; + result = DmsHiSysEventReport::ReportBehaviorEvent(param); EXPECT_TRUE(result == 0); DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_003 end ret:" << result << std::endl; } @@ -118,11 +112,9 @@ HWTEST_F(DmsHiSysEventReportTest, DmsHiSysEventReportTest_004, TestSize.Level1) DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_004 begin" << std::endl; int32_t result = -1; - result = DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::START_REMOTE_ABILITY_BYCALL, eventResult, - bundleName, abilityName, callingAppUid); - EXPECT_TRUE(result == 0); - result = DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::START_REMOTE_ABILITY_BYCALL, eventResult, - bundleName, abilityName, callingAppUid); + BehaviorEventParam param = { EventCallingType::LOCAL, BehaviorEvent::START_REMOTE_ABILITY_BYCALL, eventResult, + bundleName, abilityName, callingAppUid }; + result = DmsHiSysEventReport::ReportBehaviorEvent(param); EXPECT_TRUE(result == 0); DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_004 end "<< std::endl; } @@ -137,11 +129,9 @@ HWTEST_F(DmsHiSysEventReportTest, DmsHiSysEventReportTest_005, TestSize.Level1) DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_005 begin" << std::endl; int32_t result = -1; - result = DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::DISCONNECT_REMOTE_ABILITY, eventResult, - bundleName, abilityName, callingAppUid); - EXPECT_TRUE(result == 0); - result = DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::DISCONNECT_REMOTE_ABILITY, eventResult, - bundleName, abilityName, callingAppUid); + BehaviorEventParam param = { EventCallingType::LOCAL, BehaviorEvent::DISCONNECT_REMOTE_ABILITY, eventResult, + bundleName, abilityName, callingAppUid }; + result = DmsHiSysEventReport::ReportBehaviorEvent(param); EXPECT_TRUE(result == 0); DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_005 end "<< std::endl; } @@ -156,11 +146,9 @@ HWTEST_F(DmsHiSysEventReportTest, DmsHiSysEventReportTest_006, TestSize.Level1) DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_006 begin" << std::endl; int32_t result = -1; - result = DmsHiSysEventReport::ReportBehaviorEvent(BehaviorEvent::RELEASE_REMOTE_ABILITY, eventResult, - bundleName, abilityName, callingAppUid); - EXPECT_TRUE(result == 0); - result = DmsHiSysEventReport::ReportBehaviorEventFromRemote(BehaviorEvent::RELEASE_REMOTE_ABILITY, eventResult, - bundleName, abilityName, callingAppUid); + BehaviorEventParam param = { EventCallingType::LOCAL, BehaviorEvent::RELEASE_REMOTE_ABILITY, eventResult, + bundleName, abilityName, callingAppUid }; + result = DmsHiSysEventReport::ReportBehaviorEvent(param); EXPECT_TRUE(result == 0); DTEST_LOG << "DmsHiSysEventReportTest DmsHiSysEventReportTest_006 end "<< std::endl; }