RetroHexChat
レトロヘックスチャット

レトロヘックスチャット

チャットを開いています...
ヘルプ — RetroHexChat

システムウィンドウ

実行中のサーバーの状態を確認できる13個の管理者専用ウィンドウ:メモリ、プロセス、接続、データベース、Obanジョブ、ライブメトリクス。

ファイル ▸ システム および スタート ▸ システム にあるシステムグループでは、サーバー自体を表示する13個のウィンドウを開きます。これらは管理者専用で、すべて読み取り専用です。このグループの操作でサーバーを変更することはできません。この点が、隣の管理グループとの違いです。

最初に見る場所

概要は、最初に開くウィンドウです。サーバーがどのErlangとElixirで構築されているか、稼働時間、通過したトラフィック量、そしてサーバーを停止させかねない三つの上限(アトム、ポート、プロセス)にどれだけ近いかを表示します。その下では、一本のバーがサーバーのメモリを消費する六つの要素に分けて表示します。

アプリ情報は、もう一つの最初の疑問「実際に誰がここにいるのか」に答えます。稼働中のチャンネル、在席している個別の人数、進行中の通話、稼働中の仮想スペース、そして人がいるチャンネルの一覧です。

一覧

プロセス、アプリケーション、ETSテーブル、ポート、ソケット、メモリアロケーターは、六種類の異なる対象を同じ形式で表示するウィンドウです。それぞれ入力に応じて絞り込まれ、矢印のある列で並べ替えられます。見出しを一度クリックするとその列で並べ替え、もう一度クリックすると逆順になります。

表そのものは、このアプリのすべての一覧で共通のものです。見出しの右端をドラッグすると列の幅を広げられ、その端をダブルクリックすると最も長い値に合わせて幅が調整されます。見出し行を右クリックすると、列の表示と非表示を切り替えられます。行を1つ選択すると矢印キーで移動でき、Ctrl+C で選択範囲をタブ区切りテキストとしてコピーできます。 一覧と表 で、そのすべてを説明しています。

  • プロセス — メールボックスで並べ替えると、処理が追いつかないほど速くメッセージを受け取っているプロセスを見つけられます。内部から見た、止まりかけたサーバーの姿です。
  • ETSテーブル — メモリ順に並べ替えます。誰も整理しないメモリ上のテーブルは、増える一方のメモリの典型的な原因です。
  • ソケット — サーバーが開いたままにしているすべての接続を、エンドポイントとバイトカウンターとともに表示します。
  • メモリアロケーター — ブロックサイズとキャリアサイズを比較します。差が大きい場合は断片化で、サーバーがオペレーティングシステムから確保しているのに使えないメモリです。

指標

ライブチャートをグループごとに表示します。HTTP、LiveView、データベース、Oban、VM、ドメインがあります。ドメインはサーバー独自の計測で、作成されたチャンネル、出入りする人、参加した通話、仮想空間での動きなどが対象です。

グラフは空の状態から始まり、イベントが発生するたびに埋まっていきます。これは不具合ではありません。ウィンドウを開く前は何も計測されておらず、左端まで線を引けばそれは作り話になってしまいます。購読されるのは表示中のグループだけなので、見ていないグループについてはウィンドウの負荷はかかりません。

Oban の状態

Obanは、RSSフィードポーリング、ボットスケジュール、イベントログ、メンテナンススワップ、リンクプレビュー、優先順位などの耐久性のある作業の背後にある背景ジョブシステムを示しています。 ヘッドラインカードは、スーパーバイザーの健康、アクティブなジョブ、再試行可能、または破棄された障害、後継者カバレッジおよび保留ドメイン作業を分離します。

最初は、キューテーブルを読みます: 利用可能な手段は、今実行することができます, スケジュールされた手段は、その時間を待っています, 実行は、ワーカーがそれを持っていることを意味します, 再試行可能な手段 Oban は、再び試行します, そして、Discovered は、試行が疲れていたか、ワーカーが追いつくことを意味します. 契約表は、RSS フィードとボットのスケジュールが、イベントログのジョブがバックアップされるかどうか、メンテナンスや永続作業が遅れているかどうかを、後続ジョブを持っているかどうかを表示します。

OS データとデータベース統計

OSデータは、サーバーの外側から見たホストの状態を示します。プロセッサー、ロードアベレージ、メモリ、ディスクが対象です。サーバー自体が正常に見えても、同居しているマシンが正常とは限りません。ホストが報告しない値は、ゼロではなくダッシュで表示されます。この二つは別の事実です。

データベース統計は、PostgreSQL に対して診断レポートを一度に 1 つ実行します。キャッシュヒット率、未使用のインデックス、肥大化(bloat)、長時間実行中のクエリ、何が何をブロックしているか、などです。これらは稼働中のデータベースに対する実際のクエリなので、レポートを選ぶまで何も実行されません。

ライブログ

サーバーが現在記録しているログの末尾部分です。「ストリーム」を押した後にのみ流れ始め、「停止」を押すかウィンドウを閉じた時点で止まります。誰も見ていないログストリームは、読む人のいないコストになってしまうためです。

選んだレベルがサーバー自体のログレベルより低い場合、ウィンドウは何も表示せず黙っているのではなく、その旨を知らせます。サーバー自身のレベルより低いエントリは、どのウィンドウからも見える前に破棄されるため、どれだけ待っても表示されません。

正しく読み取るには

一覧には絞り込んだ結果の先頭の行だけが表示され、表の上の件数には一致した総数が常に表示されます。「771 件中 50 件」とあれば、上位 50 件を見ているということです。ウィンドウがいっぱいになっているからといって、一覧が全件だとは思わないでください。

これらのウィンドウは自動では更新されません。それぞれの走査はサーバーに実際の負荷をかけるため、更新は、始めたことを忘れてしまうタイマーではなく、自分で押すボタンになっています。例外はメトリクスで、性質上リアルタイムの購読であり、ウィンドウを閉じると停止します。

関連項目

GitHub ライセンス(MIT)