Module: Sperf::Collapsed
- Defined in:
- lib/sperf.rb
Overview
Collapsed stacks encoder for FlameGraph / speedscope. Output: one line per unique stack, “frame1;frame2;…;leafN weight\n”
Class Method Summary collapse
Class Method Details
.encode(data) ⇒ Object
439 440 441 442 443 444 445 446 |
# File 'lib/sperf.rb', line 439 def encode(data) merged = Hash.new(0) data[:samples].each do |frames, weight| key = frames.reverse.map { |_, label| label }.join(";") merged[key] += weight end merged.map { |stack, weight| "#{stack} #{weight}" }.join("\n") + "\n" end |