Class: AlacrityRails::Client
- Inherits:
-
Object
- Object
- AlacrityRails::Client
- Defined in:
- lib/alacrity-rails/client.rb
Class Method Summary collapse
- .cleanup ⇒ Object
- .close_transaction! ⇒ Object
- .log_server_startup ⇒ Object
- .open_transaction(env) ⇒ Object
- .store_database_metrics(started_at, ended_at, data) ⇒ Object
- .store_request_metrics(started_at, ended_at, data) ⇒ Object
- .transaction ⇒ Object
- .transmit(transactable) ⇒ Object
Class Method Details
.cleanup ⇒ Object
37 38 39 |
# File 'lib/alacrity-rails/client.rb', line 37 def self.cleanup Thread.current[:alacrity_transaction] = nil end |
.close_transaction! ⇒ Object
20 21 22 23 24 25 |
# File 'lib/alacrity-rails/client.rb', line 20 def self.close_transaction! this_transaction = transaction Thread.new { transmit(this_transaction) } ensure cleanup end |
.log_server_startup ⇒ Object
27 28 29 30 31 |
# File 'lib/alacrity-rails/client.rb', line 27 def self.log_server_startup Thread.new { transmit(AlacrityRails::Transaction::ServerStartup.new) } end |
.open_transaction(env) ⇒ Object
4 5 6 |
# File 'lib/alacrity-rails/client.rb', line 4 def self.open_transaction(env) new_transaction!(env) end |
.store_database_metrics(started_at, ended_at, data) ⇒ Object
14 15 16 17 18 |
# File 'lib/alacrity-rails/client.rb', line 14 def self.store_database_metrics(started_at, ended_at, data) if transaction transaction.store_database_metrics(started_at, ended_at, data) end end |
.store_request_metrics(started_at, ended_at, data) ⇒ Object
8 9 10 11 12 |
# File 'lib/alacrity-rails/client.rb', line 8 def self.store_request_metrics(started_at, ended_at, data) if transaction transaction.store_request_metrics(started_at, ended_at, data) end end |
.transaction ⇒ Object
33 34 35 |
# File 'lib/alacrity-rails/client.rb', line 33 def self.transaction Thread.current[:alacrity_transaction] end |
.transmit(transactable) ⇒ Object
41 42 43 44 45 |
# File 'lib/alacrity-rails/client.rb', line 41 def self.transmit(transactable) Net::HTTP.start(*transactable.net_http_start_arguments) do |http| http.request(transactable.post_request) end end |