#!/usr/bin/php
<?php
/**
 * Bukkit RAM usage Munin plugin
 * ---------------------------------
 *
 * Shows the current RAM usage of your Minecraft process
 * an the total RAM (parsed via JSONAPI)
 *
 * Read more about my plugins on my blog:
 * http://s.frd.mn/XJsryR
 *
 * Author: Jonas Friedmann (http://frd.mn)
 * GitHub: https://github.com/yeahwhat-mc/munin-bukkit-plugins
 * 
 */

/**
 * JSONAPI configuration
 */

$hostname = 'your-hostname';
$username = 'your-username';
$password = 'your-password';
$salt     = 'your-salt';
$port     = 20059;

/**
 * !!! DO NOT EDIT THIS PART BELOW !!!
 */

if ((count($argv) > 1) && ($argv[1] == 'config'))
{
print("graph_title Bukkit / JSONAPI - RAM usage
graph_category games
graph_vlabel RAM usage in GB
graph_args --base 1024 -l 0
total.label total
total.type GAUGE
used.label used
used.type GAUGE
");
exit();
}

// Include JSONAPI.php SDK (get this file here: https://github.com/alecgorge/jsonapi/raw/master/sdk/php/JSONAPI.php)
require('/var/cache/munin/JSONAPI.php');

// Prepare API call
$api = new JSONAPI($hostname, $port, $username, $password, $salt);
$result = $api->callMultiple(array(
  "system.getJavaMemoryUsage",
  "system.getJavaMemoryTotal"
  ), array(
  array(),
  array(),
));

// Check for success
if ($result['result'] == 'success'){
  // Print values
  print('used.value ' . round($result['success'][0]['success']/1000,2) . "\n");
  print('total.value ' . round($result['success'][1]['success']/1000,2) . "\n");
}
?>
