1fb726d48Sopenharmony_ci#!/bin/bash 2fb726d48Sopenharmony_ci# Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved. 3fb726d48Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 4fb726d48Sopenharmony_ci# you may not use this file except in compliance with the License. 5fb726d48Sopenharmony_ci# You may obtain a copy of the License at 6fb726d48Sopenharmony_ci# 7fb726d48Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 8fb726d48Sopenharmony_ci# 9fb726d48Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 10fb726d48Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 11fb726d48Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12fb726d48Sopenharmony_ci# See the License for the specific language governing permissions and 13fb726d48Sopenharmony_ci# limitations under the License. 14fb726d48Sopenharmony_ci# 使用示例 ./perf.sh ~/SourceData/ftrace_small.txt ~/SourceData/3.svg 15fb726d48Sopenharmony_ciset -e 16fb726d48Sopenharmony_ci# 导出火焰图 17fb726d48Sopenharmony_ciif [ "$#" -ne "2" ];then 18fb726d48Sopenharmony_ci echo "使用示例 ./huoyantu.sh ~/SourceData/ftrace_small.txt ~/SourceData/3.svg" 19fb726d48Sopenharmony_ci exit 20fb726d48Sopenharmony_cifi 21fb726d48Sopenharmony_ciif [ ! -d "../FlameGraph" ];then 22fb726d48Sopenharmony_ci cd .. 23fb726d48Sopenharmony_ci git clone https://github.com/brendangregg/FlameGraph.git 24fb726d48Sopenharmony_ci cd - 25fb726d48Sopenharmony_cifi 26fb726d48Sopenharmony_ciif [ ! -f "./out/linux_debug/trace_streamer" ];then 27fb726d48Sopenharmony_ci echo "need out/linux_debug/trace_streamer file" 28fb726d48Sopenharmony_ci exit 29fb726d48Sopenharmony_cifi 30fb726d48Sopenharmony_cisource=$1 31fb726d48Sopenharmony_cidst=$2 32fb726d48Sopenharmony_cisudo perf record -g -F 99 -- ./out/linux_debug/trace_streamer $source -e /tmp/1.db 33fb726d48Sopenharmony_cisudo perf script -i perf.data > out.perf 34fb726d48Sopenharmony_ci../FlameGraph/stackcollapse-perf.pl out.perf > out.floded 35fb726d48Sopenharmony_ci../FlameGraph/flamegraph.pl out.floded > $dst