Sha256: 92e4705958d319eb25602c09b0e34a06c6d3dcd967a982b980bc22b5243fbae8

Contents?: true

Size: 1.26 KB

Versions: 2

Compression:

Stored size: 1.26 KB

Contents

require 'graph'

USER = 5
BENCHMARKS = ['serving website', 'creating a post']

digraph do
  node "EventMachine.run"
  
  BENCHMARKS.each do |benchmark|
    
    subgraph "benchmark_#{benchmark}" do
      label "benchmark '#{benchmark}'"
      node "benchmark '#{benchmark}'"

      USER.times do |user|
        subgraph "#{benchmark}_#{user}_looper" do
          label "looper user #{user}"
          node "#{benchmark}_#{user}", "looper user ##{user}"
          
          requests = []
          subgraph "requests_#{user}" do
            label "requests #{user}"
            node_attribs << filled << lightgray
            
            
            4.times do |request|
              node "#{benchmark}_#{user}_#{request}", "Fragment Request #{request}"
              box   << node("#{benchmark}_#{user}_#{request}")
              requests << "#{benchmark}_#{user}_#{request}"
            end
          
            edge *requests
            edge requests.last, requests.first
          end
          edge "#{benchmark}_#{user}", requests.first
        end
        
        edge "benchmark '#{benchmark}'", "#{benchmark}_#{user}"
      end
    end
    
    edge "EventMachine.run", "benchmark '#{benchmark}'"
  end
  
  save "request_sequence", "pdf"
end

`open request_sequence.pdf`

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bigbench-0.0.6 dev/sequence.rb
bigbench-0.0.5 dev/sequence.rb