Module: ScoutApmMcp::Client::Api::Jobs

Included in:
ScoutApmMcp::Client
Defined in:
lib/scout_apm_mcp/client/api.rb

Instance Method Summary collapse

Instance Method Details

#get_job_metrics(app_id, job_id, metric_type, from: nil, to: nil, range: nil) ⇒ Object



96
97
98
99
100
101
102
103
104
# File 'lib/scout_apm_mcp/client/api.rb', line 96

def get_job_metrics(app_id, job_id, metric_type, from: nil, to: nil, range: nil)
  times = resolve_range_times(from: from, to: to, range: range)
  validate_job_metric_params(metric_type, times[:from], times[:to])
  uri = api_uri("apps", app_id, "jobs", job_id, "metrics", metric_type)
  assign_query(uri, from: times[:from], to: times[:to])
  response = make_request(uri)
  series = response.dig("results", "series") || {}
  series[metric_type] || []
end

#list_job_metrics(app_id, job_id) ⇒ Object



90
91
92
93
94
# File 'lib/scout_apm_mcp/client/api.rb', line 90

def list_job_metrics(app_id, job_id)
  uri = api_uri("apps", app_id, "jobs", job_id, "metrics")
  response = make_request(uri)
  response.dig("results", "availableMetrics") || []
end

#list_job_traces(app_id, job_id, from: nil, to: nil, range: nil) ⇒ Object



106
107
108
109
110
111
112
113
# File 'lib/scout_apm_mcp/client/api.rb', line 106

def list_job_traces(app_id, job_id, from: nil, to: nil, range: nil)
  times = resolve_range_times(from: from, to: to, range: range)
  validate_trace_time_range(times[:from], times[:to])
  uri = api_uri("apps", app_id, "jobs", job_id, "traces")
  assign_query(uri, from: times[:from], to: times[:to])
  response = make_request(uri)
  response.dig("results", "traces") || []
end

#list_jobs(app_id, from: nil, to: nil, range: nil) ⇒ Object



82
83
84
85
86
87
88
# File 'lib/scout_apm_mcp/client/api.rb', line 82

def list_jobs(app_id, from: nil, to: nil, range: nil)
  times = resolve_listing_time_range(from: from, to: to, range: range)
  uri = URI("#{@api_base}/apps/#{app_id}/jobs")
  assign_query(uri, from: times[:from], to: times[:to])
  response = make_request(uri)
  response["results"] || []
end