1<?php
2
3/**
4 * Observium Network Management and Monitoring System
5 * Copyright (C) 2006-2015, Adam Armstrong - http://www.observium.org
6 *
7 * @package    observium
8 * @subpackage webui
9 * @author     Adam Armstrong <adama@observium.org>
10 * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
11 *
12 */
13
14$graph_type = "mempool_usage";
15
16$sql  = "SELECT *, `mempools`.mempool_id as mempool_id";
17$sql .= " FROM  `mempools`";
18//$sql .= " LEFT JOIN  `mempools-state` USING(`mempool_id`)";
19$sql .= " WHERE `device_id` = ?";
20
21$mempools = dbFetchRows($sql, array($device['device_id']));
22
23if (count($mempools))
24{
25  $box_args = array('title' => 'Memory',
26                    'url' => generate_url(array('page' => 'device', 'device' => $device['device_id'], 'tab' => 'health', 'metric' => 'mempool')),
27                    'icon' => $config['icon']['mempool'],
28                    );
29  echo generate_box_open($box_args);
30
31  echo('<table class="table table-condensed table-striped">');
32
33  foreach ($mempools as $mempool)
34  {
35    $percent= round($mempool['mempool_perc'], 0);
36    $text_descr = rewrite_entity_name($mempool['mempool_descr']);
37    if ($mempool['mempool_total'] != '100')
38    {
39      $total = formatStorage($mempool['mempool_total']);
40      $used  = formatStorage($mempool['mempool_used']);
41      $free  = formatStorage($mempool['mempool_free']);
42    } else {
43      // If total == 100, than memory not have correct size and uses percents only
44      $total = $mempool['mempool_total'].'%';
45      $used  = $mempool['mempool_used'].'%';
46      $free  = $mempool['mempool_free'].'%';
47    }
48
49    $background = get_percentage_colours($percent);
50
51    $graph_array           = array();
52    $graph_array['height'] = "100";
53    $graph_array['width']  = "210";
54    $graph_array['to']     = $config['time']['now'];
55    $graph_array['id']     = $mempool['mempool_id'];
56    $graph_array['type']   = $graph_type;
57    $graph_array['from']   = $config['time']['day'];
58    $graph_array['legend'] = "no";
59
60    $link_array = $graph_array;
61    $link_array['page'] = "graphs";
62    unset($link_array['height'], $link_array['width'], $link_array['legend']);
63    $link = generate_url($link_array);
64
65    $overlib_content = generate_overlib_content($graph_array, $device['hostname'] . " - " . $text_descr);
66
67    $graph_array['width'] = 80; $graph_array['height'] = 20; $graph_array['bg'] = 'ffffff00';
68//    $graph_array['style'][] = 'margin-top: -6px';
69
70    $minigraph =  generate_graph_tag($graph_array);
71
72    echo('<tr class="'.$background['class'].'">
73           <td class="state-marker"></td>
74           <td class="entity" style="max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"><strong>'.generate_entity_link('mempool', $mempool).'</strong></td>
75           <td style="width: 90px">'.overlib_link($link, $minigraph, $overlib_content).'</td>
76           <td style="width: 200px">'.overlib_link($link, print_percentage_bar (200, 20, $percent, $used."/".$total." (".$percent . "%)", "ffffff", $background['left'],
77                                                   $free . " (" . (100 - $percent) . "%)", "ffffff", $background['right']), $overlib_content).'</td>
78         </tr>');
79  }
80
81  echo("</table>");
82  echo generate_box_close();
83}
84
85// EOF
86