Home | History | Annotate | Download | only in user_activity_benchmarks
      1 #!/bin/bash
      2 
      3 # Copyright 2016 The Chromium OS Authors. All rights reserved.
      4 # Use of this source code is governed by a BSD-style license that can be
      5 # found in the LICENSE file.
      6 # Collects the pprof tree and top outputs.
      7 # All the local_cwp symbolized profiles are taken from the
      8 # local_cwp_results_path.
      9 # The pprof top output is stored in the pprof_top_results_path and the pprof
     10 # tree output is stored in the pprof_tree_results_path.
     11 
     12 set -e
     13 
     14 if [ "$#" -ne 3 ]; then
     15   echo "USAGE: collect_pprof_data.sh local_cwp_results_path " \
     16     "pprof_top_results_path pprof_tree_results_path"
     17   exit 1
     18 fi
     19 
     20 readonly LOCAL_CWP_RESULTS_PATH=$1
     21 readonly PPROF_TOP_RESULTS_PATH=$2
     22 readonly PPROF_TREE_RESULTS_PATH=$3
     23 readonly SYMBOLIZED_PROFILES=`ls $LOCAL_CWP_RESULTS_PATH`
     24 
     25 for symbolized_profile in "${SYMBOLIZED_PROFILES[@]}"
     26 do
     27   pprof --top "$LOCAL_CWP_RESULTS_PATH/${symbolized_profile}" > \
     28     "$PPROF_TOP_RESULTS_PATH/${symbolized_profile}.pprof"
     29   if [ $? -ne 0 ]; then
     30     echo "Failed to extract the pprof top output for the $symbolized_profile."
     31     continue
     32   fi
     33 
     34   pprof --tree "$LOCAL_CWP_RESULTS_PATH/${symbolized_profile}" > \
     35     "$PPROF_TREE_RESULTS_PATH/${symbolized_profile}.pprof"
     36   if [ $? -ne 0 ]; then
     37     echo "Failed to extract the pprof tree output for the " \
     38       "$symbolized_profile."
     39     continue
     40   fi
     41 done
     42