Class: SimplePerformer::PerformrRufus

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/simple_performr_rufus.rb

Constant Summary collapse

@@store =
{}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializePerformrRufus

Returns a new instance of PerformrRufus.



23
24
25
# File 'lib/simple_performr_rufus.rb', line 23

def initialize
    @scheduler = Rufus::Scheduler.start_new
end

Instance Attribute Details

#schedulerObject (readonly)

Returns the value of attribute scheduler.



18
19
20
# File 'lib/simple_performr_rufus.rb', line 18

def scheduler
  @scheduler
end

Instance Method Details

#benchmark(name) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/simple_performr_rufus.rb', line 27

def benchmark(name)
    start_time=Time.now
    yield
    end_time  =Time.now
    @@store[name] ||= []
    duration = start_time-end_time
    @@store[name] << TimeBlock.new(start_time, end_time, duration)
end

#send_updatesObject



36
37
38
39
40
41
42
43
# File 'lib/simple_performr_rufus.rb', line 36

def send_updates
    scheduler do
        api_key = "1b27953c-1b9f-11df-af31-002618d9f74e"
        url = "/update_metrics"+"/"+api_key
        response=self.class.post(url, :query => {"metrics" => @@store.to_json})
        puts response
    end
end