diff --git a/pandora_console/include/functions.php b/pandora_console/include/functions.php
index edcb7c9034..479d15f132 100644
--- a/pandora_console/include/functions.php
+++ b/pandora_console/include/functions.php
@@ -3004,7 +3004,7 @@ function legend_graph_array(
global $legend;
$unit = $format_graph['unit'];
- if (isset($show_elements_graph['labels']) && is_array($show_elements_graph['labels'])){
+ if (isset($show_elements_graph['labels']) && is_array($show_elements_graph['labels']) && (count($show_elements_graph['labels']) > 0)){
$legend['sum'.$series_suffix] = $show_elements_graph['labels'][$data_module_graph['module_id']] . ' ' ;
}
else{
@@ -3066,22 +3066,36 @@ function legend_graph_array(
return $legend;
}
-function series_type_graph_array( $series_suffix, $data_module_graph){
+function series_type_graph_array($data){
global $config;
- global $series_type;
-
- $series_type['event'.$series_suffix] = 'points';
- $series_type['alert'.$series_suffix] = 'points';
- $series_type['unknown'.$series_suffix] = 'unknown';
- switch ($data_module_graph['id_module_type']) {
- case 21: case 2: case 6:
- case 18: case 9: case 31:
- $series_type['sum'.$series_suffix] = 'boolean';
- break;
- default:
- $series_type['sum'.$series_suffix] = 'area';
- break;
+ foreach ($data as $key => $value) {
+ if(strpos($key, 'sum') !== false){
+ switch ($value['id_module_type']) {
+ case 21: case 2: case 6:
+ case 18: case 9: case 31:
+ $series_type[$key] = 'boolean';
+ break;
+ default:
+ $series_type[$key] = 'area';
+ break;
+ }
+ }
+ elseif(strpos($key, 'event') !== false){
+ $series_type[$key] = 'points';
+ }
+ elseif(strpos($key, 'alert') !== false){
+ $series_type[$key] = 'points';
+ }
+ elseif(strpos($key, 'unknown') !== false){
+ $series_type[$key] = 'unknown';
+ }
+ elseif(strpos($key, 'percentil') !== false){
+ $series_type[$key] = 'percentil';
+ }
+ else{
+ $series_type[$key] = 'area';
+ }
}
- $series_type['percentil' . $series_suffix] = 'percentil';
+ return $series_type;
}
?>
diff --git a/pandora_console/include/functions_custom_graphs.php b/pandora_console/include/functions_custom_graphs.php
index 83ffb6e290..9ca67f5ca2 100644
--- a/pandora_console/include/functions_custom_graphs.php
+++ b/pandora_console/include/functions_custom_graphs.php
@@ -238,7 +238,8 @@ function custom_graphs_print($id_graph, $height, $width, $period,
$homeurl = ui_get_full_url(false, false, false, false);
}
- $output = graphic_combined_module($modules,
+ $output = graphic_combined_module(
+ $modules,
$weights,
$period,
$width,
@@ -271,7 +272,8 @@ function custom_graphs_print($id_graph, $height, $width, $period,
$fullscale,
$summatory,
$average,
- $modules_series);
+ $modules_series
+ );
if ($return)
return $output;
diff --git a/pandora_console/include/functions_graph.php b/pandora_console/include/functions_graph.php
index fdafb3afab..5333a1801f 100644
--- a/pandora_console/include/functions_graph.php
+++ b/pandora_console/include/functions_graph.php
@@ -331,6 +331,8 @@ function grafico_modulo_sparse_data_chart (
$array_data["sum" . $series_suffix]['max'] = $max_value;
$array_data["sum" . $series_suffix]['avg'] = $sum_data/$count_data;
+ $array_data["sum" . $series_suffix]['id_module_type'] = $data_module_graph['id_module_type'];
+
if (!is_null($show_elements_graph['percentil']) &&
$show_elements_graph['percentil'] &&
!$show_elements_graph['flag_overlapped']) {
@@ -354,11 +356,10 @@ function grafico_modulo_sparse_data(
$series_suffix, $str_series_suffix) {
global $config;
- global $array_data;
+ //global $array_data;
global $caption;
global $color;
global $legend;
- global $series_type;
global $array_events_alerts;
if($show_elements_graph['fullscale']){
@@ -465,23 +466,6 @@ function grafico_modulo_sparse_data(
}
}
-//XXXX que hacer con baseline
- /*
- // Get baseline data
- $baseline_data = array();
- if ($baseline) {
- $baseline_data = array ();
- if ($baseline == 1) {
- $baseline_data = enterprise_hook(
- 'reporting_enterprise_get_baseline',
- array ($agent_module_id, $period, $width, $height , $title, $unit_name, $date));
- if ($baseline_data === ENTERPRISE_NOT_HOOK) {
- $baseline_data = array ();
- }
- }
- }
- */
-
if ($show_elements_graph['show_events'] ||
$show_elements_graph['show_alerts'] ) {
@@ -603,13 +587,9 @@ function grafico_modulo_sparse_data(
$data_module_graph
);
- series_type_graph_array(
- $series_suffix,
- $data_module_graph
- );
-
$array_events_alerts[$series_suffix] = $events;
+ return $array_data;
}
function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
@@ -621,22 +601,23 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
$menu = true, $backgroundColor = 'white', $percentil = null,
$dashboard = false, $vconsole = false, $type_graph = 'area', $fullscale = false,
$id_widget_dashboard = false,$force_interval = 0,$time_interval = 300,
- $max_only = 0, $min_only = 0) {
+ $max_only = 0, $min_only = 0, $array_data_create = 0) {
global $config;
+
+
global $graphic_type;
- global $array_data;
+ //global $array_data;
global $caption;
global $color;
global $legend;
- global $series_type;
global $array_events_alerts;
+
$array_data = array();
$caption = array();
$color = array();
$legend = array();
- $series_type = array();
$array_events_alerts = array();
@@ -735,58 +716,66 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
$type_graph = $config['type_module_charts'];
- if ($show_elements_graph['compare'] !== false) {
- $series_suffix = 2;
- $series_suffix_str = ' (' . __('Previous') . ')';
+ if(!$array_data_create){
+ if ($show_elements_graph['compare'] !== false) {
+ $series_suffix = 2;
+ $series_suffix_str = ' (' . __('Previous') . ')';
- $date_array_prev['final_date'] = $date_array['start_date'];
- $date_array_prev['start_date'] = $date_array['start_date'] - $date_array['period'];
- $date_array_prev['period'] = $date_array['period'];
+ $date_array_prev['final_date'] = $date_array['start_date'];
+ $date_array_prev['start_date'] = $date_array['start_date'] - $date_array['period'];
+ $date_array_prev['period'] = $date_array['period'];
- if ($show_elements_graph['compare'] === 'overlapped') {
- $show_elements_graph['flag_overlapped'] = 1;
- }
- else{
- $show_elements_graph['flag_overlapped'] = 0;
+ if ($show_elements_graph['compare'] === 'overlapped') {
+ $show_elements_graph['flag_overlapped'] = 1;
+ }
+ else{
+ $show_elements_graph['flag_overlapped'] = 0;
+ }
+
+ $array_data = grafico_modulo_sparse_data(
+ $agent_module_id, $date_array_prev,
+ $data_module_graph, $show_elements_graph,
+ $format_graph, $exception_interval_graph,
+ $series_suffix, $series_suffix_str
+ );
+
+ switch ($show_elements_graph['compare']) {
+ case 'separated':
+ case 'overlapped':
+ // Store the chart calculated
+ $array_data_prev = $array_data;
+ $legend_prev = $legend;
+ $color_prev = $color;
+ $caption_prev = $caption;
+ break;
+ }
}
- grafico_modulo_sparse_data(
- $agent_module_id, $date_array_prev,
+ $series_suffix = 1;
+ $series_suffix_str = '';
+ $show_elements_graph['flag_overlapped'] = 0;
+
+ $array_data = grafico_modulo_sparse_data(
+ $agent_module_id, $date_array,
$data_module_graph, $show_elements_graph,
$format_graph, $exception_interval_graph,
- $series_suffix, $series_suffix_str
+ $series_suffix, $str_series_suffix
);
- switch ($show_elements_graph['compare']) {
- case 'separated':
- case 'overlapped':
- // Store the chart calculated
- $array_data_prev = $array_data;
- $legend_prev = $legend;
- $series_type_prev = $series_type;
- $color_prev = $color;
- $caption_prev = $caption;
- break;
+ if($show_elements_graph['compare']){
+ if ($show_elements_graph['compare'] === 'overlapped') {
+ $array_data = array_merge($array_data, $array_data_prev);
+ $legend = array_merge($legend, $legend_prev);
+ $color = array_merge($color, $color_prev);
+ }
}
}
+ else{
+ $array_data = $array_data_create;
+ }
- $series_suffix = 1;
- $series_suffix_str = '';
- $show_elements_graph['flag_overlapped'] = 0;
-
- grafico_modulo_sparse_data(
- $agent_module_id, $date_array,
- $data_module_graph, $show_elements_graph,
- $format_graph, $exception_interval_graph,
- $series_suffix, $str_series_suffix
- );
-
- if($show_elements_graph['compare']){
- if ($show_elements_graph['compare'] === 'overlapped') {
- $array_data = array_merge($array_data, $array_data_prev);
- $legend = array_merge($legend, $legend_prev);
- $color = array_merge($color, $color_prev);
- }
+ if($show_elements_graph['return_data']){
+ return $array_data;
}
//XXX
@@ -801,6 +790,10 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
)
);
+ $series_type = series_type_graph_array(
+ $array_data
+ );
+
//esto la sparse
//setup_watermark($water_mark, $water_mark_file, $water_mark_url);
@@ -829,6 +822,11 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
}
$return .= '
';
if (!empty($array_data_prev)) {
+
+ $series_type = series_type_graph_array(
+ $array_data_prev
+ );
+
$return .= area_graph(
$agent_module_id,
$array_data_prev,
@@ -871,176 +869,6 @@ function grafico_modulo_sparse ($agent_module_id, $period, $show_events,
}
return $return;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//de aki al final eliminar;
-
- enterprise_include_once("include/functions_reporting.php");
-
- global $chart;
- global $color;
- global $color_prev;
- global $legend;
- global $long_index;
- global $series_type;
- global $chart_extra_data;
- global $warning_min;
- global $critical_min;
-
- $series_suffix_str = '';
- if ($compare !== false) {
- $series_suffix = '2';
- $series_suffix_str = ' (' . __('Previous') . ')';
- // Build the data of the previous period
-
- grafico_modulo_sparse_data ($agent_module_id, $period,
- $show_events, $width, $height, $title, $unit_name,
- $show_alerts, $avg_only, $date-$period, $unit, $baseline,
- $return_data, $show_title, $projection, $adapt_key,
- $compare, $series_suffix, $series_suffix_str,
- $show_unknown, $percentil, $dashboard, $vconsole,$type_graph,
- $fullscale, $flash_chart,$force_interval,$time_interval,$max_only,$min_only);
-
- switch ($compare) {
- case 'separated':
- // Store the chart calculated
- $chart_prev = $chart;
- $legend_prev = $legend;
- $long_index_prev = $long_index;
- $series_type_prev = $series_type;
- $color_prev = $color;
- break;
- case 'overlapped':
- // Store the chart calculated deleting index,
- // because will be over the current period
- $chart_prev = $chart;
- $legend_prev = $legend;
- $series_type_prev = $series_type;
- $color_prev = $color;
- foreach($color_prev as $k => $col) {
- $color_prev[$k]['color'] = '#' .
- get_complementary_rgb($color_prev[$k]['color']);
- }
- break;
- }
- }
-
- // Build the data of the current period
- $data_returned = grafico_modulo_sparse_data ($agent_module_id,
- $period, $show_events,
- $width, $height , $title, $unit_name,
- $show_alerts, $avg_only,
- $date, $unit, $baseline, $return_data, $show_title,
- $projection, $adapt_key, $compare, '', '', $show_unknown,
- $percentil, $dashboard, $vconsole, $type_graph, $fullscale,$flash_chart,
- $force_interval,$time_interval,$max_only,$min_only);
-
- if ($return_data) {
- return $data_returned;
- }
- if ($compare === 'overlapped') {
- /*
- $i = 0;
- foreach ($chart as $k=>$v) {
- if (!isset($chart_prev[$i])) {
- continue;
- }
- $chart[$k] = array_merge($v,$chart_prev[$i]);
- $i++;
- }
- */
- foreach ($chart_prev as $k => $v) {
- $chart[$k+$period]['sum2'] = $v['sum2'];
- //unset($chart[$k]);
- }
-
- /*
- $chart["1517834070"]["sum2"] = "5";
- $chart["1517834075"]["sum2"] = "6";
- $chart["1517834080"]["sum2"] = "7";
- $chart["1517834085"]["sum2"] = "8";
-
- $chart["1517834088"]["sum2"] = "3";
- */
- ksort($chart);
-
- $legend = array_merge($legend, $legend_prev);
- $color = array_merge($color, $color_prev);
- }
-
- if ($only_image) {
- $flash_chart = false;
- }
- if($config["fixed_graph"] == false){
- $water_mark = array('file' =>
- $config['homedir'] . "/images/logo_vertical_water.png",
- 'url' => ui_get_full_url("images/logo_vertical_water.png", false, false, false));
- }
-
- if ($type_graph === 'area') {
- if ($compare === 'separated') {
- return
- area_graph($flash_chart, $chart, $width, $height/2, $color,
- $legend, $long_index,
- ui_get_full_url("images/image_problem_area_small.png", false, false, false),
- $title, $unit, $homeurl, $water_mark, $config['fontpath'],
- $config['font_size'], $unit, $ttl, $series_type,
- $chart_extra_data, $warning_min, $critical_min,
- $adapt_key, false, $series_suffix_str, $menu,
- $backgroundColor).
- '
'.
- area_graph($flash_chart, $chart_prev, $width, $height/2,
- $color_prev, $legend_prev, $long_index_prev,
- ui_get_full_url("images/image_problem_area_small.png", false, false, false),
- $title, $unit, $homeurl, $water_mark, $config['fontpath'],
- $config['font_size'], $unit, $ttl, $series_type_prev,
- $chart_extra_data, $warning_min, $critical_min,
- $adapt_key, false, $series_suffix_str, $menu,
- $backgroundColor);
- }
- else {
- // Color commented not to restrict serie colors
- if($id_widget_dashboard){
- $opcion = unserialize(db_get_value_filter('options','twidget_dashboard',array('id' => $id_widget_dashboard)));
- $color['min']['color'] = $opcion['min'];
- $color['sum']['color'] = $opcion['avg'];
- $color['max']['color'] = $opcion['max'];
- }
-
- return
- area_graph($flash_chart, $chart, $width, $height, $color,
- $legend, $long_index,
- ui_get_full_url("images/image_problem_area_small.png", false, false, false),
- $title, $unit, $homeurl, $water_mark, $config['fontpath'],
- $config['font_size'], $unit, $ttl, $series_type,
- $chart_extra_data, $warning_min, $critical_min,
- $adapt_key, false, $series_suffix_str, $menu,
- $backgroundColor, $dashboard, $vconsole, $agent_module_id);
- }
- }
- elseif ($type_graph === 'line') {
-
- }
}
function graph_get_formatted_date($timestamp, $format1, $format2) {
@@ -1124,7 +952,6 @@ function graphic_combined_module (
global $config;
global $graphic_type;
global $legend;
- global $series_type;
$legend = array();
$caption = array();
@@ -1149,11 +976,11 @@ function graphic_combined_module (
$average
$modules_series
*/
-
+/*
html_debug_print($name_list);
html_debug_print($unit_list);
html_debug_print($from_interface);
-
+*/
$date_array = array();
$date_array["period"] = $period;
$date_array["final_date"] = $date;
@@ -1182,14 +1009,14 @@ html_debug_print($from_interface);
$show_elements_graph['pure'] = $pure;
$show_elements_graph['baseline'] = false; //dont use
$show_elements_graph['only_image'] = $only_image;
- $show_elements_graph['return_data'] = true; //dont use
+ $show_elements_graph['return_data'] = false; //dont use
$show_elements_graph['id_widget'] = $id_widget_dashboard;
$show_elements_graph['labels'] = $labels;
$show_elements_graph['stacked'] = $stacked;
$format_graph = array();
- $format_graph['width'] = $width . "px";
- $format_graph['height'] = $height;
+ $format_graph['width'] = "90%";
+ $format_graph['height'] = "450";
$format_graph['type_graph'] = ''; //dont use
$format_graph['unit_name'] = $unit_name;
$format_graph['unit'] = ''; //dont use
@@ -1292,11 +1119,6 @@ html_debug_print($from_interface);
$data_module_graph
);
- series_type_graph_array(
- $series_suffix,
- $data_module_graph
- );
-
if($config["fixed_graph"] == false){
$water_mark = array(
'file' => $config['homedir'] . "/images/logo_vertical_water.png",
@@ -1310,6 +1132,10 @@ html_debug_print($from_interface);
$i++;
}
+ $series_type = series_type_graph_array(
+ $array_data
+ );
+
if ($flash_charts === false && $stacked == CUSTOM_GRAPH_GAUGE)
$stacked = CUSTOM_GRAPH_BULLET_CHART;
@@ -1644,10 +1470,6 @@ html_debug_print($from_interface);
$module_name_list = array();
$collector = 0;
-
-
-
-
// Added to support projection graphs
if ($projection != false and $i != 0) {
$projection_data = array();
@@ -1677,6 +1499,9 @@ html_debug_print($from_interface);
// $temp = array();
+ $graph_values = $temp;
+
+
//Set graph color
$threshold_data = array();
@@ -1791,129 +1616,100 @@ html_debug_print($from_interface);
//summatory and average series
if($stacked == CUSTOM_GRAPH_AREA || $stacked == CUSTOM_GRAPH_LINE) {
- //Fix pdf label
- $static_pdf = strpos($module_name_list[0], ' $value) {
+ if(strpos($key, 'sum') !== false){
+ $data_array_reverse[$key] = array_reverse($value['data']);
+ if(!$modules_series) {
+ unset($array_data[$key]);
+ unset($legend[$key]);
+ unset($series_type[$key]);
+ }
+ }
+ }
- 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(isset($data_array_reverse) && is_array($data_array_reverse)){
+ $array_sum_reverse = array();
+ $data_array_prev = false;
+ $data_array_pop = array();
+ $count = 0;
+
+ while(count($data_array_reverse['sum0']) > 0){
+ foreach ($data_array_reverse as $key_reverse => $value_reverse) {
+ if(is_array($value_reverse) && count($value_reverse) > 0){
+ $data_array_pop[$key_reverse] = array_pop($data_array_reverse[$key_reverse]);
+ }
+ }
+
+ if(isset($data_array_pop) && is_array($data_array_pop)){
+ $acum_data = 0;
+ $acum_array = array();
+ $sum_data = 0;
+ $count_pop = 0;
+ foreach ($data_array_pop as $key_pop => $value_pop) {
+ if( $value_pop[0] > $acum_data ){
+ if($acum_data != 0){
+ $sum_data = $sum_data + $data_array_prev[$key_pop][1];
+ $data_array_reverse[$key_pop][] = $value_pop;
+ $data_array_prev[$acum_key] = $acum_array;
+ }
+ else{
+ if($data_array_prev[$key_pop] == false){
+ $data_array_prev[$key_pop] = $value_pop;
+ }
+ $acum_key = $key_pop;
+ $acum_data = $value_pop[0];
+ $acum_array = $value_pop;
+ $sum_data = $value_pop[1];
+ }
+ }
+ elseif($value_pop[0] < $acum_data){
+ $sum_data = $sum_data + $data_array_prev[$key_pop][1];
+ $data_array_reverse[$acum_key][] = $acum_array;
+ $data_array_prev[$key_pop] = $value_pop;
+ $acum_key = $key_pop;
+ $acum_data = $value_pop[0];
+ $acum_array = $value_pop;
+ }
+ elseif($value_pop[0] == $acum_data){
+ $data_array_prev[$key_pop] = $value_pop;
+ $sum_data += $value_pop[1];
+ }
+ $count_pop++;
+ }
+ if($summatory){
+ $array_sum_reverse[$count][0] = $acum_data;
+ $array_sum_reverse[$count][1] = $sum_data;
+ }
+ if($average){
+ $array_avg_reverse[$count][0] = $acum_data;
+ $array_avg_reverse[$count][1] = $sum_data / $count_pop;
+ }
+ }
+ $count++;
+ }
}
}
- if(!$modules_series) {
- if(empty($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));
- }
- if($static_pdf === 0) {
- array_unshift($module_name_list,'' . __('summatory'). '');
- array_unshift($module_name_list,'' . __('average'). '');
- } else {
- array_unshift($module_name_list, __('summatory'));
- array_unshift($module_name_list, __('average'));
- }
-
- } else {
- if(empty($percentil)) {
- if($static_pdf === 0) {
- array_push($module_name_list,'' . __('summatory'). '');
- array_push($module_name_list,'' . __('average'). '');
- } else {
- array_push($module_name_list, __('summatory'));
- array_push($module_name_list, __('average'));
- }
- } else {
- if($static_pdf === 0) {
- array_splice($module_name_list,(count($module_name_list)/2),0,'' . __('average'). '');
- array_splice($module_name_list,(count($module_name_list)/2),0,'' . __('summatory'). '');
- } else {
- array_splice($module_name_list,(count($module_name_list)/2),0, __('average'));
- array_splice($module_name_list,(count($module_name_list)/2),0,__('summatory'));
- }
- }
- }
- } 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);
- }
+//XXXXX color,type,title, opacity
+ if(isset($array_sum_reverse) && is_array($array_sum_reverse)){
+ $array_data['sumatory']['data'] = $array_sum_reverse;
+ $array_data['sumatory']['color'] = 'purple';
+ $legend['sumatory'] = __('Summatory');
+ $series_type['sumatory'] = 'area';
}
- if(!$modules_series) {
- if(empty($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));
- }
- if($static_pdf === 0) {
- array_unshift($module_name_list,'' . __('summatory'). '');
- } else {
- array_unshift($module_name_list, __('summatory'));
- }
- } else {
- if(empty($percentil)) {
- if($static_pdf === 0) {
- array_push($module_name_list,'' . __('summatory'). '');
- } else {
- array_push($module_name_list,__('summatory'));
- }
- } else {
- if($static_pdf === 0) {
- array_splice($module_name_list,(count($module_name_list)/2),0,'' . __('summatory'). '');
- } else {
- array_splice($module_name_list,(count($module_name_list)/2),0,__('summatory'));
- }
- }
- }
- } 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(empty($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));
- }
- if($static_pdf === 0) {
- array_unshift($module_name_list,'' . __('average'). '');
- } else {
- array_unshift($module_name_list,__('average'));
- }
- } else {
- if(empty($percentil)) {
- if($static_pdf === 0) {
- array_push($module_name_list,'' . __('average'). '');
- } else {
- array_push($module_name_list,__('average'));
- }
- } else {
- if($static_pdf === 0) {
- array_splice($module_name_list,(count($module_name_list)/2),0,'' . __('average'). '');
- } else {
- array_splice($module_name_list,(count($module_name_list)/2),0,__('average'));
- }
- }
+ if(isset($array_avg_reverse) && is_array($array_avg_reverse)){
+ $array_data['sum_avg']['data'] = $array_avg_reverse;
+ $array_data['sum_avg']['color'] = 'orange';
+ $legend['sum_avg'] = __('AVG');
+ $series_type['sum_avg'] = 'area';
}
+
}
}
- $graph_values = $temp;
-
switch ($stacked) {
default:
case CUSTOM_GRAPH_STACKED_LINE:
@@ -1963,6 +1759,108 @@ html_debug_print($from_interface);
}
}
+function combined_graph_summatory_average ($array_data){
+ if(isset($array_data) && is_array($array_data)){
+ foreach ($array_data as $key => $value) {
+ if(strpos($key, 'sum') !== false){
+ $data_array_reverse[$key] = array_reverse($value['data']);
+ /*
+ if(!$modules_series) {
+ unset($array_data[$key]);
+ unset($legend[$key]);
+ unset($series_type[$key]);
+ }
+ */
+ }
+ }
+
+ if(isset($data_array_reverse) && is_array($data_array_reverse)){
+ $array_sum_reverse = array();
+ $array_avg_reverse = array();
+ $data_array_prev = false;
+ $data_array_pop = array();
+ $count = 0;
+
+ while(count($data_array_reverse['sum0']) > 0){
+ foreach ($data_array_reverse as $key_reverse => $value_reverse) {
+ if(is_array($value_reverse) && count($value_reverse) > 0){
+ $data_array_pop[$key_reverse] = array_pop($data_array_reverse[$key_reverse]);
+ }
+ }
+
+ if(isset($data_array_pop) && is_array($data_array_pop)){
+ $acum_data = 0;
+ $acum_array = array();
+ $sum_data = 0;
+ $count_pop = 0;
+ foreach ($data_array_pop as $key_pop => $value_pop) {
+ if( $value_pop[0] > $acum_data ){
+ if($acum_data != 0){
+ $sum_data = $sum_data + $data_array_prev[$key_pop][1];
+ $data_array_reverse[$key_pop][] = $value_pop;
+ $data_array_prev[$acum_key] = $acum_array;
+ }
+ else{
+ if($data_array_prev[$key_pop] == false){
+ $data_array_prev[$key_pop] = $value_pop;
+ }
+ $acum_key = $key_pop;
+ $acum_data = $value_pop[0];
+ $acum_array = $value_pop;
+ $sum_data = $value_pop[1];
+ }
+ }
+ elseif($value_pop[0] < $acum_data){
+ $sum_data = $sum_data + $data_array_prev[$key_pop][1];
+ $data_array_reverse[$acum_key][] = $acum_array;
+ $data_array_prev[$key_pop] = $value_pop;
+ $acum_key = $key_pop;
+ $acum_data = $value_pop[0];
+ $acum_array = $value_pop;
+ }
+ elseif($value_pop[0] == $acum_data){
+ $data_array_prev[$key_pop] = $value_pop;
+ $sum_data += $value_pop[1];
+ }
+ $count_pop++;
+ }
+ // if($summatory){
+ // $array_sum_reverse[$count][0] = $acum_data;
+ // $array_sum_reverse[$count][1] = $sum_data;
+ // }
+ // if($average){
+ $array_avg_reverse[$count][0] = $acum_data;
+ $array_avg_reverse[$count][1] = $sum_data / $count_pop;
+ // }
+ }
+ $count++;
+ }
+ }
+ return $array_avg_reverse;
+ }
+ else{
+ return false;
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
/**
* Print a graph with access data of agents
*
diff --git a/pandora_console/include/functions_reporting.php b/pandora_console/include/functions_reporting.php
index 2a3fc52101..f3a6766835 100755
--- a/pandora_console/include/functions_reporting.php
+++ b/pandora_console/include/functions_reporting.php
@@ -3479,75 +3479,108 @@ function reporting_simple_baseline_graph($report, $content,
$force_height_chart = null) {
global $config;
-
+
if ($config['metaconsole']) {
$id_meta = metaconsole_get_id_server($content["server_name"]);
-
-
$server = metaconsole_get_connection_by_id ($id_meta);
metaconsole_connect($server);
}
-
+
$return['type'] = 'simple_baseline_graph';
-
+
if (empty($content['name'])) {
$content['name'] = __('Simple baseline graph');
}
-
+
$module_name = io_safe_output(
modules_get_agentmodule_name($content['id_agent_module']));
$agent_name = io_safe_output(
modules_get_agentmodule_agent_alias ($content['id_agent_module']));
-
+
$return['title'] = $content['name'];
$return['subtitle'] = $agent_name . " - " . $module_name;
$return["description"] = $content["description"];
$return["date"] = reporting_get_date_text($report, $content);
$return['label'] = (isset($content['style']['label'])) ? $content['style']['label'] : '';
-
+
// Get chart
reporting_set_conf_charts($width, $height, $only_image, $type,
$content, $ttl);
-
+
if (!empty($force_width_chart)) {
$width = $force_width_chart;
}
-
+
if (!empty($force_height_chart)) {
$height = $force_height_chart;
}
-
+
+//XXXXXXXX
+ $width = '90%';
+ $height = 300;
+
+ $baseline_data = enterprise_hook(
+ 'reporting_enterprise_get_baseline',
+ array (
+ $content['id_agent_module'],
+ $content['period'],
+ $report["datetime"]
+ )
+ );
+
+ if ($baseline_data === ENTERPRISE_NOT_HOOK) {
+ $baseline_data = array ();
+ }
+
switch ($type) {
case 'dinamic':
case 'static':
- $return['chart'] = grafico_modulo_sparse(
+ $return['chart'] = grafico_modulo_sparse (
$content['id_agent_module'],
$content['period'],
false,
$width,
$height,
'',
- '',
+ null,
+ false,
+ 0,
false,
- true,
- true,
$report["datetime"],
'',
- true,
+ 0,
0,
true,
$only_image,
ui_get_full_url(false, false, false, false),
- $ttl);
+ $ttl,
+ false,
+ '',
+ false,
+ false,
+ true,
+ 'white',
+ null,
+ false,
+ false,
+ 'area',
+ false,
+ false,
+ 0,
+ 300,
+ 0,
+ 0,
+ $baseline_data
+ );
break;
case 'data':
break;
}
-
+
if ($config['metaconsole']) {
metaconsole_restore_db();
}
-
+
return reporting_check_structure_content($return);
}
diff --git a/pandora_console/include/graphs/fgraph.php b/pandora_console/include/graphs/fgraph.php
index a708a29263..425dda50c1 100644
--- a/pandora_console/include/graphs/fgraph.php
+++ b/pandora_console/include/graphs/fgraph.php
@@ -230,7 +230,6 @@ function area_graph(
global $config;
include_once('functions_flot.php');
-
if ($config['flash_charts']) {
return flot_area_graph(
$agent_module_id,
diff --git a/pandora_console/include/graphs/flot/pandora.flot.js b/pandora_console/include/graphs/flot/pandora.flot.js
index 88df07cd3b..af44d4907a 100644
--- a/pandora_console/include/graphs/flot/pandora.flot.js
+++ b/pandora_console/include/graphs/flot/pandora.flot.js
@@ -1558,28 +1558,33 @@ function pandoraFlotArea(
break;
}
- data_base.push({
- id: 'serie_' + i,
- data: value.data,
- label: index + series_suffix_str,
- color: value.color,
- lines: {
- show: line_show,
- fill: filled,
- lineWidth: lineWidth,
- steps: steps_chart
- },
- points: {
- show: points_show,
- radius: 3,
- fillColor: fill_points
- }
- });
-
- i++;
+ //in graph stacked unset percentil
+ if( ! ( (type == 1) && ( /percentil/.test(index) ) == true ) &&
+ ! ( (type == 3) && ( /percentil/.test(index) ) == true ) ){
+ data_base.push({
+ id: 'serie_' + i,
+ data: value.data,
+ label: index + series_suffix_str,
+ color: value.color,
+ lines: {
+ show: line_show,
+ fill: filled,
+ lineWidth: lineWidth,
+ steps: steps_chart
+ },
+ points: {
+ show: points_show,
+ radius: 3,
+ fillColor: fill_points
+ }
+ });
+ }
}
+ i++;
});
+ console.log(data_base);
+
// The first execution, the graph data is the base data
datas = data_base;
font_size = 8;
@@ -2120,6 +2125,7 @@ function pandoraFlotArea(
}
// Get only two decimals
+ //XXXXXXXXXX
formatted = round_with_decimals(formatted, 100)
return ''+formatted+'
';
}
diff --git a/pandora_console/operation/agentes/stat_win.php b/pandora_console/operation/agentes/stat_win.php
index a2c92376ed..6d4527aedf 100644
--- a/pandora_console/operation/agentes/stat_win.php
+++ b/pandora_console/operation/agentes/stat_win.php
@@ -505,4 +505,4 @@ ui_include_time_picker(true);
$(window).resize(function() {
$("#field_list").css('height', ($(window).height() - 160) + 'px');
});
-
\ No newline at end of file
+