c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡)

音樂は SoundCloud 等に公開中です。

考察は現在は主に Scrapbox で公表中です。

Programming は GitHub で開発中です。

Monitoring Elixir Plug/Phoenix Web application easy. KomachiHeartbeat v0.1.0 ヾ(〃l _ l)ノ゙

Rails にはKomachiHeartbeatと云ふ何かと有り難い mountable engine が在り、Elixir/Phoenix にも欲しかったので移植した。

KomachiHeartbeat

github.com

Plug 若しくは Phoenix の application の、適当な path にぶら下げて使ふ。例では/opsにぶら下げてある。Phoenix だと router で、

defmodule ExampleWeb.Router do
  use ExampleWeb, :router

  forward("/ops", KomachiHeartbeat)
end

とすると、

  • GET /ops/heartbeat
  • GET /ops/stats

と云ふ二つの endpoint が出來る。heartbeat は 200 ok か 503 error を返す。application が新しい HTTP 接續を受けられるなら 200 ok が返ってくる。受けられないなら timeout するだらう。接續は受けられるが何か問題 (何を確認するかは plugin で擴張する) が在るなら 503 error を返すやうに出來る。

stats は application の統計情報を返せる。default では空っぽで、plugin で返す情報を増やす。

元の Rails のものとの違ひは、収集する情報は全てを plugin で作るやうにしてあり、入れ替へられるようにした。Elixir には Rails と違ひ、「標準の stack」の樣なものは Ecto 位いしか無く、application によって確認すべき事が全く異なるだらうからだ。とは言へ標準の plugin は幾つか作りたいと思ってゐる。

Git repository の名前は Ex-KomachiHeartbeat であるが、これは当然元としたものと區別出來なければならない事と、Max 新幹線の樣な語呂にする爲に suffix ではなく prefix にした。

はい?

こまち (列車) - Wikipedia

Max (鉄道車両) - Wikipedia

(〃l _ l)