class Commandline
Public Class Methods
dstat_file()
click to toggle source
# File lib/barrage/commandline.rb, line 18 def self.dstat_file @@dstat_file end
dstat_pid()
click to toggle source
# File lib/barrage/commandline.rb, line 8 def self.dstat_pid @@dstat_pid end
image_file()
click to toggle source
# File lib/barrage/commandline.rb, line 23 def self.image_file @@image_file end
unique_id()
click to toggle source
# File lib/barrage/commandline.rb, line 13 def self.unique_id @@unique_id end
Private Class Methods
plot(filename)
click to toggle source
# File lib/barrage/commandline.rb, line 57 def self.plot(filename) Gnuplot.open do |gp| Gnuplot::Plot.new(gp) do |plot| plot.term "png truecolor enhanced fontscale 1.0 size 1920, 1080 font 'Arial,16'" plot.output @@image_file plot.multiplot "layout 4,2" plot.origin "0.0,0.5" plot.size "0.5,0.5" self.template(plot) CPU.perform(filename, plot) end Gnuplot::Plot.new(gp) do |plot| plot.origin "0.5,0.5" plot.size "0.5,0.5" self.template(plot) Memory.perform(filename, plot) end Gnuplot::Plot.new(gp) do |plot| plot.origin "0.0,0.0" plot.size "0.5,0.5" self.template(plot) Network.perform(filename, plot) end end end
template(plot)
click to toggle source
# File lib/barrage/commandline.rb, line 45 def self.template(plot) plot.key "font 'Verdana,24'" plot.object '1 rectangle from screen 0,0 to screen 3,3 fillcolor rgb"black" behind' plot.object '1 rect from graph 0, 0, 0 to graph 1, 1, 0' plot.object '1 behind lw 1.0 fc rgb "#000000" fillstyle solid 1.00 border lt -1' plot.key 'textcolor rgb "#FFFFFF"' plot.key 'inside top center horizontal Right noreverse enhanced autotitles nobox' plot.key 'samplen 1 spacing 1.0 font "Arial,16"' plot.style "fill transparent solid 0.2" plot.grid end
upload()
click to toggle source
# File lib/barrage/commandline.rb, line 88 def self.upload puts "Uploading to imgur..." output = `imgurr upload #{@@image_file}` puts "#{output.split(" ")[1]}" end
Public Instance Methods
capture()
click to toggle source
# File lib/barrage/commandline.rb, line 28 def capture dstat end
Private Instance Methods
dstat()
click to toggle source
# File lib/barrage/commandline.rb, line 34 def dstat @@unique_id = "#{Time.now.getutc.to_i}" @@dstat_file = "output/stats_#{@@unique_id}.csv" @@image_file = "output/results_#{@@unique_id}.png" @@dstat_pid = fork do cmd = "dstat -tcmrd --disk-util -ny --output #{@@dstat_file}" exec(cmd) end end