Class: ApmAgent::Client

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

Instance Method Summary collapse

Constructor Details

#initialize(api_key:, app_name:, host:) ⇒ Client

Returns a new instance of Client.



9
10
11
12
13
# File 'lib/apm_agent.rb', line 9

def initialize(api_key:, app_name:, host:)
  @api_key = api_key
  @app_name = app_name
  @host = host
end

Instance Method Details

#track(path:, duration:, status:) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/apm_agent.rb', line 15

def track(path:, duration:, status:)
  payload = {
    api_key: @api_key,
    app_name: @app_name,
    path: path,
    duration: duration,
    status: status,
    timestamp: Time.now.utc,
  }

  uri = URI("#{@host}/api/v1/metrics")
  Net::HTTP.post(uri, payload.to_json, "Content-Type" => "application/json")
end