この記事は heroku Advent Calendar 2018 の 13 日目の記事です。
12 日目もわたくしマスタカの当番で、内容は『Heroku の Preboot 機能を深掘りした 』でした。その気になればドキュメント以上のことを探れることは、Heroku のメリットだと感じています。
今日は Heroku の BitBar plugin を紹介します。macOS 限定です。
BitBar とは
BitBar - Put anything in your Mac OS X menu bar
macOS のメニューバーにこんなものを置けるツールです。例として Homebrew Updates plugin を表示しています。
標準出力を吐きさえすれば、シェルスクリプトでも Ruby でも言語を問わないのが気楽です。
↓ ちょっとだけ変更しています。
--- brew-updates.1h.sh.orig 2018-12-11 23:42:41.000000000 +0900
+++ brew-updates.1h.sh 2018-12-11 23:42:25.000000000 +0900
@@ -12,13 +12,13 @@
/usr/local/bin/brew update > /dev/null || exit_with_error;
PINNED=$(/usr/local/bin/brew list --pinned);
-OUTDATED=$(/usr/local/bin/brew outdated --quiet);
+OUTDATED=$(/usr/local/bin/brew outdated --verbose);
UPDATES=$(comm -13 <(for X in "${PINNED[@]}"; do echo "${X}"; done) <(for X in "${OUTDATED[@]}"; do echo "${X}"; done))
UPDATE_COUNT=$(echo "$UPDATES" | grep -c '[^[:space:]]');
-echo "↑$UPDATE_COUNT | dropdown=false"
+echo "🍺$UPDATE_COUNT | dropdown=false"
echo "---";
if [ -n "$UPDATES" ]; then
echo "Upgrade all | bash=/usr/local/bin/brew param1=upgrade terminal=false refresh=true"
Heroku plugin
Heroku の異常に緩く気づける plugin です。https://status.heroku.com/ と同じ内容を API で取得しています。
Heroku apps:errors plugin
任意の Heroku App のエラーが分かる plugin です。この例では H27 Error (Client Request Interrupted) が直近 24 時間に 7 回発生しています。
最新の Heroku Error Codes がなかったので、PR 作ったらすぐにマージされました。
スクリプトを見ると分かりますが、’$ heroku apps:errors’ で App のエラーを取得しています。CLI でも取得できたのですね。
↓ app は必ず変更する必要があります。あと、メニューバーは狭いので、文字数を減らしています。BitBar plugin は緩く変更できる点が気楽です。
--- herokuappserrors.1h.rb.orig 2018-12-11 23:36:27.000000000 +0900
+++ herokuappserrors.1h.rb 2018-12-11 23:36:10.000000000 +0900
@@ -14,7 +14,7 @@
HEROKU_CMD="/usr/local/bin/heroku"
# Configuration options
-app = "appname" # Which app?
+app = "ecbooster" # Which app?
hours = 24 # how many hours should the error window contain?
@@ -78,7 +78,7 @@
end
end
-puts "#{total} #{app} errors"
+puts "#{total} errs"
puts "---"
puts "In the last #{hours} hours"
puts copy
複数の Heroku App を確認したい時は、コピーを作ってプラグインフォルダに置けばよいでしょう。
他に使っている plugin
- Emacs Package Updates
- 拙作の Emacs のパッケージ更新が分かる plugin です。無茶してます
- GitHub status
- GitHub の異常にすぐ気づける plugin です。https://status.github.com/ と同じ内容を API で取得しています
まとめ
BitBar の Heroku plugin を紹介しました。Heroku のエラーに緩く気づける点が気に入りました。Heroku Error Codes への関心も高まりました。
明日の heroku Advent Calendar 2018 の当番は @matsuoshi さんです。どんな内容でしょうかね?