Skip to content

ISUCON用DBに対するCRUD操作周りのコールフロー可視化ツール

License

Notifications You must be signed in to change notification settings

mazrean/isucrud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

isucrud

ISUCON用のDBの各テーブルへのCRUDを可視化することで、キャッシュすべき箇所の判断を助けるツールです。 どの関数を通り、どのテーブルへCRUDが発生するSQLが実行されているか解析し、以下のようなグラフ構造で表現します。

Quick Start

  1. Goのソースコードのプロジェクトルートに移動
  2. isucrudを実行
    isucrud ./...
  3. dbdoc.mdをMermaidに対応したマークダウンで開くとグラフを見れます

Install

go install github.com/mazrean/isucrud@latest

Usage

Usage of isucrud:
  -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対象テーブルを見逃すことがあります。 あくまでもキャッシュ対象テーブルの判断の参考程度に用いることをお勧めします。