10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/generators/templates/req_res_stat_controller.rb', line 10
def get_stats
start_time = params[:start_time].present? ? parase_data_time_zone(params[:start_time]) : Time.now - 7.days
end_time = params[:end_time].present? ? parase_data_time_zone(params[:end_time]) : Time.now
granularity_in_hours = params[:granularity_in_hours].present? ? params[:granularity_in_hours].to_i.hours : 1.hour
base_req_res_stats = ReqResStat.get_within(start_time, end_time)
@request_count_stats = fetch_stats_for(:request_count, start_time, end_time, granularity_in_hours, base_req_res_stats)
@max_time_stats = fetch_stats_for(:max_time, start_time, end_time, granularity_in_hours, base_req_res_stats)
@avg_time_stats = fetch_stats_for(:avg_time, start_time, end_time, granularity_in_hours, base_req_res_stats)
@min_time_stats = fetch_stats_for(:min_time, start_time, end_time, granularity_in_hours, base_req_res_stats)
render json: {
request_count_stats: @request_count_stats,
max_time_stats: @max_time_stats,
avg_time_stats: @avg_time_stats,
min_time_stats: @min_time_stats
}
rescue Exception => ex
error_message = [ex.message, ex.backtrace.join("\n")].join("\n")
render json: {error_message: error_message}
end
|