Programming Self-Study Notebook

勉強したことを忘れないように! 思い出せるように!!

コマンド実行時間を可視化してみた



Linux上で開発をしているときに「コマンド実行時間が前より長くなってないか?」と思うことがあったので、常日頃からコマンド実行時間を認知できるように表示を残すようにしてみました。

概要

  • よく実施するコマンドをbashスクリプト経由で実行するようにスクリプト
  • 対象コマンド開始前に開始時刻をターミナル上に出力
  • 対象コマンド終了後に終了時刻をターミナル上に出力
  • 終了時刻と開始時刻の差分を計算
  • 開始時刻処理時間をログファイルに出力

スクリプトの中身

  • サンプルとしてtime.shというファイル名でスクリプトを作成します
#!/bin/bash

### StartTime
echo 
echo StartTime `date`                       # ターミナル表示
startTime=`date +%s`                        # 計算用(%s:日時表示のフォーマット/UNIX時刻 (1970年1月1日0時UTCからのうるう秒を考慮しない秒数))
startTimeFile=`date "+%Y/%m/%d %H:%M:%S"`   # ファイル出力用
echo 

### 時間計測したい処理
sleep 3

### EndTime
echo 
echo EndTime `date`                 # ターミナル表示
endTime=`date +%s`                  # 計算用(%s:日時表示のフォーマット/UNIX時刻 (1970年1月1日0時UTCからのうるう秒を考慮しない秒数))
echo 

### 差分
time=$((endTime - startTime))       # 処理時間
echo $time s                        # ターミナル表示

### 結果をファイルに出力する
echo "$startTimeFile,$time" >> CommandExecutionTimeLog.csv

スクリプト(コマンド)実行方法

bash time.sh