From 38ced76fc8808be6dc1335662526da3c1d45e55a Mon Sep 17 00:00:00 2001 From: Dai Li Date: Thu, 3 Nov 2022 17:13:03 +0800 Subject: [PATCH 1/4] Downgrade the log level of rtg_interface Signed-off-by: Dai Li --- interfaces/innerkits/frameintf/rtg_interface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/innerkits/frameintf/rtg_interface.cpp b/interfaces/innerkits/frameintf/rtg_interface.cpp index 840be9a..49f3e1c 100644 --- a/interfaces/innerkits/frameintf/rtg_interface.cpp +++ b/interfaces/innerkits/frameintf/rtg_interface.cpp @@ -440,7 +440,7 @@ int SearchRtgForTid(int tid) search_data.state_param = tid; ret = ioctl(fd, CMD_ID_SEARCH_RTG, &search_data); if (ret >= 0) { - RME_LOGI("Search tid %{public}d success with rtg_grp %{public}d", tid, ret); + RME_LOGD("Search tid %{public}d success with rtg_grp %{public}d", tid, ret); } close(fd); return ret; -- Gitee From ecc49013e14310286a29e4fcd00d5f4673f2a40d Mon Sep 17 00:00:00 2001 From: gavin Date: Thu, 10 Nov 2022 16:07:56 +0800 Subject: [PATCH 2/4] frame trace interfaces Signed-off-by: gavin --- bundle.json | 10 +++ interfaces/innerkits/BUILD.gn | 1 + interfaces/innerkits/frameintf/BUILD.gn | 9 +++ .../innerkits/frameintf/frame_trace.cpp | 65 +++++++++++++++++++ interfaces/innerkits/frameintf/frame_trace.h | 41 ++++++++++++ 5 files changed, 126 insertions(+) create mode 100644 interfaces/innerkits/frameintf/frame_trace.cpp create mode 100644 interfaces/innerkits/frameintf/frame_trace.h diff --git a/bundle.json b/bundle.json index db64669..5869912 100644 --- a/bundle.json +++ b/bundle.json @@ -35,6 +35,7 @@ "sub_component": [ "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf:frame_ui_intf", "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf:frame_msg_intf", + "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf:frame_trace_intf", "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf:rtg_interface", "//foundation/resourceschedule/frame_aware_sched/profiles:frame_aware_sched_config" ], @@ -56,6 +57,15 @@ ] }, "name": "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf:frame_msg_intf" + }, + { + "header": { + "header_base": "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf", + "header_files": [ + "frame_trace.h" + ] + }, + "name": "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf:frame_trace_intf" } ], "test": [ diff --git a/interfaces/innerkits/BUILD.gn b/interfaces/innerkits/BUILD.gn index f7a74b0..be09daa 100644 --- a/interfaces/innerkits/BUILD.gn +++ b/interfaces/innerkits/BUILD.gn @@ -17,6 +17,7 @@ import("//foundation/resourceschedule/frame_aware_sched/frame_aware_sched.gni") group("innerkits_target") { deps = [ "frameintf:frame_msg_intf", + "frameintf:frame_trace_intf", "frameintf:frame_ui_intf", "frameintf:rtg_interface", ] diff --git a/interfaces/innerkits/frameintf/BUILD.gn b/interfaces/innerkits/frameintf/BUILD.gn index 68c2f01..a1b16f0 100644 --- a/interfaces/innerkits/frameintf/BUILD.gn +++ b/interfaces/innerkits/frameintf/BUILD.gn @@ -28,6 +28,15 @@ config("frame_ui_intf_config") { ] } +ohos_shared_library("frame_trace_intf") { + include_dirs = [ "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf" ] + + sources = [ "frame_trace.cpp" ] + + subsystem_name = "resourceschedule" + part_name = "frame_aware_sched" +} + ohos_shared_library("frame_ui_intf") { sources = [ "${frame_aware_path}/interfaces/innerkits/frameintf/rtg_interface.cpp", diff --git a/interfaces/innerkits/frameintf/frame_trace.cpp b/interfaces/innerkits/frameintf/frame_trace.cpp new file mode 100644 index 0000000..3d54a41 --- /dev/null +++ b/interfaces/innerkits/frameintf/frame_trace.cpp @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2022 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. + */ + +#include "frame_trace.h" + +namespace FRAME_TRACE { + +struct TraceHandle* CreateTraceTag(std::string traceTag) +{ + return nullptr; +} + +void SetTraceLimit(struct TraceHandle* traceHandle, unsigned int traceLimit) +{ + return; +} + +void EnableTraceForThread(struct TraceHandle* traceHandle) +{ + return; +} + +void StartFrameTrace(struct TraceHandle* traceHandle) +{ + return; +} + +void StopFrameTrace(struct TraceHandle* traceHandle) +{ + return; +} + +void TraceAndExecute(std::function && func, TraceType traceType) +{ + return; +} + +bool FrameAwareTraceEnable(const std::string &traceTag) +{ + return false; +} + +void QuickStartFrameTrace(const std::string &traceTag) +{ + return; +} + +void QuickEndFrameTrace(const std::string &traceTag) +{ + return; +} + +} diff --git a/interfaces/innerkits/frameintf/frame_trace.h b/interfaces/innerkits/frameintf/frame_trace.h new file mode 100644 index 0000000..7b7c661 --- /dev/null +++ b/interfaces/innerkits/frameintf/frame_trace.h @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2022 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 FRAME_TRACE_HPP +#define FRAME_TRACE_HPP + +#include + +namespace FRAME_TRACE { + +struct TraceHandle; + +enum class TraceType { + QUICK_TRACE, + SLOW_TRACE +}; + +struct TraceHandle* CreateTraceTag(std::string traceTag); +void SetTraceLimit(struct TraceHandle* traceHandle, unsigned int traceLimit); +void EnableTraceForThread(struct TraceHandle* traceHandle); +void StartFrameTrace(struct TraceHandle* traceHandle); +void StopFrameTrace(struct TraceHandle* traceHandle); +void TraceAndExecute(std::function && func, TraceType type); +bool FrameAwareTraceEnable(const std::string &traceTag); +void QuickStartFrameTrace(const std::string &traceTag); +void QuickEndFrameTrace(const std::string &traceTag); +} + +#endif -- Gitee From 9d77dc9252f2647674dc0aa31f1b65828d8a0d01 Mon Sep 17 00:00:00 2001 From: gavin Date: Fri, 11 Nov 2022 14:59:55 +0800 Subject: [PATCH 3/4] remove h_file in bundle_json Signed-off-by: gavin --- interfaces/innerkits/frameintf/frame_trace.cpp | 12 +++++++++++- interfaces/innerkits/frameintf/frame_trace.h | 5 ++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/interfaces/innerkits/frameintf/frame_trace.cpp b/interfaces/innerkits/frameintf/frame_trace.cpp index 3d54a41..177e2a9 100644 --- a/interfaces/innerkits/frameintf/frame_trace.cpp +++ b/interfaces/innerkits/frameintf/frame_trace.cpp @@ -42,7 +42,17 @@ void StopFrameTrace(struct TraceHandle* traceHandle) return; } -void TraceAndExecute(std::function && func, TraceType traceType) +void TraceAndExecute(std::function && func, TraceType traceType) +{ + return; +} + +bool JudgeUnequalFrameTrace(struct TidHandle* tidHandle) +{ + return false; +} + +void UpdateFrameTraceTid(struct TidHandle* tidHandle) { return; } diff --git a/interfaces/innerkits/frameintf/frame_trace.h b/interfaces/innerkits/frameintf/frame_trace.h index 7b7c661..78baa05 100644 --- a/interfaces/innerkits/frameintf/frame_trace.h +++ b/interfaces/innerkits/frameintf/frame_trace.h @@ -21,6 +21,7 @@ namespace FRAME_TRACE { struct TraceHandle; +struct TidHandle; enum class TraceType { QUICK_TRACE, @@ -32,7 +33,9 @@ void SetTraceLimit(struct TraceHandle* traceHandle, unsigned int traceLimit); void EnableTraceForThread(struct TraceHandle* traceHandle); void StartFrameTrace(struct TraceHandle* traceHandle); void StopFrameTrace(struct TraceHandle* traceHandle); -void TraceAndExecute(std::function && func, TraceType type); +void TraceAndExecute(std::function && func, TraceType type); +bool JudgeUnequalFrameTrace(struct TidHandle* tidHandle); +void UpdateFrameTraceTid(struct TidHandle* tidHandle); bool FrameAwareTraceEnable(const std::string &traceTag); void QuickStartFrameTrace(const std::string &traceTag); void QuickEndFrameTrace(const std::string &traceTag); -- Gitee From 84cb82e5341ded1a176b12c78e11c3cadbc384cc Mon Sep 17 00:00:00 2001 From: gavin Date: Mon, 14 Nov 2022 18:37:53 +0800 Subject: [PATCH 4/4] add functional head file for frame_trace Signed-off-by: gavin --- interfaces/innerkits/frameintf/frame_trace.h | 1 + 1 file changed, 1 insertion(+) diff --git a/interfaces/innerkits/frameintf/frame_trace.h b/interfaces/innerkits/frameintf/frame_trace.h index 78baa05..8d7d9b5 100644 --- a/interfaces/innerkits/frameintf/frame_trace.h +++ b/interfaces/innerkits/frameintf/frame_trace.h @@ -16,6 +16,7 @@ #ifndef FRAME_TRACE_HPP #define FRAME_TRACE_HPP +#include #include namespace FRAME_TRACE { -- Gitee