Files
librenms-librenms/html/includes/graphs/bill/bits.inc.php
Richard Lawley 10829893ec api: Added Billing Graphs & Data (#8245)
* Move Billing/Bandwidth Graphs to common format, extract data generation to central function

* Add API functions to access billing graphs and graph data

* Scrutinizer fixes

* Fix transfer graphs with from/to

* Scrutinizer Fix

* Fix docs, transfer page and missing from API param

* Document and fix reducefactor, Add Graph Stats to Graph Data

* Standardise times in graphdata

* Fixed renamed function for History GraphData
2018-02-20 14:57:56 +00:00

44 lines
1.6 KiB
PHP

<?php
$datefrom = date('YmdHis', $vars['from']);
$dateto = date('YmdHis', $vars['to']);
$rates = getRates($vars['id'], $datefrom, $dateto);
$ports = dbFetchRows('SELECT * FROM `bill_ports` AS B, `ports` AS P, `devices` AS D WHERE B.bill_id = ? AND P.port_id = B.port_id AND D.device_id = P.device_id', array($vars['id']));
// Generate a list of ports and then call the multi_bits grapher to generate from the list
$i = 0;
foreach ($ports as $port) {
$rrd_file = get_port_rrdfile_path($port['hostname'], $port['port_id']);
if (rrdtool_check_rrd_exists($rrd_file)) {
$rrd_list[$i]['filename'] = $rrd_file;
$rrd_list[$i]['descr'] = $port['ifDescr'];
$i++;
}
}
$units = 'bps';
$total_units = 'B';
$colours_in = 'greens';
$multiplier = '8';
$colours_out = 'blues';
$nototal = 1;
$ds_in = 'INOCTETS';
$ds_out = 'OUTOCTETS';
// print_r($rates);
if ($bill['bill_type'] == 'cdr') {
$custom_graph = " COMMENT:'\\r' ";
$custom_graph .= ' HRULE:'.$rates['rate_95th']."#cc0000:'95th %ile \: ".formatRates($rates['rate_95th']).' ('.$rates['dir_95th'].') (CDR\: '.formatRates($bill['bill_cdr']).")'";
$custom_graph .= ' HRULE:'.($rates['rate_95th'] * -1).'#cc0000';
} elseif ($bill['bill_type'] == 'quota') {
$custom_graph = " COMMENT:'\\r' ";
$custom_graph .= ' HRULE:'.$rates['rate_average']."#cc0000:'Usage \: ".format_bytes_billing($rates['total_data']).' ('.formatRates($rates['rate_average']).")'";
$custom_graph .= ' HRULE:'.($rates['rate_average'] * -1).'#cc0000';
}
require 'includes/graphs/generic_multi_bits_separated.inc.php';