API タブの読み方

この API は誰が呼んでいるのか」「この処理はどこまで流れるのか」に答える画面です。 gRPC の RPC・HTTP エンドポイント・GraphQL フィールドを 1 つのカタログにまとめています。

画面は 3 分割です。左 = カタログ / 中央 = フロー / 右 = ソース

左: カタログとバッジ

API カタログ

proto ファイル・HTTP エンドポイント・GraphQL の順に並びます。右側の薄い文字は呼び出し元のサービス名です。

バッジの意味

バッジ 意味 どう判断するか
未使用?(赤) このリポジトリ内から呼び出しを検出できなかった 棚卸しの候補。別リポジトリのクライアントや動的呼び出しは検出できないので、消す前に外部からの流入を確認してください
テストのみ(青) 本番コードからは呼ばれず、テストからだけ呼ばれている 実質未使用の可能性が高い
実装なし(オレンジ) 定義はあるがハンドラ / リゾルバが見つからない 未実装、または未対応言語での実装
インライン ハンドラがルート登録の引数に直接書かれた無名関数 実装漏れではありません
deprecated proto で option deprecated = true  
⇄ stream ストリーミング RPC  
webhook webhook の受信口 / 送信先 外部システムとの出入り口

絞り込み(左上のフィルタ)

  • サービス / 呼び出し元: 特定サービスの API だけ、特定サービスから呼ばれている API だけ
  • 使用状況: 本番で使用 / テストのみ / 未使用(3 択・排他)
  • 属性: 実装なし / deprecated / stream
  • チップは 3 状態です: クリックのたびに 含む(✓) → 除外(✕) → 解除 と巡回します
  • テスト呼び出しを無視: テストからの呼び出しを数えずに使用状況を判定します

中央: フロー(上流と下流)

API のフロー表示

API を選ぶと、呼び出し元(上流)実装から先(下流)が出ます。

読み方は 3 つのルールだけです。

  1. インデントが 1 段深い = その関数の中から呼ばれている
  2. ƒ 名前 の右の薄い文字が定義位置(handler.go:31)
  3. 丸いチップ 呼出 handler.go:22呼び出している行。クリックするとその行が開きます

サービス境界を越えるところにはサービス名のチップ(order-service など)が付き、 は gRPC、 は HTTP、 は GraphQL を表します。 兄弟の並びはコードの行順なので、上から下に読めば処理の順序になります。

右: ソース

ソース表示

関数や RPC をクリックすると、該当行を強調してソースが開きます。

操作 何ができるか
⌘ + クリック(識別子) 定義へジャンプ。 で戻れます
識別子にホバー 定義のコード断片をその場でプレビュー
📁 ボタン ファイルツリーを開く(絞り込み付き)
⎇ blame 行ごとの最終変更コミットを表示。色が新しさ(3 段階)。クリックでコミット内容(差分・PR リンク)へ
エディタ その行をローカルのエディタで開く(STRATA_EDITOR で変更可)

よくある使い方

  • 消せる API を探す: 使用状況で「未使用」を選ぶ → 「テスト呼び出しを無視」も ON にする
  • 障害の原因を追う: エラーに出た RPC を検索 → フロー(下流)を開く → 怪しい関数のソースを見る
  • 影響範囲を調べる: 変更したい API を選ぶ → 呼び出し元(上流)を見る。 ここに出ているサービスが影響を受けます