API タブの読み方
「この API は誰が呼んでいるのか」「この処理はどこまで流れるのか」に答える画面です。 gRPC の RPC・HTTP エンドポイント・GraphQL フィールドを 1 つのカタログにまとめています。
画面は 3 分割です。左 = カタログ / 中央 = フロー / 右 = ソース。
左: カタログとバッジ
proto ファイル・HTTP エンドポイント・GraphQL の順に並びます。右側の薄い文字は呼び出し元のサービス名です。
バッジの意味
| バッジ | 意味 | どう判断するか |
|---|---|---|
| 未使用?(赤) | このリポジトリ内から呼び出しを検出できなかった | 棚卸しの候補。別リポジトリのクライアントや動的呼び出しは検出できないので、消す前に外部からの流入を確認してください |
| テストのみ(青) | 本番コードからは呼ばれず、テストからだけ呼ばれている | 実質未使用の可能性が高い |
| 実装なし(オレンジ) | 定義はあるがハンドラ / リゾルバが見つからない | 未実装、または未対応言語での実装 |
| インライン | ハンドラがルート登録の引数に直接書かれた無名関数 | 実装漏れではありません |
| deprecated | proto で option deprecated = true | |
| ⇄ stream | ストリーミング RPC | |
| webhook | webhook の受信口 / 送信先 | 外部システムとの出入り口 |
絞り込み(左上のフィルタ)
- サービス / 呼び出し元: 特定サービスの API だけ、特定サービスから呼ばれている API だけ
- 使用状況: 本番で使用 / テストのみ / 未使用(3 択・排他)
- 属性: 実装なし / deprecated / stream
- チップは 3 状態です: クリックのたびに 含む(✓) → 除外(✕) → 解除 と巡回します
- テスト呼び出しを無視: テストからの呼び出しを数えずに使用状況を判定します
中央: フロー(上流と下流)
API を選ぶと、呼び出し元(上流)と実装から先(下流)が出ます。
読み方は 3 つのルールだけです。
- インデントが 1 段深い = その関数の中から呼ばれている
ƒ 名前の右の薄い文字が定義位置(handler.go:31)- 丸いチップ
呼出 handler.go:22は呼び出している行。クリックするとその行が開きます
サービス境界を越えるところにはサービス名のチップ(order-service など)が付き、 ⚡ は gRPC、⇄ は HTTP、◈ は GraphQL を表します。 兄弟の並びはコードの行順なので、上から下に読めば処理の順序になります。
右: ソース
関数や RPC をクリックすると、該当行を強調してソースが開きます。
| 操作 | 何ができるか |
|---|---|
| ⌘ + クリック(識別子) | 定義へジャンプ。← で戻れます |
| 識別子にホバー | 定義のコード断片をその場でプレビュー |
| 📁 ボタン | ファイルツリーを開く(絞り込み付き) |
| ⎇ blame | 行ごとの最終変更コミットを表示。色が新しさ(3 段階)。クリックでコミット内容(差分・PR リンク)へ |
| エディタ | その行をローカルのエディタで開く(STRATA_EDITOR で変更可) |
よくある使い方
- 消せる API を探す: 使用状況で「未使用」を選ぶ → 「テスト呼び出しを無視」も ON にする
- 障害の原因を追う: エラーに出た RPC を検索 → フロー(下流)を開く → 怪しい関数のソースを見る
- 影響範囲を調べる: 変更したい API を選ぶ → 呼び出し元(上流)を見る。 ここに出ているサービスが影響を受けます