tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

collect-proc-info-cpu.sh (1268B)


      1 #!/bin/bash
      2 # This Source Code Form is subject to the terms of the Mozilla Public
      3 # License, v. 2.0. If a copy of the MPL was not distributed with this
      4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
      5 source $1/common.sh
      6 
      7 TEST_TIME=$2
      8 
      9 # waiting for test start signal
     10 while true; do
     11    if [ -f $TESTING_DIR/test_start.signal ]; then
     12        break
     13    fi
     14 done
     15 
     16 get_cpu_info(){
     17    # name: process name
     18    # res: rss
     19    # shr: shared memory
     20    # swap: swap I/O
     21    # cpu: processor being used
     22    # c: total %CPU used since start
     23    # time: CPU time consumed
     24    # %cpu: percentage of CPU time used
     25    adb shell ps -p "$1" -o name=,cpu=,c=,time+=,%cpu= >> $2
     26 }
     27 
     28 collect_cpu_at() {
     29    for pid in $(get_process_ids $BROWSER_BINARY); do
     30        echo "Collecting cpu info at $1s for $pid"
     31        get_cpu_info "$pid" $TESTING_DIR/cpu_info_$2.txt &
     32    done
     33 }
     34 
     35 collect_resources_at() {
     36    sleep $1
     37    collect_cpu_at $1 $2
     38 }
     39 
     40 collect_resources_info() {
     41    collect_resources_at 0 "01" & # at start
     42    collect_resources_at $(($TEST_TIME/10)) "02" & # at 10%
     43    collect_resources_at $(($TEST_TIME/2)) "03" & # at 50%
     44    collect_resources_at $TEST_TIME "04" # at test end
     45 }
     46 
     47 print_info "$1" & print_info_pid=$!
     48 collect_resources_info
     49 kill "$print_info_pid"