Sha256: 155eda30d7aebb7be17a1a2f524eb9449343441cc934e437f4dd8c491aab756c

Contents?: true

Size: 585 Bytes

Versions: 1

Compression:

Stored size: 585 Bytes

Contents

require "json"
require "fast_stack"
require "flamegraph/version"
require "flamegraph/renderer"

module Flamegraph
  def self.generate(filename=nil, opts = {})
    fidelity = opts[:fidelity]  || 0.5

    backtraces = FastStack.profile(fidelity) do
      yield
    end

    embed_resources = (filename && !opts.key?(:embed_resources)) || opts[:embed_resources]

    renderer = Flamegraph::Renderer.new(backtraces)
    rendered = renderer.graph_html(embed_resources)

    if filename
      File.open(filename,"w") do |f|
        f.write(rendered)
      end
    end
    rendered
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
flamegraph-0.0.5 lib/flamegraph.rb