表示できるコンポーネント
Samplerでは前述の例にあるRunchartの他にも,
Sparkline
Sparklineは値の変化を可視化することに特化した,
全プロセスのCPU使用率の合計を表示する例
sparklines: - title: CPU usage rate-ms: 200 scale: 1 sample: ps -A -o %cpu | awk '{s+=$1} END {print s}'
Barchart
Barchartはいわゆる棒グラフです。Runchartと同様に,
Chromium,
barcharts: - title: Memory usage by process rate-ms: 1000 scale: 1 items: - label: Chromium sample: ps ux | grep '[c]hromium-browser' | awk '{s+=$6} END {print s}' - label: Firefox sample: ps ux | grep '[f]irefox' | awk '{s+=$6} END {print s}' - label: Emacs sample: ps ux | grep '[e]macs' | awk '{s+=$6} END {print s}'
Guage
Guageは最大値,
/と/homeのディスク使用量をグラフ化する例。最小値は0に決まっており,
gauges: - title: Used Disk Space [/] rate-ms: 1000 scale: 1 percent-only: 5 cur: sample: df / | tail -n 1 | awk '{print $3}' max: sample: df / | tail -n 1 | awk '{print $2}' min: sample: echo 0 - title: Used Disk Space [/home] rate-ms: 1000 scale: 1 percent-only: true cur: sample: df /home | tail -n 1 | awk '{print $3}' max: sample: df /home | tail -n 1 | awk '{print $2}' min: sample: echo 0
Textbox
Textboxはその名の通り,
テキストで天気予報を表示できるwttr.
textboxes: - title: Sapporo position: [[0, 0], [28, 10]] rate-ms: 10000 sample: curl 'wttr.in/sapporo?0ATQF&lang=ja' - title: Tokyo position: [[29, 0], [28, 10]] rate-ms: 10000 sample: curl 'wttr.in/tokyo?0ATQF&lang=ja' - title: Ojichat position: [[0, 11], [80, 13]] rate-ms: 5000 sample: docker run --rm ojichat
Asciibox
AsciiboxもTextboxと同様に,
現在時刻を表示する例。日本語を含んだ文字列は表示できないため,
asciiboxes: - title: Local time rate-ms: 1000 font: 3d border: false sample: LANG=C date +%r
レイアウトの調整
Samplerはターミナルのサイズや複数のコンポーネントの兼ね合いを考え,
コンポーネントの位置とサイズを指定する書式
position: [[X座標, Y座標], [幅, 高さ]]
ターミナルの左上隅から,
runcharts: - title: Load Average position: [[0, 0], [80, 15]] rate-ms: 200 scale: 2 (...略...)
ですが,
Samplerを実行している状態で,
ここで一点気をつけなければならないことがあります。コンポーネントの位置を調整してコンフィグファイルの上書きが発生した場合,
このように,