Skip to content

Tier2メトリクス(コマンド実行数・レイテンシ・エラー率)を追加 - #511

Open
takumi0213 wants to merge 1 commit into
masterfrom
claude/f1-bot-tier2-metrics
Open

Tier2メトリクス(コマンド実行数・レイテンシ・エラー率)を追加#511
takumi0213 wants to merge 1 commit into
masterfrom
claude/f1-bot-tier2-metrics

Conversation

@takumi0213

Copy link
Copy Markdown
Contributor

📝 変更内容

sina-chan-monitoringリポジトリの拡張候補F-1(docs/expansion_candidates.md)に対応する変更です。既存のTier 1メトリクス(sina_chan_ready等)に加えて、コマンド単位の実行状況を可視化するためのメトリクスを追加します。

  • metrics.pysina_chan_commands_total(コマンド正常完了数)・sina_chan_command_errors_total(エラー数)・sina_chan_command_latency_seconds(実行時間)の3メトリクスを追加
  • bot.pyon_command(開始時刻の保持を追加)・on_command_completion(新設)・on_command_error(エラー計上を追加)の3イベントにのみ計装コードを追加。各cog(cogs/配下)は一切変更していません

👀 レビューしてほしい点

  • on_commandctx.interactionによる早期リターンより前にctx._t2_start = time.monotonic()を置いている点(slash経由のhybrid_commandでも計測対象にするため、既存の早期リターンより前段に配置しています)
  • on_command_errorctx.commandNoneになりうるケース(CommandNotFound等)へのフォールバック("(unknown)"
  • 純粋なapp_commands.command/app_commands.context_menushutdownmessage infospread spoilerの3件)はdiscord.ext.commandsのイベントを経由しないため、今回のスコープ外としています

💬 補足

  • discord.py 2.7.1(本リポジトリの固定バージョン)のソースコード(ext/commands/hybrid.pyext/commands/bot.pyext/commands/core.py)を確認し、hybrid_commandがslash/prefixいずれの呼び出し経路でもcommand/command_completion/command_errorイベントを一元的に発火することを検証済みです
  • 追加した計装ロジックは、実際の discord.py 2.7.1 / prometheus_client 0.26.0 を使った単体テスト(prefix実行・slash実行・エラー時のラベル付け・ctx.command is None時のフォールバック・レイテンシ計測の5パターン)で動作確認済みです
  • 既存のDiscordへの実行ログ通知処理(Embed送信)には変更を加えていません

Generated by Claude Code

sina-chan-monitoring側のF-1(expansion_candidates.md)に対応。

- metrics.py: sina_chan_commands_total / sina_chan_command_errors_total /
  sina_chan_command_latency_seconds を追加
- bot.py: on_command(開始時刻の保持)・on_command_completion(新設)・
  on_command_error(エラー計上)にのみ計装を追加。各cogは変更なし

hybrid_commandがslash/prefixどちらの呼び出し経路でも
discord.ext.commandsの一元化イベント(command/command_completion/command_error)を
発火することをdiscord.py 2.7.1のソースで確認した上で設計。
純粋なapp_commands(shutdown等3件、discord.ext.commandsを経由しない)は対象外。
@takumi0213
takumi0213 requested a review from a team as a code owner August 24, 2026 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants