diff --git a/bin/Global.py b/bin/Global.py index fb44c70b..8b6e482f 100755 --- a/bin/Global.py +++ b/bin/Global.py @@ -31,6 +31,8 @@ from Helper import Process if __name__ == '__main__': publisher.port = 6380 publisher.channel = 'Script' + processed_paste = 0 + time_1 = time.time() config_section = 'Global' @@ -54,6 +56,12 @@ if __name__ == '__main__': continue else: print "Empty Queues: Waiting..." + if int(time.time() - time_1) > 30: + to_print = 'Global; ; ; ;glob Processed {0} paste(s)'.format(processed_paste) + print to_print + publisher.info(to_print) + time_1 = time.time() + processed_paste = 0 time.sleep(1) continue # Creating the full filepath @@ -66,3 +74,4 @@ if __name__ == '__main__': with open(filename, 'wb') as f: f.write(base64.standard_b64decode(gzip64encoded)) p.populate_set_out(filename) + processed_paste+=1 diff --git a/var/www/Flask_server.py b/var/www/Flask_server.py index 018608f1..36fcfbcc 100755 --- a/var/www/Flask_server.py +++ b/var/www/Flask_server.py @@ -122,7 +122,8 @@ def search(): @app.route("/") def index(): - return render_template("index.html") + default_minute = cfg.get("Flask", "minute_processed_paste") + return render_template("index.html", default_minute = default_minute) @app.route("/monitoring/") diff --git a/var/www/static/js/indexjavascript.js b/var/www/static/js/indexjavascript.js index 7eb7e5c5..ef9bf0c6 100644 --- a/var/www/static/js/indexjavascript.js +++ b/var/www/static/js/indexjavascript.js @@ -1,3 +1,54 @@ +// Plot and update the number of processed pastes +$(function() { + var data = []; + var totalPoints = 60*10; //60s*10m + var curr_max = 0; + + function getData() { + if (data.length > 0){ + curr_max = curr_max == data[0] ? Math.max.apply(null, data) : curr_max; + data = data.slice(1); + } + + while (data.length < totalPoints) { + var y = (typeof window.paste_num_tabvar !== "undefined") ? window.paste_num_tabvar : 0; + curr_max = curr_max < y ? y : curr_max; + data.push(y); + } + + // Zip the generated y values with the x values + var res = []; + for (var i = 0; i < data.length; ++i) { + res.push([i, data[i]]) + } + return res; + } + + var updateInterval = 1000; + var options = { + series: { shadowSize: 1 }, + lines: { fill: true, fillColor: { colors: [ { opacity: 1 }, { opacity: 0.1 } ] }}, + yaxis: { min: 0, max: 40 }, + xaxis: { show: false }, + colors: ["#F4A506"], + grid: { + tickColor: "#dddddd", + borderWidth: 0 + }, + }; + var plot = $.plot("#realtimechart", [ getData() ], options); + + function update() { +console.log(curr_max); + plot.setData([getData()]); + plot.getOptions().yaxes[0].max = curr_max; + plot.setupGrid(); + plot.draw(); + setTimeout(update, updateInterval); + } + update(); +}); + function initfunc( csvay, scroot) { window.csv = csvay; window.scroot = scroot; @@ -38,6 +89,13 @@ function create_log_table(obj_json) { var chansplit = obj_json.channel.split('.'); var parsedmess = obj_json.data.split(';'); + if (parsedmess[0] == "Global"){ + var paste_processed = parsedmess[4].split(" ")[2]; + console.log(paste_processed) + window.paste_num_tabvar = paste_processed; + return; + } + if( chansplit[1] == "INFO" ){ tr.className = "info"; } @@ -270,3 +328,5 @@ $(document).ready(function () { } }); + + diff --git a/var/www/templates/index.html b/var/www/templates/index.html index eb34aaf0..551c56b8 100644 --- a/var/www/templates/index.html +++ b/var/www/templates/index.html @@ -14,9 +14,10 @@ - + + -