mirror of
https://github.com/openharmony/developtools_bytrace.git
synced 2026-07-15 14:15:42 -04:00
!146 修改hitrace/bytrace的重复代码,使用hitrace模块的代码构建bytrace二进制
Merge pull request !146 from cw/master
This commit is contained in:
@@ -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",
|
||||
]
|
||||
}
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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": [
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user