Skip to content
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

Commit ed01a04

Browse files
committed
NS/VNF Monitoring Repo update
1 parent 0613aa6 commit ed01a04

File tree

3 files changed

+31
-26
lines changed
  • ns-monitoring-repository/routes
  • vnf-monitoring-repository

3 files changed

+31
-26
lines changed

ns-monitoring-repository/routes/ns.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ class NsMonitoringRepository < Sinatra::Application
2424
t = []
2525
@db = settings.db
2626
if params[:metric] && params[:start] && !params[:end]
27-
@db.execute("SELECT metricName, date, unit, value FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' AND metricname='#{params[:metric]}' AND date >= #{params[:start]} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
27+
@db.execute("SELECT * FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' AND metricname='#{params[:metric]}' AND date >= #{params[:start]} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
2828
elsif params[:metric] && params[:start] && params[:end]
29-
@db.execute("SELECT metricName, date, unit, value FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' AND metricname='#{params[:metric]}' AND date >= #{params[:start]} AND date <= #{params[:end]} LIMIT 2000").each { |row| t.push(row.to_hash) }
29+
@db.execute("SELECT * FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' AND metricname='#{params[:metric]}' AND date >= #{params[:start]} AND date <= #{params[:end]} LIMIT 2000").each { |row| t.push(row.to_hash) }
3030
elsif params[:metric] && params[:end]
31-
@db.execute("SELECT metricName, date, unit, value FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' AND metricname='#{params[:metric]}' AND date <= #{params[:end]} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
31+
@db.execute("SELECT * FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' AND metricname='#{params[:metric]}' AND date <= #{params[:end]} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
3232
elsif params[:metric] && !params[:start]
33-
@db.execute("SELECT metricName, date, unit, value FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' AND metricname='#{params[:metric]}' LIMIT 2000").each { |row| t.push(row.to_hash) }
33+
@db.execute("SELECT * FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' AND metricname='#{params[:metric]}' LIMIT 2000").each { |row| t.push(row.to_hash) }
3434
else
35-
@db.execute("SELECT metricName, date, unit, value FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' LIMIT 2000").each { |row| t.push(row.to_hash) }
35+
@db.execute("SELECT * FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' LIMIT 2000").each { |row| t.push(row.to_hash) }
3636
end
3737
return t.to_json
3838
end
@@ -43,7 +43,7 @@ class NsMonitoringRepository < Sinatra::Application
4343
get '/ns-monitoring/:instance_id/monitoring-data/last100/' do
4444
t = []
4545
@db = settings.db
46-
@db.execute("SELECT metricName, date, unit, value FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' AND metricname='#{params[:metric]}' ORDER BY metricname DESC LIMIT 100").each { |row| t.push(row.to_hash) }
46+
@db.execute("SELECT * FROM nsmonitoring WHERE instanceid='#{params[:instance_id]}' AND metricname='#{params[:metric]}' ORDER BY metricname DESC LIMIT 100").each { |row| t.push(row.to_hash) }
4747
return t.to_json
4848
end
4949

vnf-monitoring-repository/helpers/vnf.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ def self.startSubcription()
6363
ch = @channel
6464
puts " [*] Waiting for logs."
6565
t = ch.queue("vnf_repository", :exclusive => false).subscribe do |delivery_info, metadata, payload|
66-
puts "Received logs of #{json[0]['instance_id']}"
6766
json = JSON.parse(payload)
67+
puts "Received logs of #{json[0]['instance_id']}"
6868
VnfMonitoringHelper.save_monitoring(json)
6969
end
7070
}

vnf-monitoring-repository/routes/vnf.rb

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,34 +22,39 @@ class VnfMonitoringRepository < Sinatra::Application
2222
# @overload get '/vnf-monitoring/:instance_id/monitoring-data/'
2323
# Returns all monitored data
2424
get '/vnf-monitoring/:instance_id/monitoring-data/' do
25+
instance_id = params[:instance_id].to_s
26+
vdu_id = params[:vdu_id].to_s
27+
metric = params[:metric].to_s
28+
start = params[:start]
29+
endTime = params[:end]
2530
t = []
2631
@db = settings.db
27-
if params[:vdu_id] && params[:metric] && params[:start] && !params[:end]
28-
@db.execute("SELECT vduid, metricName, date, unit, value FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' AND vduid='#{params[:vdu_id].to_s}' AND metricname='#{params[:metric].to_s}' AND date >= #{params[:start]} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
29-
elsif params[:vdu_id] &&params[:metric] && params[:start] && params[:end]
30-
@db.execute("SELECT vduid, metricName, date, unit, value FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' AND vduid='#{params[:vdu_id].to_s}' AND metricname='#{params[:metric].to_s}' AND date >= #{params[:start]} AND date <= #{params[:end]} LIMIT 2000").each { |row| t.push(row.to_hash) }
31-
elsif params[:vdu_id] &&params[:metric] && params[:end]
32-
@db.execute("SELECT vduid, metricName, date, unit, value FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' AND vduid='#{params[:vdu_id].to_s}' AND metricname='#{params[:metric].to_s}' AND date <= #{params[:end]} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
33-
elsif params[:vdu_id] &&params[:metric] && !params[:start]
34-
@db.execute("SELECT vduid, metricName, date, unit, value FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' AND vduid='#{params[:vdu_id].to_s}' AND metricname='#{params[:metric].to_s}' LIMIT 2000").each { |row| t.push(row.to_hash) }
35-
elsif !params[:vdu_id]
32+
if vdu_id && metric && start && !endTime
33+
@db.execute("SELECT * FROM vnfmonitoring WHERE instanceid='#{instance_id}' AND vduid='#{vdu_id}' AND metricname='#{metric}' AND date >= #{start} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
34+
elsif vdu_id && metric && start && endTime
35+
@db.execute("SELECT * FROM vnfmonitoring WHERE instanceid='#{instance_id}' AND vduid='#{vdu_id}' AND metricname='#{metric}' AND date >= #{start} AND date <= #{endTime} LIMIT 2000").each { |row| t.push(row.to_hash) }
36+
elsif vdu_id && metric && endTime
37+
@db.execute("SELECT * FROM vnfmonitoring WHERE instanceid='#{instance_id}' AND vduid='#{vdu_id}' AND metricname='#{metric}' AND date <= #{endTime} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
38+
elsif vdu_id && metric && !start
39+
@db.execute("SELECT * FROM vnfmonitoring WHERE instanceid='#{instance_id}' AND vduid='#{vdu_id}' AND metricname='#{metric}' LIMIT 2000").each { |row| t.push(row.to_hash) }
40+
elsif !vdu_id
3641
contains = "("
3742
params[:vdus].each do |vdu|
3843
contains = contains + "'#{vdu.to_s}', "
3944
end
4045
contains = contains[0...-2]
4146
contains = contains + ")"
4247

43-
if params[:metric] && params[:start] && !params[:end]
44-
@db.execute("SELECT vduid, metricName, date, unit, value FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' AND metricname='#{params[:metric].to_s}' AND vduid IN #{contains} AND date >= #{params[:start]} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
45-
elsif params[:metric] && params[:start] && params[:end]
46-
@db.execute("SELECT vduid, metricName, date, unit, value FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' AND metricname='#{params[:metric].to_s}' AND vduid IN #{contains} AND date >= #{params[:start]} AND date <= #{params[:end]} LIMIT 2000").each { |row| t.push(row.to_hash) }
47-
elsif params[:metric] && params[:end]
48-
@db.execute("SELECT vduid, metricName, date, unit, value FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' AND metricname='#{params[:metric].to_s}' AND vduid IN #{contains} AND date <= #{params[:end]} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
49-
elsif params[:metric] && !params[:start]
50-
@db.execute("SELECT vduid, metricName, date, unit, value FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' AND metricname='#{params[:metric].to_s}' LIMIT 2000").each { |row| t.push(row.to_hash) }
48+
if metric && start && !endTime
49+
@db.execute("SELECT * FROM vnfmonitoring WHERE instanceid='#{instance_id}' AND metricname='#{metric}' AND vduid IN #{contains} AND date >= #{start} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
50+
elsif metric && start && endTime
51+
@db.execute("SELECT * FROM vnfmonitoring WHERE instanceid='#{instance_id}' AND metricname='#{metric}' AND vduid IN #{contains} AND date >= #{start} AND date <= #{endTime} LIMIT 2000").each { |row| t.push(row.to_hash) }
52+
elsif metric && endTime
53+
@db.execute("SELECT * FROM vnfmonitoring WHERE instanceid='#{instance_id}' AND metricname='#{metric}' AND vduid IN #{contains} AND date <= #{endTime} ORDER BY metricname DESC LIMIT 2000").each { |row| t.push(row.to_hash) }
54+
elsif metric && !start
55+
@db.execute("SELECT * FROM vnfmonitoring WHERE instanceid='#{instance_id}' AND metricname='#{metric}' LIMIT 2000").each { |row| t.push(row.to_hash) }
5156
else
52-
@db.execute("SELECT vduid, metricName, date, unit, value FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' LIMIT 2000").each { |row| t.push(row.to_hash) }
57+
@db.execute("SELECT * FROM vnfmonitoring WHERE instanceid='#{instance_id}' LIMIT 2000").each { |row| t.push(row.to_hash) }
5358
end
5459
end
5560
return t.to_json
@@ -61,7 +66,7 @@ class VnfMonitoringRepository < Sinatra::Application
6166
get '/vnf-monitoring/:instance_id/monitoring-data/last100/' do
6267
t = []
6368
@db = settings.db
64-
@db.execute("SELECT vduid, metricName, date, unit, value FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' AND metricname='#{params[:metric].to_s}' ORDER BY metricname DESC LIMIT 100").each { |row| t.push(row.to_hash) }
69+
@db.execute("SELECT * FROM vnfmonitoring WHERE instanceid='#{params[:instance_id].to_s}' AND metricname='#{params[:metric].to_s}' ORDER BY metricname DESC LIMIT 100").each { |row| t.push(row.to_hash) }
6570
return t.to_json
6671
end
6772

0 commit comments

Comments
 (0)