Class: PaymentKit::Instrumentation::RequestEvent

Inherits:
Object
  • Object
show all
Defined in:
lib/payment_kit/instrumentation.rb

Overview

Emitted once a request has finished, including after retries.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(method:, path:, status:, duration:, num_retries:, request_id: nil) ⇒ RequestEvent

:nodoc:



53
54
55
56
57
58
59
60
# File 'lib/payment_kit/instrumentation.rb', line 53

def initialize(method:, path:, status:, duration:, num_retries:, request_id: nil) # :nodoc:
  @method = method
  @path = path
  @status = status
  @duration = duration
  @num_retries = num_retries
  @request_id = request_id
end

Instance Attribute Details

#durationObject (readonly)

Wall-clock seconds for the whole call, retries included.



45
46
47
# File 'lib/payment_kit/instrumentation.rb', line 45

def duration
  @duration
end

#methodObject (readonly)

HTTP verb as a Symbol, e.g. :post.



36
37
38
# File 'lib/payment_kit/instrumentation.rb', line 36

def method
  @method
end

#num_retriesObject (readonly)

Number of retries performed; 0 when the first attempt settled it.



48
49
50
# File 'lib/payment_kit/instrumentation.rb', line 48

def num_retries
  @num_retries
end

#pathObject (readonly)

Request path, relative to the account base URL.



39
40
41
# File 'lib/payment_kit/instrumentation.rb', line 39

def path
  @path
end

#request_idObject (readonly)

PaymentKit request id from the response headers, when present.



51
52
53
# File 'lib/payment_kit/instrumentation.rb', line 51

def request_id
  @request_id
end

#statusObject (readonly)

HTTP status of the final attempt, or nil if no response arrived.



42
43
44
# File 'lib/payment_kit/instrumentation.rb', line 42

def status
  @status
end