ISUCON用のDBの各テーブルへのCRUDを可視化することで、キャッシュすべき箇所の判断を助けるツールです。 どの関数を通り、どのテーブルへCRUDが発生するSQLが実行されているか解析し、以下のようなグラフ構造で表現します。
- Goのソースコードのプロジェクトルートに移動
- isucrudを実行
isucrud -web ./...
- ブラウザでhttp://localhost:7070 にアクセスすると、グラフを見られます
go install github.com/mazrean/isucrud@latest
Usage of isucrud:
-web
run as web server
-addr string
web server address (default ":7070")
-base string
base for serving the web server (default "/")
-dst string
destination file (default "./dbdoc.md")
-ignore value
ignore function
-ignoreInitialize
ignore functions with 'initialize' in the name (default true)
-ignoreMain
ignore main function (default true)
-ignorePrefix value
ignore function
-version
show version
SQLの解析を簡易的に行っている関係で、解析に失敗したりCRUD対象テーブルを見逃すことがあります。 あくまでもキャッシュ対象テーブルの判断の参考程度に用いることをお勧めします。