module Flamegraph
Constants
- VERSION
Public Class Methods
generate(filename=nil, opts = {}) { || ... }
click to toggle source
# File lib/flamegraph.rb, line 22 def self.generate(filename=nil, opts = {}) fidelity = opts[:fidelity] || 0.5 backtraces = if defined? StackProf require "flamegraph/stackprof_sampler" unless defined? StackProfSampler StackProfSampler.collect(fidelity) do yield end else FastStack.profile(fidelity) do # , opts[:mode] || :ruby) do yield end 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