From 36eaa4a0e8dde3be5ae801b45177f6cea5d8194b Mon Sep 17 00:00:00 2001 From: gavin Date: Thu, 10 Nov 2022 15:17:01 +0800 Subject: [PATCH 1/2] add frame_trace Signed-off-by: gavin --- bundle.json | 10 +++ interfaces/innerkits/BUILD.gn | 1 + interfaces/innerkits/frameintf/BUILD.gn | 13 ++++ .../innerkits/frameintf/frame_trace.cpp | 65 +++++++++++++++++++ interfaces/innerkits/frameintf/frame_trace.h | 41 ++++++++++++ 5 files changed, 130 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..77e51c7 100644 --- a/interfaces/innerkits/frameintf/BUILD.gn +++ b/interfaces/innerkits/frameintf/BUILD.gn @@ -28,6 +28,19 @@ 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 2793c2da344e70bb26f79341218e679365737721 Mon Sep 17 00:00:00 2001 From: gavin Date: Thu, 10 Nov 2022 15:53:55 +0800 Subject: [PATCH 2/2] modify BUILD.gn Signed-off-by: gavin --- interfaces/innerkits/frameintf/BUILD.gn | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/interfaces/innerkits/frameintf/BUILD.gn b/interfaces/innerkits/frameintf/BUILD.gn index 77e51c7..a1b16f0 100644 --- a/interfaces/innerkits/frameintf/BUILD.gn +++ b/interfaces/innerkits/frameintf/BUILD.gn @@ -29,13 +29,9 @@ config("frame_ui_intf_config") { } ohos_shared_library("frame_trace_intf") { - include_dirs = [ - "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf", - ] + include_dirs = [ "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf" ] - sources = [ - "frame_trace.cpp", - ] + sources = [ "frame_trace.cpp" ] subsystem_name = "resourceschedule" part_name = "frame_aware_sched" -- Gitee