mirror of
https://github.com/ail-project/ail-framework.git
synced 2024-11-30 01:37:17 +00:00
In index: Added number of processed pastes chart
This commit is contained in:
parent
ab61e32399
commit
fba14bfb4b
4 changed files with 83 additions and 4 deletions
|
@ -31,6 +31,8 @@ from Helper import Process
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
publisher.port = 6380
|
publisher.port = 6380
|
||||||
publisher.channel = 'Script'
|
publisher.channel = 'Script'
|
||||||
|
processed_paste = 0
|
||||||
|
time_1 = time.time()
|
||||||
|
|
||||||
config_section = 'Global'
|
config_section = 'Global'
|
||||||
|
|
||||||
|
@ -54,6 +56,12 @@ if __name__ == '__main__':
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
print "Empty Queues: Waiting..."
|
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)
|
time.sleep(1)
|
||||||
continue
|
continue
|
||||||
# Creating the full filepath
|
# Creating the full filepath
|
||||||
|
@ -66,3 +74,4 @@ if __name__ == '__main__':
|
||||||
with open(filename, 'wb') as f:
|
with open(filename, 'wb') as f:
|
||||||
f.write(base64.standard_b64decode(gzip64encoded))
|
f.write(base64.standard_b64decode(gzip64encoded))
|
||||||
p.populate_set_out(filename)
|
p.populate_set_out(filename)
|
||||||
|
processed_paste+=1
|
||||||
|
|
|
@ -122,7 +122,8 @@ def search():
|
||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
def index():
|
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/")
|
@app.route("/monitoring/")
|
||||||
|
|
|
@ -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) {
|
function initfunc( csvay, scroot) {
|
||||||
window.csv = csvay;
|
window.csv = csvay;
|
||||||
window.scroot = scroot;
|
window.scroot = scroot;
|
||||||
|
@ -38,6 +89,13 @@ function create_log_table(obj_json) {
|
||||||
var chansplit = obj_json.channel.split('.');
|
var chansplit = obj_json.channel.split('.');
|
||||||
var parsedmess = obj_json.data.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" ){
|
if( chansplit[1] == "INFO" ){
|
||||||
tr.className = "info";
|
tr.className = "info";
|
||||||
}
|
}
|
||||||
|
@ -270,3 +328,5 @@ $(document).ready(function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,9 +14,10 @@
|
||||||
<link href="{{ url_for('static', filename='css/dygraph_gallery.css') }}" rel="stylesheet" type="text/css" />
|
<link href="{{ url_for('static', filename='css/dygraph_gallery.css') }}" rel="stylesheet" type="text/css" />
|
||||||
<!-- JS -->
|
<!-- JS -->
|
||||||
<script type="text/javascript" src="{{ url_for('static', filename='js/dygraph-combined.js') }}"></script>
|
<script type="text/javascript" src="{{ url_for('static', filename='js/dygraph-combined.js') }}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/jquery.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/jquery.tagcanvas.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/jquery.tagcanvas.js') }}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/jquery-1.4.2.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/jquery-1.4.2.js') }}"></script>
|
||||||
|
<script src="{{ url_for('static', filename='js/jquery.js') }}"></script>
|
||||||
|
<script src="{{ url_for('static', filename='js/jquery.flot.js') }}"></script>
|
||||||
<script>
|
<script>
|
||||||
function update_values() {
|
function update_values() {
|
||||||
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
|
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
|
||||||
|
@ -50,7 +51,16 @@
|
||||||
<!-- /#side-menu -->
|
<!-- /#side-menu -->
|
||||||
</div>
|
</div>
|
||||||
<!-- /.sidebar-collapse -->
|
<!-- /.sidebar-collapse -->
|
||||||
<div class="table-responsive", id="queueing" style="margin-top:40px;"></div>
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<i class="fa fa-dashboard fa-fw"></i> Pastes since {{ default_minute }} min
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<div id="realtimechart" style="height: 90px; padding: 0px; position: relative;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div id="Graph_paste_num" style="height:90px; width:100%;"></div> -->
|
||||||
|
<div class="table-responsive", id="queueing" style="margin-top:10px;"></div>
|
||||||
<a href="{{ url_for('index') }}"><img src="{{ url_for('static', filename='image/AIL.png') }}" /></a>
|
<a href="{{ url_for('index') }}"><img src="{{ url_for('static', filename='image/AIL.png') }}" /></a>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.navbar-static-side -->
|
<!-- /.navbar-static-side -->
|
||||||
|
@ -132,7 +142,6 @@
|
||||||
initfunc( "{{ url_for('static', filename='csv/wordstrendingdata.csv') }}", {{ request.script_root|tojson|safe }} );
|
initfunc( "{{ url_for('static', filename='csv/wordstrendingdata.csv') }}", {{ request.script_root|tojson|safe }} );
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="{{ url_for('static', filename='js/jquery.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
|
||||||
<script src="{{ url_for('static', filename='js/plugins/metisMenu/metisMenu.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/plugins/metisMenu/metisMenu.js') }}"></script>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue