$extrahead = ''; $extrahead .= '<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../js/flot/excanvas.js"></script><![endif]-->'; $extrahead .= '<script language="javascript" type="text/javascript" src="../js/flot/jquery.js"></script>'; $extrahead .= '<script language="javascript" type="text/javascript" src="../js/flot/jquery.flot.js"></script>'; $extrahead .= '<script language="javascript" type="text/javascript" src="../js/flot/jquery.flot.time.js"></script>'; $extrahead .= '<script language="javascript" type="text/javascript" src="../js/flot/jquery.flot.selection.js"></script>'; $extrahead .= '<script language="javascript" type="text/javascript" src="../js/flot/jquery.flot.tooltip.js"></script>'; $extrahead .= '<script language="javascript" type="text/javascript" src="../js/flot/jquery.flot.byte.js"></script>'; $title = "Server Metrics"; require LIBWWWDIR . '/header.php'; requireAdmin(); echo "<h1>{$title}</h1>\n\n"; echo "<p>Metrics for the past 6 hours(averaged over 5minute intervals)</p>"; // Do this if it isn't done(for us it happens in init for the dynamodb session handler) //require(__DIR__ . '/../../../aws_php_sdk/aws-autoloader.php'); $cw = Aws\CloudWatch\CloudWatchClient::factory(array('region' => 'us-east-1', 'version' => '2010-08-01')); $plotnum = 0; function get_metric_data($opts, $namespace, $metric, $metric_type, $unit_type, $dimensions = null) { global $cw, $start_time, $end_time, $period; // http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-monitoring-2010-08-01.html#getmetricstatistics if ($dimensions == null) { $dimensions = []; } else { $dimensions = [$dimensions]; } $datapoints = $cw->getMetricStatistics(['Namespace' => $namespace, 'MetricName' => $metric, 'Period' => $period, 'StartTime' => $start_time, 'EndTime' => $end_time, 'Statistics' => [$metric_type], 'Unit' => $unit_type, 'Dimensions' => $dimensions]); $d = array(); foreach ($datapoints['Datapoints'] as $point) { // Create an array with all results with the timestamp as the key and the statistic as the value $time = strtotime($point['Timestamp'] . " UTC") * 1000;