system/sai/modules/saimod_sys_log/saimod_sys_log.js

182 lines
9.7 KiB
JavaScript

function init__SYSTEM_SAI_saimod_sys_log() {
$('#tabs_log a').click(function (e) {
e.preventDefault();
$(this).tab('show');
load_log_tab($(this).attr('action'));
});
load_log_tab("log");
};
function load_log_tab(action){
$('img#loader').show();
switch(action){
case 'log':
$('#tab_log').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_log&action='+action, function(){
register_log();
register_error();
$('img#loader').hide();});
return;
case 'stats':
$('#tab_stats').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_log&action='+action, function(){
drawVisualization();
$('img#loader').hide();});
return;
case 'admin':
$('#tab_admin').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_log&action='+action, function(){
register_admin();
$('img#loader').hide();});
return;
default:
$('img#loader').hide();
}
}
function register_error(){
$('.sai_log_error').click(function(){
$('img#loader').show();
$('#table_log').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_log&action=error&error='+$(this).attr('error'), function(){
$('img#loader').hide();})});
}
function load_table_log(filter){
$('img#loader').show();
$('#table_log').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_log&action=filter&filter='+filter, function(){
register_error();
$('img#loader').hide();});
}
var filter = "";
function register_log(){
$('#refresh_error_table').click(function(){
load_table_log(filter);});
$("#error_filter a").click(function(){
$('#error_filter li').each(function(){
$(this).removeClass('active');});
$(this).parent().addClass('active');
filter = $(this).attr('filter');
load_table_log($(this).attr('filter'));
});
}
function register_admin(){
$('#truncate_table').click(function(){
$.ajax({ type :'GET',
url : SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_log&action=truncate',
success : function(data) {
if(data == 1){
$('#info_box').html("deleting data...");
$('#truncate_modal').modal('hide');
$('#content-wrapper').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_log');
}else{
$('#info_box').html("You do not have the permission to truncate table!");
}
}
});
});
}
function drawVisualization() {
$('img#loader').show();
$.getJSON(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_log&action=visualization',function(json){
if(!json || json.status != true){
$('img#loader').hide();
return;
}
json = json.result;
var data1 = new google.visualization.DataTable();
data1.addColumn('date', 'day');
data1.addColumn('number', 'count');
//data.addColumn('string', 'from to');
data1.addColumn('number', 'file_unique');
data1.addColumn('number', 'ip_unique');
data1.addColumn('number', 'text_unique');
data1.addColumn('number', 'class_unique');
var data2 = new google.visualization.DataTable();
data2.addColumn('date', 'day');
data2.addColumn('number', 'count');
data2.addColumn('number', 'querytime avg');
data2.addColumn('number', 'querytime max');
data2.addColumn('number', 'querytime min');
var data3 = new google.visualization.DataTable();
data3.addColumn('date', 'day');
data3.addColumn('number', 'count');
data3.addColumn('number', 'class_info');
data3.addColumn('number', 'class_deprecated');
data3.addColumn('number', 'class_warning');
data3.addColumn('number', 'class_error');
data3.addColumn('number', 'class_apperror');
var data4 = new google.visualization.DataTable();
data4.addColumn('date', 'day');
data4.addColumn('number', 'count');
data4.addColumn('number', 'class_system_log_info');
data4.addColumn('number', 'class_system_log_deprecated');
data4.addColumn('number', 'class_system_log_warning');
data4.addColumn('number', 'class_system_log_error');
data4.addColumn('number', 'class_system_log_errorexception');
data4.addColumn('number', 'class_system_log_shutdownexception');
var data5 = new google.visualization.DataTable();
data5.addColumn('date', 'day');
data5.addColumn('number', 'count');
data5.addColumn('number', 'class_exception');
data5.addColumn('number', 'class_runtimeexception');
data5.addColumn('number', 'class_errorexception');
data5.addColumn('number', 'class_other');
$.each(json, function(key, value){
data1.addRow([ new Date(value.day),
parseInt(value.count),
parseInt(value.file_unique),
parseInt(value.ip_unique),
parseInt(value.text_unique),
parseInt(value.class_unique)]);
data2.addRow([ new Date(value.day),
parseInt(value.count),
parseFloat(value.querytime_avg),
parseFloat(value.querytime_max),
parseFloat(value.querytime_min)]);
data3.addRow([ new Date(value.day),
parseInt(value.count),
parseInt(value.class_info)+0.5,
parseInt(value.class_deprecated)+0.5,
parseInt(value.class_warning)+0.5,
parseInt(value.class_error)+0.5,
parseInt(value.class_apperror)+0.5]);
data4.addRow([ new Date(value.day),
parseInt(value.count),
parseInt(value.class_system_log_info)+0.5,
parseInt(value.class_system_log_deprecated)+0.5,
parseInt(value.class_system_log_warning)+0.5,
parseInt(value.class_system_log_error)+0.5,
parseInt(value.class_system_log_errorexception)+0.5,
parseInt(value.class_system_log_shutdownexception)+0.5]);
data5.addRow([ new Date(value.day),
parseInt(value.count),
parseInt(value.class_exception)+0.5,
parseInt(value.class_runtimeexception)+0.5,
parseInt(value.class_errorexception)+0.5,
parseInt(value.count)+0.5 - parseInt(value.class_info) - parseInt(value.class_deprecated) - parseInt(value.class_warning) - parseInt(value.class_error) - parseInt(value.class_apperror) - parseInt(value.class_system_log_info) - parseInt(value.class_system_log_deprecated) - parseInt(value.class_system_log_warning) - parseInt(value.class_system_log_error) - parseInt(value.class_system_log_errorexception) - parseInt(value.class_system_log_shutdownexception) - parseInt(value.class_exception) - parseInt(value.class_runtimeexception) - parseInt(value.class_errorexception)]);
});
// Create and draw the visualization.
var options = {title: 'Exception Occurrence', aggregationTarget: 'category', selectionMode: 'multiple', /*focusTarget: 'category',*/ chartArea:{left:100,top:40}, vAxis:{logScale: true}, interpolateNulls: false, width: "1400", height: "500"};
new google.visualization.LineChart(document.getElementById('visualization1')).draw(data1, options);
var options = {title: 'Exception Querytime', /*focusTarget: 'category',*/ chartArea:{left:100,top:40}, vAxis:{logScale: true}, interpolateNulls: false, width: "1400", height: "500"};
new google.visualization.LineChart(document.getElementById('visualization2')).draw(data2, options);
var options = {title: 'Exception Classes - basic', /*focusTarget: 'category',*/ chartArea:{left:100,top:40}, vAxis:{logScale: true}, interpolateNulls: false, width: "1400", height: "500"};
new google.visualization.LineChart(document.getElementById('visualization3')).draw(data3, options);
var options = {title: 'Exception Classes - system', /*focusTarget: 'category',*/ chartArea:{left:100,top:40}, vAxis:{logScale: true}, interpolateNulls: false, width: "1400", height: "500"};
new google.visualization.LineChart(document.getElementById('visualization4')).draw(data4, options);
var options = {title: 'Exception Classes - other', /*focusTarget: 'category',*/ chartArea:{left:100,top:40}, vAxis:{logScale: true}, interpolateNulls: false, width: "1400", height: "500"};
new google.visualization.LineChart(document.getElementById('visualization5')).draw(data5, options);
$('img#loader').hide();
});
}