「トップ」からいくつかのパフォーマンスメトリックを抽出し、それらをファイルに保存しています
top -b | grep 'tesseract\|node\|Java\|beam.smp\|dockerd' > testm.txt
したがって、毎秒、次の出力が得られます。
535 rabbitmq 20 0 1246756 128432 5536 S 1.3 3.4 618:33.41 beam.smp
589 root 20 0 351040 47836 25740 S 0.0 1.3 12:38.72 dockerd
1980 root 20 0 2236796 36844 15980 S 0.0 1.0 6:11.59 Java
1995 root 20 0 1766008 241428 21844 S 0.0 6.4 11:26.85 Java
29965 root 20 0 1107460 63732 19328 S 0.0 1.7 0:01.69 node
このスクリプトを長期間実行すると、ランダムなデータチャンクがいつ収集されたかを確認できなくなるため、この出力のすべてのチャンクにタイムスタンプを追加する方法に興味があります。
前もって感謝します!
awk
には時間がありますので、top -b
の個々の実行のトップ出力の各行にタイムスタンプを追加することは、フィルタリングにgrepの代わりにawk
を使用して簡単に行うことができます。組み込み関数 であり、それらを出力に挿入できます。
これらのプログラムのほとんどを実行していないので、例のフィルターにbash
とssh
を追加しました...
単純なエポックタイムスタンプ(1970年1月1日からの秒数)でそれを行うことができます。
top -b | awk '/bash|ssh|tesseract|node|Java|beam.smp|dockerd/ {print systime(), $0}'
どちらが小さくて保存でき、見た目もきれいです。
bash-$ top -b | awk '/bash|ssh|tesseract|node|Java|beam.smp|dockerd/ {print systime(), $0}'
1490018813 1229 root 20 0 891536 42868 28348 S 0.0 0.3 15:07.30 dockerd
1490018813 1240 root 20 0 65520 6208 5488 S 0.0 0.0 0:00.01 sshd
1490018813 2666 tim 20 0 24336 7136 3492 S 0.0 0.0 0:00.05 bash
1490018813 2710 tim 20 0 46984 5324 4644 S 0.0 0.0 0:09.08 ssh
1490018813 2783 root 20 0 105988 7184 6184 S 0.0 0.0 0:00.00 sshd
1490018813 2804 root 20 0 105988 7404 6408 S 0.0 0.0 0:00.00 sshd
または、より人間が読めるタイムスタンプを使用します。
top -b | awk '/bash|ssh|tesseract|node|Java|beam.smp|dockerd/ {print strftime("%Y-%m-%d-%H:%M:%S", systime(), $0}'
どちらがより速く理解できますか:
bash-[541]$ top -b -n 3 | awk '/ssh|bash|Java|dockerd/ {print strftime("%Y-%m-%d-%H:%M:%S", systime()), $0}'
2017-03-20-10:04:23 1229 root 20 0 891536 42868 28348 S 0.0 0.3 15:07.24 dockerd
2017-03-20-10:04:23 1240 root 20 0 65520 6208 5488 S 0.0 0.0 0:00.01 sshd
2017-03-20-10:04:23 2666 tim 20 0 24336 7136 3492 S 0.0 0.0 0:00.05 bash
2017-03-20-10:04:23 2710 tim 20 0 46984 5324 4644 S 0.0 0.0 0:09.08 ssh
2017-03-20-10:04:23 2783 root 20 0 105988 7184 6184 S 0.0 0.0 0:00.00 sshd
2017-03-20-10:04:23 2804 root 20 0 105988 7404 6408 S 0.0 0.0 0:00.00 sshd
2017-03-20-10:04:23 2909 tim 20 0 105988 5072 4072 S 0.0 0.0 0:00.20 sshd
2017-03-20-10:04:23 2931 tim 20 0 105988 4252 3224 S 0.0 0.0 0:00.00 sshd