Home | History | Annotate | Download | only in performance
      1 #!/bin/bash
      2 # Copyright 2015 gRPC authors.
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #     http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 
     16 mkdir -p "$OUTPUT_DIR"
     17 
     18 PERF_DATA_FILE="${PERF_BASE_NAME}-perf.data"
     19 PERF_SCRIPT_OUTPUT="${PERF_BASE_NAME}-out.perf"
     20 
     21 # Generate Flame graphs
     22 echo "running perf script on $USER_AT_HOST with perf.data"
     23 # shellcheck disable=SC2029
     24 ssh "$USER_AT_HOST" "cd ~/performance_workspace/grpc && perf script -i $PERF_DATA_FILE | gzip > ${PERF_SCRIPT_OUTPUT}.gz"
     25 
     26 scp "$USER_AT_HOST:~/performance_workspace/grpc/$PERF_SCRIPT_OUTPUT.gz" .
     27 
     28 gzip -d -f "$PERF_SCRIPT_OUTPUT.gz"
     29 
     30 ~/FlameGraph/stackcollapse-perf.pl --kernel "$PERF_SCRIPT_OUTPUT" | ~/FlameGraph/flamegraph.pl --color=java --hash > "${OUTPUT_DIR}/${OUTPUT_FILENAME}.svg"
     31