VistualCall 一个生成调用图谱的 gem

查看 19|回复 0
作者:Mark24   
做一个可视化追踪调用的 gem ,比较粗糙,分享下。
项目地址: https://github.com/Mark24Code/vistual_call
VistualCall
VistualCall is a gem to help you trace your code and export beautiful vistual call graph.
Introduction
Dependency
[ol]
  • Graphviz
    [/ol]
    You need to install Graphviz by yourself.
    Go to install graphviz.
    Usage
    1. Install gem
    gem install vistual_call
    2. Only the method needs to be wrapped.
    require 'vistual_call'
    def call_c
    end
    def call_b
      call_c
    end
    def call_a
      call_b
    end
    VistualCall.trace do
      call_a # enter call
    end

    The method after each node is call order number. This will help your understand the order of the function call.
    Sinatra

    3. More information
    configuration
    # you can pass options
    VistualCall.trace(options) do
      # run your code here...
    end
    Options:
    [td]name[/td]
    [td]type[/td]
    [td]required[/td]
    [td]explain[/td]
    [td]example[/td]
    label
    String
    true
    标题
    Hello
    labelloc
    Symbol
    false
    标题位置: :top :bottom :center
    :top
    labeljust
    Symbol
    false
    标题对齐位置 :left, :center, :right
    :center
    direction
    Symbol
    false
    绘制方向,依次是 :TB(从上到下),:LR(从左到右,默认方式),:BT(从下到上),:RL(从右到左)
    :LR
    format
    String
    false
    输出图片格式,查看 graphviz 支持输出格式 'png'、'svg'
    默认 'png'
    output
    String
    false
    导出图片绝对路径
    默认家目录下 vistual_call_result.png
    theme
    Symbol
    false
    配色主题 :sky, :lemon
    默认 :sky
    show_dot
    boolean
    false
    展示 dot 内容
    默认 false
    show_order_number
    boolean
    false
    输出调用序号
    默认 true
    jump_list
    Array(String)
    false
    跳过节点,默认 ["Kernel#class", "Kernel#frozen?"]
    -
    heightlight_match
    Regex
    false
    默认高亮匹配 label , 默认 /method_missing/
    /method_missing/
    LICENSE
    The gem is available as open source under the terms of the MIT License.
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部