!146 修改hitrace/bytrace的重复代码,使用hitrace模块的代码构建bytrace二进制

Merge pull request !146 from cw/master
This commit is contained in:
openharmony_ci
2023-09-05 01:54:56 +00:00
committed by Gitee
9 changed files with 36 additions and 1860 deletions
-76
View File
@@ -1,76 +0,0 @@
# Copyright (C) 2021 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.
import("//build/ohos.gni")
import("../bytrace.gni")
config("bytrace_osal_inner_config") {
visibility = [ ":*" ]
include_dirs = [ "./include" ]
}
ohos_static_library("bytrace_osal_inner") {
sources = [ "./src/bytrace_osal.cpp" ]
public_configs = [ ":bytrace_osal_inner_config" ]
external_deps = [
"hitrace:hitrace_meter",
"init:libbegetutil",
]
subsystem_name = "developtools"
part_name = "bytrace"
}
ohos_executable("bytrace") {
install_enable = true
sources = [ "./src/bytrace_cmd.cpp" ]
deps = [
":bytrace_osal_inner",
"//third_party/zlib:libz",
]
external_deps = [
"c_utils:utils",
"hitrace:hitrace_meter",
]
include_dirs = [
"${bytrace_path}/bin/include",
"//third_party/zlib",
]
subsystem_name = "developtools"
part_name = "bytrace"
}
ohos_prebuilt_etc("bytrace.cfg") {
source = "./config/bytrace.cfg"
relative_install_dir = "init"
subsystem_name = "developtools"
part_name = "bytrace"
}
ohos_executable("bytrace_example") {
sources = [ "example/bytrace_example.cpp" ]
external_deps = [ "hitrace:hitrace_meter" ]
install_enable = false
subsystem_name = "developtools"
part_name = "bytrace"
}
group("bytrace_target") {
deps = [
":bytrace",
":bytrace_example",
]
}
-190
View File
@@ -1,190 +0,0 @@
{
"jobs" : [{
"name" : "post-init",
"cmds" : [
"write /proc/sys/kernel/sched_schedstats 1",
"write /sys/kernel/debug/tracing/tracing_on 0",
"chmod 0666 /sys/kernel/debug/tracing/buffer_size_kb",
"chmod 0666 /sys/kernel/debug/tracing/saved_cmdlines_size",
"chmod 0666 /sys/kernel/debug/tracing/trace",
"chmod 0666 /sys/kernel/debug/tracing/trace_clock",
"chmod 0222 /sys/kernel/debug/tracing/trace_marker",
"chmod 0666 /sys/kernel/debug/tracing/tracing_on",
"chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_lock/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_locked/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_unlock/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_transaction/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_transaction_received/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_transaction_alloc_buf/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/cgroup/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/cpufreq_interactive/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/dma_fence/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/fence/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/i2c/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_read/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_write/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_result/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_reply/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_read/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_write/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_result/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_reply/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/kmem/rss_stat/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/kmem/ion_heap_grow/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/kmem/ion_heap_shrink/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/lowmemorykiller/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/lowmemorykiller/lowmemory_kill/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/mm_event/mm_event_record/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/oom/oom_score_adj_update/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/power/cpu_frequency/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/power/cpu_idle/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/power/clock_set_rate/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/power/cpu_frequency_limits/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/power/gpu_frequency/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_switch/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_blocked_reason/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_cpu_hotplug/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_pi_setprio/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_process_exit/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_waking/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/signal/signal_generate/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/signal/signal_deliver/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/sync/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/task/task_rename/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/task/task_newtask/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_end/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/block/block_rq_issue/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/block/block_rq_complete/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_da_write_begin/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_da_write_end/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_es_lookup_extent_enter/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_es_lookup_extent_exit/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_load_inode/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_enter/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_exit/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_get_data_block/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_iget/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_sync_file_enter/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_sync_file_exit/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_write_begin/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_write_end/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/filemap/mm_filemap_add_to_page_cache/enable",
"chmod 0666 /sys/kernel/debug/tracing/events/filemap/mm_filemap_delete_from_page_cache/enable",
"chmod 0666 /sys/kernel/debug/tracing/options/overwrite",
"chmod 0666 /sys/kernel/debug/tracing/options/print-tgid",
"chmod 0666 /sys/kernel/debug/tracing/options/record-tgid",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu0/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu1/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu2/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu3/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu4/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu5/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu6/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu7/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu8/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu9/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu10/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu11/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu12/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu13/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu14/trace",
"chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu15/trace",
"write /sys/kernel/tracing/tracing_on 0",
"chmod 0666 /sys/kernel/tracing/buffer_size_kb",
"chmod 0666 /sys/kernel/tracing/saved_cmdlines_size",
"chmod 0666 /sys/kernel/tracing/trace",
"chmod 0666 /sys/kernel/tracing/trace_clock",
"chmod 0222 /sys/kernel/tracing/trace_marker",
"chmod 0666 /sys/kernel/tracing/tracing_on",
"chmod 0666 /sys/kernel/tracing/events/binder/binder_lock/enable",
"chmod 0666 /sys/kernel/tracing/events/binder/binder_locked/enable",
"chmod 0666 /sys/kernel/tracing/events/binder/binder_unlock/enable",
"chmod 0666 /sys/kernel/tracing/events/binder/binder_transaction/enable",
"chmod 0666 /sys/kernel/tracing/events/binder/binder_transaction_received/enable",
"chmod 0666 /sys/kernel/tracing/events/binder/binder_transaction_alloc_buf/enable",
"chmod 0666 /sys/kernel/tracing/events/cgroup/enable",
"chmod 0666 /sys/kernel/tracing/events/cpufreq_interactive/enable",
"chmod 0666 /sys/kernel/tracing/events/dma_fence/enable",
"chmod 0666 /sys/kernel/tracing/events/fence/enable",
"chmod 0666 /sys/kernel/tracing/events/i2c/enable",
"chmod 0666 /sys/kernel/tracing/events/i2c/i2c_read/enable",
"chmod 0666 /sys/kernel/tracing/events/i2c/i2c_write/enable",
"chmod 0666 /sys/kernel/tracing/events/i2c/i2c_result/enable",
"chmod 0666 /sys/kernel/tracing/events/i2c/i2c_reply/enable",
"chmod 0666 /sys/kernel/tracing/events/i2c/smbus_read/enable",
"chmod 0666 /sys/kernel/tracing/events/i2c/smbus_write/enable",
"chmod 0666 /sys/kernel/tracing/events/i2c/smbus_result/enable",
"chmod 0666 /sys/kernel/tracing/events/i2c/smbus_reply/enable",
"chmod 0666 /sys/kernel/tracing/events/kmem/rss_stat/enable",
"chmod 0666 /sys/kernel/tracing/events/kmem/ion_heap_grow/enable",
"chmod 0666 /sys/kernel/tracing/events/kmem/ion_heap_shrink/enable",
"chmod 0666 /sys/kernel/tracing/events/lowmemorykiller/enable",
"chmod 0666 /sys/kernel/tracing/events/lowmemorykiller/lowmemory_kill/enable",
"chmod 0666 /sys/kernel/tracing/events/mm_event/mm_event_record/enable",
"chmod 0666 /sys/kernel/tracing/events/oom/oom_score_adj_update/enable",
"chmod 0666 /sys/kernel/tracing/events/power/cpu_frequency/enable",
"chmod 0666 /sys/kernel/tracing/events/power/cpu_idle/enable",
"chmod 0666 /sys/kernel/tracing/events/power/clock_set_rate/enable",
"chmod 0666 /sys/kernel/tracing/events/power/cpu_frequency_limits/enable",
"chmod 0666 /sys/kernel/tracing/events/power/gpu_frequency/enable",
"chmod 0666 /sys/kernel/tracing/events/sched/sched_switch/enable",
"chmod 0666 /sys/kernel/tracing/events/sched/sched_wakeup/enable",
"chmod 0666 /sys/kernel/tracing/events/sched/sched_blocked_reason/enable",
"chmod 0666 /sys/kernel/tracing/events/sched/sched_cpu_hotplug/enable",
"chmod 0666 /sys/kernel/tracing/events/sched/sched_pi_setprio/enable",
"chmod 0666 /sys/kernel/tracing/events/sched/sched_process_exit/enable",
"chmod 0666 /sys/kernel/tracing/events/sched/sched_waking/enable",
"chmod 0666 /sys/kernel/tracing/events/signal/signal_generate/enable",
"chmod 0666 /sys/kernel/tracing/events/signal/signal_deliver/enable",
"chmod 0666 /sys/kernel/tracing/events/sync/enable",
"chmod 0666 /sys/kernel/tracing/events/task/task_rename/enable",
"chmod 0666 /sys/kernel/tracing/events/task/task_newtask/enable",
"chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable",
"chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_direct_reclaim_end/enable",
"chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable",
"chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable",
"chmod 0666 /sys/kernel/tracing/events/block/block_rq_issue/enable",
"chmod 0666 /sys/kernel/tracing/events/block/block_rq_complete/enable",
"chmod 0666 /sys/kernel/tracing/events/ext4/ext4_da_write_begin/enable",
"chmod 0666 /sys/kernel/tracing/events/ext4/ext4_da_write_end/enable",
"chmod 0666 /sys/kernel/tracing/events/ext4/ext4_es_lookup_extent_enter/enable",
"chmod 0666 /sys/kernel/tracing/events/ext4/ext4_es_lookup_extent_exit/enable",
"chmod 0666 /sys/kernel/tracing/events/ext4/ext4_load_inode/enable",
"chmod 0666 /sys/kernel/tracing/events/ext4/ext4_sync_file_enter/enable",
"chmod 0666 /sys/kernel/tracing/events/ext4/ext4_sync_file_exit/enable",
"chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_get_data_block/enable",
"chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_iget/enable",
"chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_sync_file_enter/enable",
"chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_sync_file_exit/enable",
"chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_write_begin/enable",
"chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_write_end/enable",
"chmod 0666 /sys/kernel/tracing/events/filemap/mm_filemap_add_to_page_cache/enable",
"chmod 0666 /sys/kernel/tracing/events/filemap/mm_filemap_delete_from_page_cache/enable",
"chmod 0666 /sys/kernel/tracing/options/overwrite",
"chmod 0666 /sys/kernel/tracing/options/print-tgid",
"chmod 0666 /sys/kernel/tracing/options/record-tgid",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu0/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu1/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu2/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu3/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu4/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu5/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu6/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu7/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu8/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu9/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu10/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu11/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu12/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu13/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu14/trace",
"chmod 0666 /sys/kernel/tracing/per_cpu/cpu15/trace",
"setparam debug.hitrace.tags.enableflags 0"
]
}
]
}
-224
View File
@@ -1,224 +0,0 @@
# Copyright (c) 2021 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.
on late-init
write /proc/sys/kernel/sched_schedstats 1
write /sys/kernel/debug/tracing/tracing_on 0
chmod 0666 /sys/kernel/debug/tracing/buffer_size_kb
chmod 0666 /sys/kernel/debug/tracing/saved_cmdlines_size
chmod 0666 /sys/kernel/debug/tracing/trace
chmod 0666 /sys/kernel/debug/tracing/trace_clock
chmod 0222 /sys/kernel/debug/tracing/trace_marker
chmod 0666 /sys/kernel/debug/tracing/tracing_on
# ftrace events
chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_lock/enable
chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_locked/enable
chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_unlock/enable
chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_transaction/enable
chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_transaction_received/enable
chmod 0666 /sys/kernel/debug/tracing/events/binder/binder_transaction_alloc_buf/enable
chmod 0666 /sys/kernel/debug/tracing/events/cgroup/enable
chmod 0666 /sys/kernel/debug/tracing/events/cpufreq_interactive/enable
chmod 0666 /sys/kernel/debug/tracing/events/dma_fence/enable
chmod 0666 /sys/kernel/debug/tracing/events/fence/enable
chmod 0666 /sys/kernel/debug/tracing/events/i2c/enable
chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_read/enable
chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_write/enable
chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_result/enable
chmod 0666 /sys/kernel/debug/tracing/events/i2c/i2c_reply/enable
chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_read/enable
chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_write/enable
chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_result/enable
chmod 0666 /sys/kernel/debug/tracing/events/i2c/smbus_reply/enable
chmod 0666 /sys/kernel/debug/tracing/events/kmem/rss_stat/enable
chmod 0666 /sys/kernel/debug/tracing/events/kmem/ion_heap_grow/enable
chmod 0666 /sys/kernel/debug/tracing/events/kmem/ion_heap_shrink/enable
chmod 0666 /sys/kernel/debug/tracing/events/lowmemorykiller/enable
chmod 0666 /sys/kernel/debug/tracing/events/lowmemorykiller/lowmemory_kill/enable
chmod 0666 /sys/kernel/debug/tracing/events/mm_event/mm_event_record/enable
chmod 0666 /sys/kernel/debug/tracing/events/oom/oom_score_adj_update/enable
chmod 0666 /sys/kernel/debug/tracing/events/power/cpu_frequency/enable
chmod 0666 /sys/kernel/debug/tracing/events/power/cpu_idle/enable
chmod 0666 /sys/kernel/debug/tracing/events/power/clock_set_rate/enable
chmod 0666 /sys/kernel/debug/tracing/events/power/cpu_frequency_limits/enable
chmod 0666 /sys/kernel/debug/tracing/events/power/gpu_frequency/enable
chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_switch/enable
chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable
chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_blocked_reason/enable
chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_cpu_hotplug/enable
chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_pi_setprio/enable
chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_process_exit/enable
chmod 0666 /sys/kernel/debug/tracing/events/sched/sched_waking/enable
chmod 0666 /sys/kernel/debug/tracing/events/signal/signal_generate/enable
chmod 0666 /sys/kernel/debug/tracing/events/signal/signal_deliver/enable
chmod 0666 /sys/kernel/debug/tracing/events/sync/enable
chmod 0666 /sys/kernel/debug/tracing/events/task/task_rename/enable
chmod 0666 /sys/kernel/debug/tracing/events/task/task_newtask/enable
chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable
chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_direct_reclaim_end/enable
chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable
chmod 0666 /sys/kernel/debug/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable
chmod 0666 /sys/kernel/debug/tracing/events/block/block_rq_issue/enable
chmod 0666 /sys/kernel/debug/tracing/events/block/block_rq_complete/enable
chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_da_write_begin/enable
chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_da_write_end/enable
chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_es_lookup_extent_enter/enable
chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_es_lookup_extent_exit/enable
chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_load_inode/enable
chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_enter/enable
chmod 0666 /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_exit/enable
chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_get_data_block/enable
chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_iget/enable
chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_sync_file_enter/enable
chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_sync_file_exit/enable
chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_write_begin/enable
chmod 0666 /sys/kernel/debug/tracing/events/f2fs/f2fs_write_end/enable
chmod 0666 /sys/kernel/debug/tracing/events/filemap/mm_filemap_add_to_page_cache/enable
chmod 0666 /sys/kernel/debug/tracing/events/filemap/mm_filemap_delete_from_page_cache/enable
chmod 0666 /sys/kernel/debug/tracing/options/overwrite
chmod 0666 /sys/kernel/debug/tracing/options/print-tgid
chmod 0666 /sys/kernel/debug/tracing/options/record-tgid
# percpu
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu0/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu1/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu2/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu3/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu4/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu5/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu6/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu7/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu8/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu9/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu10/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu11/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu12/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu13/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu14/trace
chmod 0666 /sys/kernel/debug/tracing/per_cpu/cpu15/trace
write /sys/kernel/tracing/tracing_on 0
chmod 0666 /sys/kernel/tracing/buffer_size_kb
chmod 0666 /sys/kernel/tracing/saved_cmdlines_size
chmod 0666 /sys/kernel/tracing/trace
chmod 0666 /sys/kernel/tracing/trace_clock
chmod 0222 /sys/kernel/tracing/trace_marker
chmod 0666 /sys/kernel/tracing/tracing_on
# ftrace events
chmod 0666 /sys/kernel/tracing/events/binder/binder_lock/enable
chmod 0666 /sys/kernel/tracing/events/binder/binder_locked/enable
chmod 0666 /sys/kernel/tracing/events/binder/binder_unlock/enable
chmod 0666 /sys/kernel/tracing/events/binder/binder_transaction/enable
chmod 0666 /sys/kernel/tracing/events/binder/binder_transaction_received/enable
chmod 0666 /sys/kernel/tracing/events/binder/binder_transaction_alloc_buf/enable
chmod 0666 /sys/kernel/tracing/events/cgroup/enable
chmod 0666 /sys/kernel/tracing/events/cpufreq_interactive/enable
chmod 0666 /sys/kernel/tracing/events/dma_fence/enable
chmod 0666 /sys/kernel/tracing/events/fence/enable
chmod 0666 /sys/kernel/tracing/events/i2c/enable
chmod 0666 /sys/kernel/tracing/events/i2c/i2c_read/enable
chmod 0666 /sys/kernel/tracing/events/i2c/i2c_write/enable
chmod 0666 /sys/kernel/tracing/events/i2c/i2c_result/enable
chmod 0666 /sys/kernel/tracing/events/i2c/i2c_reply/enable
chmod 0666 /sys/kernel/tracing/events/i2c/smbus_read/enable
chmod 0666 /sys/kernel/tracing/events/i2c/smbus_write/enable
chmod 0666 /sys/kernel/tracing/events/i2c/smbus_result/enable
chmod 0666 /sys/kernel/tracing/events/i2c/smbus_reply/enable
chmod 0666 /sys/kernel/tracing/events/kmem/rss_stat/enable
chmod 0666 /sys/kernel/tracing/events/kmem/ion_heap_grow/enable
chmod 0666 /sys/kernel/tracing/events/kmem/ion_heap_shrink/enable
chmod 0666 /sys/kernel/tracing/events/lowmemorykiller/enable
chmod 0666 /sys/kernel/tracing/events/lowmemorykiller/lowmemory_kill/enable
chmod 0666 /sys/kernel/tracing/events/mm_event/mm_event_record/enable
chmod 0666 /sys/kernel/tracing/events/oom/oom_score_adj_update/enable
chmod 0666 /sys/kernel/tracing/events/power/cpu_frequency/enable
chmod 0666 /sys/kernel/tracing/events/power/cpu_idle/enable
chmod 0666 /sys/kernel/tracing/events/power/clock_set_rate/enable
chmod 0666 /sys/kernel/tracing/events/power/cpu_frequency_limits/enable
chmod 0666 /sys/kernel/tracing/events/power/gpu_frequency/enable
chmod 0666 /sys/kernel/tracing/events/sched/sched_switch/enable
chmod 0666 /sys/kernel/tracing/events/sched/sched_wakeup/enable
chmod 0666 /sys/kernel/tracing/events/sched/sched_blocked_reason/enable
chmod 0666 /sys/kernel/tracing/events/sched/sched_cpu_hotplug/enable
chmod 0666 /sys/kernel/tracing/events/sched/sched_pi_setprio/enable
chmod 0666 /sys/kernel/tracing/events/sched/sched_process_exit/enable
chmod 0666 /sys/kernel/tracing/events/sched/sched_waking/enable
chmod 0666 /sys/kernel/tracing/events/signal/signal_generate/enable
chmod 0666 /sys/kernel/tracing/events/signal/signal_deliver/enable
chmod 0666 /sys/kernel/tracing/events/sync/enable
chmod 0666 /sys/kernel/tracing/events/task/task_rename/enable
chmod 0666 /sys/kernel/tracing/events/task/task_newtask/enable
chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_direct_reclaim_begin/enable
chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_direct_reclaim_end/enable
chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_kswapd_wake/enable
chmod 0666 /sys/kernel/tracing/events/vmscan/mm_vmscan_kswapd_sleep/enable
chmod 0666 /sys/kernel/tracing/events/block/block_rq_issue/enable
chmod 0666 /sys/kernel/tracing/events/block/block_rq_complete/enable
chmod 0666 /sys/kernel/tracing/events/ext4/ext4_da_write_begin/enable
chmod 0666 /sys/kernel/tracing/events/ext4/ext4_da_write_end/enable
chmod 0666 /sys/kernel/tracing/events/ext4/ext4_es_lookup_extent_enter/enable
chmod 0666 /sys/kernel/tracing/events/ext4/ext4_es_lookup_extent_exit/enable
chmod 0666 /sys/kernel/tracing/events/ext4/ext4_load_inode/enable
chmod 0666 /sys/kernel/tracing/events/ext4/ext4_sync_file_enter/enable
chmod 0666 /sys/kernel/tracing/events/ext4/ext4_sync_file_exit/enable
chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_get_data_block/enable
chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_iget/enable
chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_sync_file_enter/enable
chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_sync_file_exit/enable
chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_write_begin/enable
chmod 0666 /sys/kernel/tracing/events/f2fs/f2fs_write_end/enable
chmod 0666 /sys/kernel/tracing/events/filemap/mm_filemap_add_to_page_cache/enable
chmod 0666 /sys/kernel/tracing/events/filemap/mm_filemap_delete_from_page_cache/enable
chmod 0666 /sys/kernel/tracing/options/overwrite
chmod 0666 /sys/kernel/tracing/options/print-tgid
chmod 0666 /sys/kernel/tracing/options/record-tgid
# percpu
chmod 0666 /sys/kernel/tracing/per_cpu/cpu0/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu1/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu2/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu3/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu4/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu5/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu6/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu7/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu8/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu9/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu10/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu11/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu12/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu13/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu14/trace
chmod 0666 /sys/kernel/tracing/per_cpu/cpu15/trace
-97
View File
@@ -1,97 +0,0 @@
/*
* Copyright (C) 2021 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 <cstring>
#include <unistd.h>
#include <iostream>
#include <thread>
#include "hitrace_meter.h"
using namespace std;
namespace {
constexpr int SLEEP_ONE_SECOND = 1;
constexpr int SLEEP_TWO_SECOND = 2;
constexpr int CYCLE_TIMES = 5;
constexpr int32_t TASK_ID = 111;
constexpr uint64_t LABEL = HITRACE_TAG_OHOS;
void FuncA()
{
cout << "funcA" << endl;
sleep(SLEEP_ONE_SECOND);
}
void FuncB()
{
cout << "funcB" << endl;
sleep(SLEEP_TWO_SECOND);
}
void FuncC()
{
cout << "funcC" << endl;
int num = 0;
for (int i = 0; i < CYCLE_TIMES; i++) {
CountTrace(HITRACE_TAG_OHOS, "count number", ++num);
sleep(SLEEP_ONE_SECOND);
}
}
void ThreadFunc1()
{
StartAsyncTrace(LABEL, "testAsync", TASK_ID);
for (int i = 0; i < CYCLE_TIMES; ++i) {
cout << "t1" << endl;
sleep(SLEEP_ONE_SECOND);
}
}
void ThreadFunc2()
{
for (int i = 0; i < CYCLE_TIMES; ++i) {
cout << "t2" << endl;
sleep(SLEEP_ONE_SECOND);
}
FinishAsyncTrace(LABEL, "testAsync", TASK_ID);
}
} // namespace
int main()
{
thread t1(ThreadFunc1);
t1.join();
StartTrace(LABEL, "testStart");
sleep(SLEEP_ONE_SECOND);
StartTrace(LABEL, "funcAStart", SLEEP_ONE_SECOND); // 打印起始点
FuncA();
FinishTrace(LABEL);
sleep(SLEEP_TWO_SECOND);
thread t2(ThreadFunc2);
t2.join();
StartTrace(LABEL, "funcBStart", SLEEP_TWO_SECOND);
FuncB();
FinishTrace(LABEL);
sleep(SLEEP_TWO_SECOND);
sleep(SLEEP_ONE_SECOND);
FinishTrace(LABEL);
FuncC();
return 0;
}
-43
View File
@@ -1,43 +0,0 @@
/*
* Copyright (C) 2021-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 BIN_INCLUDE_BYTRACE_CAPTURE_H
#define BIN_INCLUDE_BYTRACE_CAPTURE_H
#include <string>
namespace OHOS {
namespace Developtools {
namespace BytraceOsal {
const int MAX_SYS_FILES = 11;
enum TraceType { USER, KERNEL };
struct TagCategory {
std::string name;
std::string description;
uint64_t tag;
TraceType type;
struct {
std::string path;
} sysfiles[MAX_SYS_FILES];
};
std::string GetPropertyInner(const std::string& property, const std::string& value);
bool SetPropertyInner(const std::string& property, const std::string& value);
bool RefreshBinderServices(void);
bool RefreshHalServices(void);
}
}
}
#endif // BIN_INCLUDE_BYTRACE_CAPTURE_H
File diff suppressed because it is too large Load Diff
-47
View File
@@ -1,47 +0,0 @@
/*
* Copyright (C) 2021 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 "bytrace_osal.h"
#include "parameters.h"
namespace OHOS {
namespace Developtools {
namespace BytraceOsal {
bool SetPropertyInner(const std::string& property, const std::string& value)
{
bool result = OHOS::system::SetParameter(property, value);
if (!result) {
fprintf(stderr, "Error: Failed to set %s property.\n", value.c_str());
}
return result;
}
std::string GetPropertyInner(const std::string& property, const std::string& value)
{
return OHOS::system::GetParameter(property, value);
}
bool RefreshBinderServices(void)
{
return true;
}
bool RefreshHalServices(void)
{
return true;
}
}
}
}
-6
View File
@@ -19,21 +19,15 @@
"ram": "720KB",
"deps": {
"components": [
"c_utils",
"hitrace",
"hilog",
"init",
"ipc",
"napi"
],
"third_party": [
"zlib"
]
},
"build": {
"sub_component": [
"//developtools/bytrace/bin:bytrace_target",
"//developtools/bytrace/bin:bytrace.cfg",
"//developtools/bytrace/interfaces/kits:jsapi_kits_target"
],
"inner_kits": [
+36 -36
View File
@@ -22,13 +22,13 @@
using namespace OHOS::HiviewDFX;
namespace {
constexpr int FIRST_ARG_INDEX = 0;
constexpr int SECOND_ARG_INDEX = 1;
constexpr int THIRD_ARG_INDEX = 2;
constexpr int ARGC_NUMBER_TWO = 2;
constexpr int ARGC_NUMBER_THREE = 3;
constexpr uint64_t HITRACE_METER_TAG = 0xD002D33;
constexpr OHOS::HiviewDFX::HiLogLabel LABEL = {LOG_CORE, HITRACE_METER_TAG, "HITRACE_METER_JS"};
constexpr int FIRST_ARGC_INDEX = 0;
constexpr int SECOND_ARGC_INDEX = 1;
constexpr int THIRD_ARGC_INDEX = 2;
constexpr int ARGC_NUMBER_TWICE = 2;
constexpr int ARGC_NUMBER_TRIPLE = 3;
constexpr uint64_t HITRACE_METER_LABEL = 0xD002D33;
constexpr OHOS::HiviewDFX::HiLogLabel LABEL = {LOG_CORE, HITRACE_METER_LABEL, "HITRACE_METER_JS"};
using STR_NUM_PARAM_FUNC = std::function<bool(std::string, napi_value&)>;
napi_value ParseParams(napi_env& env, napi_callback_info& info, size_t& argc, napi_value* argv)
@@ -43,11 +43,11 @@ bool TypeCheck(const napi_env& env, const napi_value& value, const napi_valuetyp
napi_valuetype valueType;
napi_status status = napi_typeof(env, value, &valueType);
if (status != napi_ok) {
HiLog::Error(LABEL, "Failed to get the type of the argument.");
HiLog::Error(LABEL, "Failed to get the type of the argument");
return false;
}
if (valueType != expectType) {
HiLog::Error(LABEL, "Type of the parameter is invalid.");
HiLog::Error(LABEL, "Type of the parameter is invalid");
return false;
}
return true;
@@ -56,10 +56,10 @@ bool TypeCheck(const napi_env& env, const napi_value& value, const napi_valuetyp
void GetStringParam(const napi_env& env, const napi_value& value, std::string& dest)
{
// parsing the value of string type into dest
constexpr int nameMaxSize = 1024;
char buf[nameMaxSize] = {0};
constexpr int maxNameSize = 1024;
char buf[maxNameSize] = {0};
size_t len = 0;
napi_get_value_string_utf8(env, value, buf, nameMaxSize, &len);
napi_get_value_string_utf8(env, value, buf, maxNameSize, &len);
dest = std::string {buf};
}
@@ -76,15 +76,15 @@ bool ParseStringParam(const napi_env& env, const napi_value& value, std::string&
dest = std::to_string(destI64);
return true;
}
if (TypeCheck(env, value, napi_undefined)) {
dest = "undefined";
return true;
}
// if it's napi_null, then handle it as 'null'
if (TypeCheck(env, value, napi_null)) {
dest = "null";
return true;
}
if (TypeCheck(env, value, napi_undefined)) {
dest = "undefined";
return true;
}
return false;
}
@@ -127,18 +127,18 @@ bool ParseNullParam(const napi_env& env, const napi_value& value)
bool JsStrNumParamsFunc(napi_env& env, napi_callback_info& info, STR_NUM_PARAM_FUNC nativeCall)
{
size_t argc = ARGC_NUMBER_TWO;
napi_value argv[ARGC_NUMBER_TWO];
size_t argc = ARGC_NUMBER_TWICE;
napi_value argv[ARGC_NUMBER_TWICE];
ParseParams(env, info, argc, argv);
if (argc != ARGC_NUMBER_TWO) {
if (argc != ARGC_NUMBER_TWICE) {
HiLog::Error(LABEL, "Wrong number of parameters.");
return false;
}
std::string name;
if (!ParseStringParam(env, argv[FIRST_ARG_INDEX], name)) {
if (!ParseStringParam(env, argv[FIRST_ARGC_INDEX], name)) {
return false;
}
if (!nativeCall(name, argv[SECOND_ARG_INDEX])) {
if (!nativeCall(name, argv[SECOND_ARGC_INDEX])) {
return false;
}
return true;
@@ -147,27 +147,27 @@ bool JsStrNumParamsFunc(napi_env& env, napi_callback_info& info, STR_NUM_PARAM_F
static napi_value JSTraceStart(napi_env env, napi_callback_info info)
{
size_t argc = ARGC_NUMBER_THREE;
napi_value argv[ARGC_NUMBER_THREE];
size_t argc = ARGC_NUMBER_TRIPLE;
napi_value argv[ARGC_NUMBER_TRIPLE];
ParseParams(env, info, argc, argv);
NAPI_ASSERT(env, argc >= ARGC_NUMBER_TWO, "Wrong number of arguments");
if (argc < ARGC_NUMBER_TWO) {
NAPI_ASSERT(env, argc >= ARGC_NUMBER_TWICE, "Wrong number of arguments");
if (argc < ARGC_NUMBER_TWICE) {
HiLog::Error(LABEL, "Wrong number of parameters.");
}
std::string name;
if (!ParseStringParam(env, argv[FIRST_ARG_INDEX], name)) {
if (!ParseStringParam(env, argv[FIRST_ARGC_INDEX], name)) {
return nullptr;
}
int taskId = 0;
if (!ParseInt32Param(env, argv[SECOND_ARG_INDEX], taskId)) {
if (!ParseInt32Param(env, argv[SECOND_ARGC_INDEX], taskId)) {
return nullptr;
}
if (argc == ARGC_NUMBER_TWO) {
if (argc == ARGC_NUMBER_TWICE) {
StartAsyncTrace(HITRACE_TAG_APP, name, taskId);
} else {
double limit = 0.0;
if (!ParseDoubleParam(env, argv[THIRD_ARG_INDEX], limit) && !ParseUndefinedParam(env, argv[THIRD_ARG_INDEX]) &&
!ParseNullParam(env, argv[THIRD_ARG_INDEX])) {
if (!ParseDoubleParam(env, argv[THIRD_ARGC_INDEX], limit) &&
!ParseUndefinedParam(env, argv[THIRD_ARGC_INDEX]) && !ParseNullParam(env, argv[THIRD_ARGC_INDEX])) {
HiLog::Error(LABEL, "the third param is not number, not undefined, not null.");
return nullptr;
}
@@ -178,11 +178,11 @@ static napi_value JSTraceStart(napi_env env, napi_callback_info info)
static napi_value JSTraceFinish(napi_env env, napi_callback_info info)
{
size_t argc = ARGC_NUMBER_TWO;
napi_value argv[ARGC_NUMBER_TWO];
size_t argc = ARGC_NUMBER_TWICE;
napi_value argv[ARGC_NUMBER_TWICE];
napi_value thisVar;
NAPI_CALL(env, napi_get_cb_info(env, info, &argc, argv, &thisVar, NULL));
NAPI_ASSERT(env, argc >= ARGC_NUMBER_TWO, "Wrong number of arguments");
NAPI_ASSERT(env, argc >= ARGC_NUMBER_TWICE, "Wrong number of arguments");
(void)JsStrNumParamsFunc(env, info, [&env] (std::string name, napi_value& nValue) -> bool {
int taskId = 0;
if (!ParseInt32Param(env, nValue, taskId)) {
@@ -196,11 +196,11 @@ static napi_value JSTraceFinish(napi_env env, napi_callback_info info)
static napi_value JSTraceCount(napi_env env, napi_callback_info info)
{
size_t argc = ARGC_NUMBER_TWO;
napi_value argv[ARGC_NUMBER_TWO];
size_t argc = ARGC_NUMBER_TWICE;
napi_value argv[ARGC_NUMBER_TWICE];
napi_value thisVar;
NAPI_CALL(env, napi_get_cb_info(env, info, &argc, argv, &thisVar, NULL));
NAPI_ASSERT(env, argc == ARGC_NUMBER_TWO, "Wrong number of arguments");
NAPI_ASSERT(env, argc == ARGC_NUMBER_TWICE, "Wrong number of arguments");
(void)JsStrNumParamsFunc(env, info, [&env] (std::string name, napi_value& nValue) -> bool {
int64_t count = 0;
if (!ParseInt64Param(env, nValue, count)) {