From 768f5281784b419e4d5617cb34e89298d1899a59 Mon Sep 17 00:00:00 2001 From: Phil Hodgson Date: Sat, 15 Nov 2014 14:26:52 +0100 Subject: [PATCH] 4233: why pass around global variables? --- apps/workbench/app/assets/javascripts/event_log.js | 8 +++++--- apps/workbench/app/views/jobs/_show_log.html.erb | 8 ++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/workbench/app/assets/javascripts/event_log.js b/apps/workbench/app/assets/javascripts/event_log.js index 10fe5be8f1..77ed7bf3c9 100644 --- a/apps/workbench/app/assets/javascripts/event_log.js +++ b/apps/workbench/app/assets/javascripts/event_log.js @@ -58,7 +58,8 @@ $(document).on('ajax:complete ready', function() { }); -function processLogLineForChart( logLine, jobGraphSeries, jobGraphData ) { +function processLogLineForChart( logLine ) { + // TODO: make this more robust: anything could go wrong in here var match = logLine.match(/(.*)crunchstat:(.*)-- interval(.*)/); if( match ) { var series = match[2].trim().split(' ')[0]; @@ -71,6 +72,7 @@ function processLogLineForChart( logLine, jobGraphSeries, jobGraphData ) { for(var i=2; i < intervalData.length; i += 2 ) { dsum += parseFloat(intervalData[i]); } + // TODO: why 4? what if the data is smaller than 0.0001? var datum = (dsum/dt).toFixed(4); var preamble = match[1].trim().split(' '); var timestamp = preamble[0].replace('_','T'); @@ -89,11 +91,11 @@ function processLogLineForChart( logLine, jobGraphSeries, jobGraphData ) { $(document).on('arv-log-event', '#log_graph_div', function(event, eventData) { if( eventData.properties.text ) { var series_length = jobGraphSeries.length; - processLogLineForChart( eventData.properties.text, jobGraphSeries, jobGraphData); + processLogLineForChart( eventData.properties.text ); if( series_length < jobGraphSeries.length) { // series have changed, draw entirely new graph $('#log_graph_div').html(''); - jobGraph = Morris.Line({ + window.jobGraph = Morris.Line({ element: 'log_graph_div', data: jobGraphData, xkey: 't', diff --git a/apps/workbench/app/views/jobs/_show_log.html.erb b/apps/workbench/app/views/jobs/_show_log.html.erb index 75edf59bd3..efe6df4431 100644 --- a/apps/workbench/app/views/jobs/_show_log.html.erb +++ b/apps/workbench/app/views/jobs/_show_log.html.erb @@ -18,14 +18,14 @@ > <%= javascript_tag do %> - var jobGraphData = []; - var jobGraphSeries = []; + window.jobGraphData = []; + window.jobGraphSeries = []; <% stderr_log_records([@object.uuid],[['properties','~','crunchstat:.*-- interval']]) .each.with_index do |log_record, index| %> var logLine = '<%=j log_record.properties[:text] %>'; - processLogLineForChart( logLine, jobGraphSeries, jobGraphData ); + processLogLineForChart( logLine ); <% end %> - var jobGraph = Morris.Line({ + window.jobGraph = Morris.Line({ element: 'log_graph_div', data: jobGraphData, xkey: 't', -- 2.30.2