Merge branch '1463-Series-sintéticas-dev' into 'develop'
1463 series sintéticas dev See merge request artica/pandorafms!1175
This commit is contained in:
commit
7362f45ef8
|
@ -4,4 +4,8 @@ ALTER TABLE tsnmp_filter ADD unified_filters_id int(10) NOT NULL DEFAULT 0;
|
|||
ALTER TABLE treport_content_template ADD COLUMN hide_no_data tinyint(1) DEFAULT 0;
|
||||
ALTER TABLE tgraph_source ADD COLUMN `order` int(10) NOT NULL default 0;
|
||||
|
||||
ALTER TABLE tgraph ADD COLUMN `summatory_series` tinyint(1) UNSIGNED NOT NULL default '0';
|
||||
ALTER TABLE tgraph ADD COLUMN `average_series` tinyint(1) UNSIGNED NOT NULL default '0';
|
||||
ALTER TABLE tgraph ADD COLUMN `modules_series` tinyint(1) UNSIGNED NOT NULL default '0';
|
||||
|
||||
COMMIT;
|
|
@ -1263,6 +1263,7 @@ UPDATE tagente_modulo SET cron_interval = '' WHERE cron_interval LIKE '% %';
|
|||
ALTER TABLE tgraph ADD COLUMN `percentil` int(4) unsigned default '0';
|
||||
ALTER TABLE tgraph ADD COLUMN `summatory_series` tinyint(1) UNSIGNED NOT NULL default '0';
|
||||
ALTER TABLE tgraph ADD COLUMN `average_series` tinyint(1) UNSIGNED NOT NULL default '0';
|
||||
ALTER TABLE tgraph ADD COLUMN `modules_series` tinyint(1) UNSIGNED NOT NULL default '0';
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `tnetflow_filter`
|
||||
|
|
|
@ -66,6 +66,9 @@ if ($edit_graph) {
|
|||
$height = $graphInTgraph['height'];
|
||||
$check = false;
|
||||
$percentil = $graphInTgraph['percentil'];
|
||||
$summatory_series = $graphInTgraph['summatory_series'];
|
||||
$average_series = $graphInTgraph['average_series'];
|
||||
$modules_series = $graphInTgraph['modules_series'];
|
||||
|
||||
if ($stacked == CUSTOM_GRAPH_BULLET_CHART_THRESHOLD){
|
||||
$stacked = CUSTOM_GRAPH_BULLET_CHART;
|
||||
|
@ -84,6 +87,9 @@ else {
|
|||
$stacked = 4;
|
||||
$check = false;
|
||||
$percentil = 0;
|
||||
$summatory_series = 0;
|
||||
$average_series = 0;
|
||||
$modules_series = 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -177,6 +183,16 @@ echo "</div></td>";
|
|||
echo "<tr><td class='datos2'><b>".__('Percentil')."</b></td>";
|
||||
echo "<td class='datos2'>" . html_print_checkbox ("percentil", 1, $percentil, true) . "</td></tr>";
|
||||
|
||||
echo "<tr><td class='datos2'><b>".__('Add summatory series') .
|
||||
ui_print_help_tip (__("Adds synthetic series to the graph, using all module
|
||||
values to calculate the summation and/or average in each time interval.
|
||||
This feature could be used instead of synthetic modules if you only want to see a graph."), true) . "</b></td>";
|
||||
echo "<td class='datos2'>" . html_print_checkbox ("summatory_series", 1, $summatory_series, true) . "</td>
|
||||
<td class='datos2'><b>".__('Add average series')."</b></td>";
|
||||
echo "<td class='datos2'>" . html_print_checkbox ("average_series", 1, $average_series, true) . "</td></tr>";
|
||||
echo "<tr><td class='datos2'><b>".__('Modules and series')."</b></td>";
|
||||
|
||||
echo "<td class='datos2'>" . html_print_checkbox ("modules_series", 1, $modules_series, true) . "</td></tr>";
|
||||
echo "</table>";
|
||||
|
||||
if ($edit_graph) {
|
||||
|
@ -195,6 +211,12 @@ echo '<script type="text/javascript">
|
|||
}else{
|
||||
$("#thresholdDiv").hide();
|
||||
}
|
||||
|
||||
if(!$("#checkbox-summatory_series").is(":checked") && !$("#checkbox-average_series").is(":checked")){
|
||||
$("#checkbox-modules_series").attr("disabled", true);
|
||||
$("#checkbox-modules_series").attr("checked", false);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$("#stacked").change(function(){
|
||||
|
@ -214,6 +236,24 @@ echo '<script type="text/javascript">
|
|||
$("#thresholdDiv").hide();
|
||||
}
|
||||
});
|
||||
|
||||
$("#checkbox-summatory_series").change(function() {
|
||||
if($("#checkbox-summatory_series").is(":checked") && $("#checkbox-modules_series").is(":disabled")) {
|
||||
$("#checkbox-modules_series").removeAttr("disabled");
|
||||
} else if(!$("#checkbox-average_series").is(":checked")) {
|
||||
$("#checkbox-modules_series").attr("disabled", true);
|
||||
$("#checkbox-modules_series").attr("checked", false);
|
||||
}
|
||||
});
|
||||
|
||||
$("#checkbox-average_series").change(function() {
|
||||
if($("#checkbox-average_series").is(":checked") && $("#checkbox-modules_series").is(":disabled")) {
|
||||
$("#checkbox-modules_series").removeAttr("disabled");
|
||||
} else if(!$("#checkbox-summatory_series").is(":checked")) {
|
||||
$("#checkbox-modules_series").attr("disabled", true);
|
||||
$("#checkbox-modules_series").attr("checked", false);
|
||||
}
|
||||
});
|
||||
|
||||
</script>';
|
||||
?>
|
||||
|
|
|
@ -87,6 +87,9 @@ if ($add_graph) {
|
|||
$period = get_parameter_post ("period");
|
||||
$threshold = get_parameter('threshold');
|
||||
$percentil = get_parameter ("percentil", 0);
|
||||
$summatory_series = get_parameter ("summatory_series", 0);
|
||||
$average_series = get_parameter ("average_series", 0);
|
||||
$modules_series = get_parameter ("modules_series", 0);
|
||||
|
||||
if ($threshold == CUSTOM_GRAPH_BULLET_CHART_THRESHOLD){
|
||||
$stacked = $threshold;
|
||||
|
@ -103,7 +106,10 @@ if ($add_graph) {
|
|||
'private' => 0,
|
||||
'id_group' => $idGroup,
|
||||
'stacked' => $stacked,
|
||||
'percentil' => $percentil
|
||||
'percentil' => $percentil,
|
||||
'summatory_series' => $summatory_series,
|
||||
'average_series' => $average_series,
|
||||
'modules_series' => $modules_series
|
||||
);
|
||||
|
||||
if (trim($name) != "") {
|
||||
|
@ -131,6 +137,9 @@ if ($update_graph) {
|
|||
$period = get_parameter('period');
|
||||
$stacked = get_parameter('stacked');
|
||||
$percentil = get_parameter('percentil');
|
||||
$summatory_series = get_parameter ("summatory_series");
|
||||
$average_series = get_parameter ("average_series");
|
||||
$modules_series = get_parameter ("modules_series");
|
||||
$alerts = get_parameter('alerts');
|
||||
$threshold = get_parameter('threshold');
|
||||
|
||||
|
@ -141,7 +150,10 @@ if ($update_graph) {
|
|||
if (trim($name) != "") {
|
||||
|
||||
$success = db_process_sql_update('tgraph',
|
||||
array('name' => $name, 'id_group' => $id_group, 'description' => $description, 'width' => $width, 'height' => $height, 'period' => $period, 'stacked' => $stacked, 'percentil' => $percentil ),
|
||||
array('name' => $name, 'id_group' => $id_group, 'description' => $description,
|
||||
'width' => $width, 'height' => $height, 'period' => $period, 'stacked' => $stacked,
|
||||
'percentil' => $percentil, 'summatory_series' => $summatory_series,
|
||||
'average_series' => $average_series, 'modules_series' => $modules_series),
|
||||
array('id_graph' => $id_graph));
|
||||
if ($success !== false)
|
||||
db_pandora_audit("Report management", "Update graph #$id_graph");
|
||||
|
|
|
@ -60,7 +60,6 @@ if ($update_snmp_translation) {
|
|||
|
||||
if ($delete_snmp_filter) {
|
||||
$filter_id = get_parameter('filter_id');
|
||||
html_debug($filter_id, true);
|
||||
db_process_sql_delete('tsnmp_filter', array('id_snmp_filter' => $filter_id));
|
||||
|
||||
return;
|
||||
|
|
|
@ -202,6 +202,11 @@ function custom_graphs_print($id_graph, $height, $width, $period,
|
|||
$sources = db_get_all_rows_field_filter('tgraph_source', 'id_graph',
|
||||
$id_graph);
|
||||
|
||||
$series = db_get_all_rows_sql('SELECT summatory_series,average_series,modules_series FROM tgraph WHERE id_graph = '.$id_graph);
|
||||
$summatory = $series[0]['summatory_series'];
|
||||
$average = $series[0]['average_series'];
|
||||
$modules_series = $series[0]['modules_series'];
|
||||
|
||||
$modules = array ();
|
||||
$weights = array ();
|
||||
$labels = array ();
|
||||
|
@ -262,7 +267,10 @@ function custom_graphs_print($id_graph, $height, $width, $period,
|
|||
$percentil,
|
||||
$from_interface,
|
||||
$id_widget_dashboard,
|
||||
$fullscale);
|
||||
$fullscale,
|
||||
$summatory,
|
||||
$average,
|
||||
$modules_series);
|
||||
|
||||
if ($return)
|
||||
return $output;
|
||||
|
|
|
@ -1114,11 +1114,11 @@ function graphic_combined_module ($module_list, $weight_list, $period,
|
|||
$name_list = array(), $unit_list = array(), $show_last = true, $show_max = true,
|
||||
$show_min = true, $show_avg = true, $labels = array(), $dashboard = false,
|
||||
$vconsole = false, $percentil = null, $from_interface = false,
|
||||
$id_widget_dashboard=false, $fullscale = false) {
|
||||
$id_widget_dashboard=false, $fullscale = false, $summatory = 0, $average = 0, $modules_series = 0) {
|
||||
|
||||
global $config;
|
||||
global $graphic_type;
|
||||
|
||||
|
||||
if(!$fullscale){
|
||||
$time_format_2 = '';
|
||||
$temp_range = $period;
|
||||
|
@ -1205,7 +1205,8 @@ function graphic_combined_module ($module_list, $weight_list, $period,
|
|||
$weight_list[$i] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$aux_array = array();
|
||||
// Set data containers
|
||||
for ($i = 0; $i < $resolution; $i++) {
|
||||
$timestamp = $datelimit + ($interval * $i);/*
|
||||
|
@ -1257,12 +1258,12 @@ function graphic_combined_module ($module_list, $weight_list, $period,
|
|||
|
||||
// If its a projection graph,
|
||||
// first module will be data and second will be the projection
|
||||
|
||||
if ($projection != false && $i != 0) {
|
||||
if ($automatic_custom_graph_meta)
|
||||
$agent_module_id = $module_list[0]['module'];
|
||||
else
|
||||
$agent_module_id = $module_list[0];
|
||||
|
||||
$id_module_type = modules_get_agentmodule_type ($agent_module_id);
|
||||
$module_type = modules_get_moduletype_name ($id_module_type);
|
||||
$uncompressed_module = is_module_uncompressed ($module_type);
|
||||
|
@ -1273,7 +1274,6 @@ function graphic_combined_module ($module_list, $weight_list, $period,
|
|||
else
|
||||
$agent_module_id = $module_list[$i];
|
||||
|
||||
|
||||
$id_module_type = modules_get_agentmodule_type ($agent_module_id);
|
||||
$module_type = modules_get_moduletype_name ($id_module_type);
|
||||
$uncompressed_module = is_module_uncompressed ($module_type);
|
||||
|
@ -1346,6 +1346,21 @@ function graphic_combined_module ($module_list, $weight_list, $period,
|
|||
continue;
|
||||
}
|
||||
|
||||
// if(empty($aux_array)){
|
||||
// foreach ($data as $key => $value) {
|
||||
// $aux_array[$value['utimestamp']] = $value['datos'];
|
||||
// }
|
||||
// } else {
|
||||
// foreach ($data as $key => $value) {
|
||||
// if(array_key_exists($value['utimestamp'],$aux_array)){
|
||||
// $aux_array[$value['utimestamp']] = $aux_array[$value['utimestamp']] + $value['datos'];
|
||||
// } else {
|
||||
// $aux_array[$value['utimestamp']] = $value['datos'];
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// html_debug($aux_array);
|
||||
if (!empty($name_list) && $names_number == $module_number && isset($name_list[$i])) {
|
||||
if ($labels[$agent_module_id] != '')
|
||||
$module_name_list[$i] = $labels[$agent_module_id];
|
||||
|
@ -2114,7 +2129,91 @@ function graphic_combined_module ($module_list, $weight_list, $period,
|
|||
$threshold_data['red_inverse'] = (bool)$red_inverse;
|
||||
}
|
||||
}
|
||||
|
||||
//summatory and average series
|
||||
if($stacked == CUSTOM_GRAPH_AREA || $stacked == CUSTOM_GRAPH_LINE) {
|
||||
if($summatory && $average) {
|
||||
foreach ($graph_values as $key => $value) {
|
||||
$cont = count($value);
|
||||
$summ = array_sum($value);
|
||||
array_push($value,$summ);
|
||||
array_push($value,$summ/$cont);
|
||||
$graph_values[$key] = $value;
|
||||
if(!$modules_series) {
|
||||
array_splice($graph_values[$key],0,count($graph_values[$key])-2);
|
||||
}
|
||||
}
|
||||
|
||||
if(!$modules_series) {
|
||||
if(is_null($percentil)) {
|
||||
array_splice($module_name_list,0,count($module_name_list));
|
||||
} else {
|
||||
array_splice($module_name_list,0,count($module_name_list)-(count($module_name_list)/2));
|
||||
}
|
||||
array_unshift($module_name_list,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('summatory'). '</span>');
|
||||
array_unshift($module_name_list,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('average'). '</span>');
|
||||
} else {
|
||||
if(is_null($percentil)) {
|
||||
array_push($module_name_list,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('summatory'). '</span>');
|
||||
array_push($module_name_list,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('average'). '</span>');
|
||||
} else {
|
||||
array_splice($module_name_list,(count($module_name_list)/2),0,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('average'). '</span>');
|
||||
array_splice($module_name_list,(count($module_name_list)/2),0,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('summatory'). '</span>');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} elseif($summatory) {
|
||||
foreach ($graph_values as $key => $value) {
|
||||
array_push($value,array_sum($value));
|
||||
$graph_values[$key] = $value;
|
||||
if(!$modules_series){
|
||||
array_splice($graph_values[$key],0,count($graph_values[$key])-1);
|
||||
}
|
||||
}
|
||||
|
||||
if(!$modules_series) {
|
||||
if(is_null($percentil)) {
|
||||
array_splice($module_name_list,0,count($module_name_list));
|
||||
} else {
|
||||
array_splice($module_name_list,0,count($module_name_list)-(count($module_name_list)/2));
|
||||
}
|
||||
array_unshift($module_name_list,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('summatory'). '</span>');
|
||||
} else {
|
||||
if(is_null($percentil)) {
|
||||
array_push($module_name_list,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('summatory'). '</span>');
|
||||
} else {
|
||||
array_splice($module_name_list,(count($module_name_list)/2),0,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('summatory'). '</span>');
|
||||
}
|
||||
}
|
||||
|
||||
} elseif($average) {
|
||||
foreach ($graph_values as $key => $value) {
|
||||
$summ = array_sum($value) / count($value);
|
||||
array_push($value,$summ);
|
||||
$graph_values[$key] = $value;
|
||||
if(!$modules_series){
|
||||
array_splice($graph_values[$key],0,count($graph_values[$key])-1);
|
||||
}
|
||||
}
|
||||
|
||||
if(!$modules_series) {
|
||||
if(is_null($percentil)) {
|
||||
array_splice($module_name_list,0,count($module_name_list));
|
||||
} else {
|
||||
array_splice($module_name_list,0,count($module_name_list)-(count($module_name_list)/2));
|
||||
}
|
||||
array_unshift($module_name_list,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('average'). '</span>');
|
||||
} else {
|
||||
if(is_null($percentil)) {
|
||||
array_push($module_name_list,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('average'). '</span>');
|
||||
} else {
|
||||
array_splice($module_name_list,(count($module_name_list)/2),0,'<span style=\"font-size:' . ($config['font_size']) . 'pt;font-family: smallfontFont;\" >' . __('average'). '</span>');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch ($stacked) {
|
||||
case CUSTOM_GRAPH_AREA:
|
||||
return area_graph($flash_charts, $graph_values, $width,
|
||||
|
|
|
@ -185,7 +185,6 @@ function flot_area_graph($chart_data, $width, $height, $color, $legend,
|
|||
include_javascript_dependencies_flot_graph();
|
||||
|
||||
$menu = (int)$menu;
|
||||
|
||||
// Get a unique identifier to graph
|
||||
$graph_id = uniqid('graph_');
|
||||
|
||||
|
@ -500,6 +499,7 @@ function flot_area_graph($chart_data, $width, $height, $color, $legend,
|
|||
$short_data = false;
|
||||
}
|
||||
|
||||
|
||||
// Javascript code
|
||||
$return .= "<script type='text/javascript'>";
|
||||
$return .= "$(document).ready( function () {";
|
||||
|
|
|
@ -1192,6 +1192,7 @@ CREATE TABLE IF NOT EXISTS `tgraph` (
|
|||
`percentil` tinyint(1) UNSIGNED NOT NULL default 0,
|
||||
`summatory_series` tinyint(1) UNSIGNED NOT NULL default 0,
|
||||
`average_series` tinyint(1) UNSIGNED NOT NULL default 0,
|
||||
`modules_series` tinyint(1) UNSIGNED NOT NULL default 0,
|
||||
PRIMARY KEY(`id_graph`)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
|
|
Loading…
Reference in New Issue