diff --git a/bundle.json b/bundle.json index db6466907be8bf8cda95db8ee2d0387444532eff..58699127c3433c4c24fff0109157d2156d7e11ea 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 f7a74b030c2495f32b4d65ccc3a24cbbbbd71601..281a2aa19c5d477f9f99f30a72ab08e5a649e952 100644 --- a/interfaces/innerkits/BUILD.gn +++ b/interfaces/innerkits/BUILD.gn @@ -18,6 +18,7 @@ group("innerkits_target") { deps = [ "frameintf:frame_msg_intf", "frameintf:frame_ui_intf", + "frmaeintf:frame_trace_intf", "frameintf:rtg_interface", ] } diff --git a/interfaces/innerkits/frameintf/BUILD.gn b/interfaces/innerkits/frameintf/BUILD.gn index 68c2f01e062ed5e45c73e8347e1aa55d487a5529..a94ab456243636b57f27ec8f3b6bb1931a2ab941 100644 --- a/interfaces/innerkits/frameintf/BUILD.gn +++ b/interfaces/innerkits/frameintf/BUILD.gn @@ -28,6 +28,18 @@ 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 0000000000000000000000000000000000000000..c9e46cc263526205d3c4af44c7dac2ac8b5bdbe0 --- /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(std::string traceTag) +{ + return false; +} + +void QuickStartFrameTrace(std::string traceTag) +{ + return; +} + +void QuickEndFrameTrace(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 0000000000000000000000000000000000000000..34bef2c4923ce37e1b0c1643a3ebb32be66f334e --- /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(std::string traceTag); +void QuickStartFrameTrace(std::string traceTag); +void QuickEndFrameTrace(std::string traceTag); +} + +#endif