pax_global_header00006660000000000000000000000064123043672230014514gustar00rootroot0000000000000052 comment=dd3f5ca81e832716ec7933ba420545db93a97de2 gmetric4j-1.0.6/000077500000000000000000000000001230436722300134105ustar00rootroot00000000000000gmetric4j-1.0.6/.classpath000066400000000000000000000024521230436722300153760ustar00rootroot00000000000000 gmetric4j-1.0.6/.gitignore000066400000000000000000000000521230436722300153750ustar00rootroot00000000000000classes/ gmetric4j.jar /target /.settings gmetric4j-1.0.6/.project000066400000000000000000000010321230436722300150530ustar00rootroot00000000000000 gmetric4j org.eclipse.jdt.core.javabuilder org.eclipse.m2e.core.maven2Builder org.eclipse.m2e.core.maven2Nature org.eclipse.jdt.core.javanature gmetric4j-1.0.6/.travis.yml000066400000000000000000000000601230436722300155150ustar00rootroot00000000000000language: java jdk: - oraclejdk7 - openjdk6 gmetric4j-1.0.6/COPYING000066400000000000000000000025661230436722300144540ustar00rootroot00000000000000Title: gmetric4j Copyright: Copyright (C) 2012 Daniel Pocock Copyright (c) 2008-2011 Jasper Humphrey Based on: jmxetric by Jasper Humphrey (BSD style license) License: BSD terms Copyright (C) 2010-2012 Daniel Pocock Copyright (c) 2008-2011 Jasper Humphrey Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. gmetric4j-1.0.6/README000066400000000000000000000017171230436722300142760ustar00rootroot00000000000000Name gmetric4j - gmetric and gmond functionality in Java Version gmetric4j 1.0.3 The latest version of this software and document will always be found at http://github.com/ganglia/gmetric4j Synopsis gmetric4j is a 100% java, configurable Ganglia agent that periodically polls arbitrary attributes and reports their values to Ganglia. It supports both the v3.1 wire format and the legacy wire format. This code is based on the jmxetric project code. It has been generalized for use in non-JMX situations (e.g. any Java app, Android app, ...). The JMX support could be re-implemented on top of these generalized classes without significant difficulty. The gmetric4j protocol implementation uses classes generated by the LGPL remotetea project (http://remotetea.sf.net). Copyright Copyright (C) 2010-2013 Daniel Pocock Copyright (c) 2008-2011 Jasper Humphrey gmetric4j-1.0.6/build.xml000066400000000000000000000020601230436722300152270ustar00rootroot00000000000000 gmetric4j-1.0.6/pom.xml000066400000000000000000000114131230436722300147250ustar00rootroot00000000000000 4.0.0 info.ganglia.gmetric4j gmetric4j gmetric4j jar 1.0.6 JVM instrumentation to Ganglia http://github.com/ganglia/gmetric4j The MIT License http://www.opensource.org/licenses/mit-license.php repo scm:git:git@github.com:ganglia/gmetric4j.git scm:git:git@github.com:ganglia/gmetric4j.git scm:git:git@github.com:ganglia/gmetric4j.git humphrej Jasper Humphrey jasper521@googlemail.com pocock Daniel Pocock daniel@pocock.com.au junit junit 4.1 jar test org.acplt oncrpc 1.0.7 org.sonatype.oss oss-parent 7 org.apache.maven.plugins maven-compiler-plugin 2.5.1 1.5 1.5 org.apache.maven.plugins maven-jar-plugin 2.4 src/main/resources/META-INF/MANIFEST.MF org.apache.maven.plugins maven-jar-plugin 2.4 test-jar org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-assembly-plugin 2.3 src/main/assembly/bin.xml org.codehaus.mojo findbugs-maven-plugin 2.5.2 org.apache.maven.plugins maven-javadoc-plugin release-sign-artifacts performRelease true org.apache.maven.plugins maven-gpg-plugin 1.4 sign-artifacts verify sign gmetric4j-1.0.6/src/000077500000000000000000000000001230436722300141775ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/000077500000000000000000000000001230436722300151235ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/assembly/000077500000000000000000000000001230436722300167425ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/assembly/bin.xml000066400000000000000000000012151230436722300202330ustar00rootroot00000000000000 bin zip true false etc/* README* LICENSE* NOTICE* COPYING* CHANGES* gmetric4j-1.0.6/src/main/java/000077500000000000000000000000001230436722300160445ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/java/info/000077500000000000000000000000001230436722300167775ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/java/info/ganglia/000077500000000000000000000000001230436722300204015ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/000077500000000000000000000000001230436722300222715ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/CoreSampler.java000066400000000000000000000013441230436722300253520ustar00rootroot00000000000000package info.ganglia.gmetric4j; import info.ganglia.gmetric4j.gmetric.GMetricSlope; import info.ganglia.gmetric4j.gmetric.GMetricType; import info.ganglia.gmetric4j.gmetric.GangliaException; //import java.util.logging.Logger; public class CoreSampler extends GSampler { // private static Logger log = // Logger.getLogger(CoreSampler.class.getName()); public CoreSampler() { super(0, 30, "core"); } public void run() { Publisher gm = getPublisher(); // log.finer("Announcing heartbeat"); try { gm.publish("core", "heartbeat", "0", GMetricType.UINT32, GMetricSlope.ZERO, ""); } catch (GangliaException e) { // log.severe("Exception while sending heartbeat"); e.printStackTrace(); } } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/DefaultGScheduler.java000066400000000000000000000016051230436722300264700ustar00rootroot00000000000000package info.ganglia.gmetric4j; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; public class DefaultGScheduler implements GScheduler { private ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1); boolean daemon = true; private ThreadFactory daemonThreadGroup = new ThreadFactory() { public Thread newThread(Runnable r) { Thread t = new Thread(r); t.setName("Ganglia Sampling Thread"); t.setDaemon(daemon); return t; } }; public DefaultGScheduler() { } public void scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) { executor.scheduleAtFixedRate(command, initialDelay, period, unit); } public void onStart() { executor.setThreadFactory(daemonThreadGroup); } public void onStop() { executor.shutdown(); } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/GMonitor.java000066400000000000000000000046621230436722300247020ustar00rootroot00000000000000package info.ganglia.gmetric4j; import info.ganglia.gmetric4j.gmetric.GMetric; import info.ganglia.gmetric4j.gmetric.GMetric.UDPAddressingMode; import info.ganglia.gmetric4j.gmetric.GMetricPublisher; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; // import java.util.logging.Logger; public class GMonitor { // private static Logger log = // Logger.getLogger(GMonitor.class.getName()); private List samplers = new ArrayList(); private boolean daemon = true ; private GMetric gmetric = null ; private GScheduler scheduler; public GMonitor() { scheduler = new DefaultGScheduler(); } public GMonitor(GScheduler scheduler) { this.scheduler = scheduler; } /** * Starts the sampling */ public void start() { scheduler.onStart(); // log.info("Setting up " + samplers.size() + " samplers"); for (GSampler s : samplers) { scheduler.scheduleAtFixedRate(s, s.getInitialDelay(), s.getDelay(), TimeUnit.SECONDS); } } /** * Stops the sampling of MBeans */ public void stop() { scheduler.onStop(); } /** * Adds a new MBeanSampler to be sampled * @param s the MBeanSampler */ public void addSampler(GSampler s) { samplers.add(s); s.setPublisher( new GMetricPublisher(gmetric)); } /** * Returns the daemon status of the scheduler thread * @return true if the scheduler thread is a daemon */ public boolean isDaemon() { return daemon; } /** * Sets the scheduler daemon thread to be true/false. This only has an * effect before the start method is called. * @param daemon the requested scheduler daemon status */ public void setDaemon(boolean daemon) { this.daemon = daemon; } public GMetric getGmetric() { return gmetric; } public void setGmetric(GMetric gmetric) { this.gmetric = gmetric; } /** * A log running, trivial main method for test purposes * premain method * @param args Not used */ public static void main(String[] args) throws Exception { GMonitor a = null ; try { a = new GMonitor(); a.setGmetric(new GMetric("239.2.11.71", 8649, UDPAddressingMode.MULTICAST, 1)); a.addSampler(new CoreSampler()); a.start(); } catch ( Exception ex ) { //log.severe("Exception starting GMonitor"); ex.printStackTrace(); } while( true ) { Thread.sleep(1000*60*5); System.out.println("Test wakeup"); } } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/GSampler.java000066400000000000000000000021621230436722300246470ustar00rootroot00000000000000package info.ganglia.gmetric4j; public abstract class GSampler implements Runnable { /* * The internal data structure is a hashmap of key=mbean name */ private int delay; private int initialDelay; private Publisher publisher = null; protected String process = null ; /** * Creates a GSampler * @param delay the sample interval in seconds * @param process the process name that is appended to metrics */ public GSampler(int initialDelay, int delay, String process ) { this.initialDelay = initialDelay ; this.delay = delay; this.process = process; } /** * Returns the sample interval * @return the sample interval in seconds */ public int getDelay() { return delay; } /** * Returns the initial delay before sampling begins * @return the delay in seconds */ public int getInitialDelay() { return initialDelay; } public Publisher getPublisher() { return publisher; } public void setPublisher(Publisher publisher) { this.publisher = publisher; } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/GScheduler.java000066400000000000000000000003771230436722300251700ustar00rootroot00000000000000package info.ganglia.gmetric4j; import java.util.concurrent.TimeUnit; public interface GScheduler { public void onStart(); public void onStop(); public void scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit); } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/Publisher.java000066400000000000000000000005751230436722300251000ustar00rootroot00000000000000package info.ganglia.gmetric4j; import info.ganglia.gmetric4j.gmetric.GMetricSlope; import info.ganglia.gmetric4j.gmetric.GMetricType; import info.ganglia.gmetric4j.gmetric.GangliaException; public interface Publisher { void publish( String processName, String attributeName, String value, GMetricType type, GMetricSlope slope, String units ) throws GangliaException; } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/000077500000000000000000000000001230436722300237235ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/AbstractProtocol.java000066400000000000000000000042231230436722300300540ustar00rootroot00000000000000package info.ganglia.gmetric4j.gmetric; import info.ganglia.gmetric4j.gmetric.GMetric.UDPAddressingMode; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.MulticastSocket; // import java.util.logging.Level; // import java.util.logging.Logger; /** * The base implementation for a protocol, does the socket work */ public abstract class AbstractProtocol implements Protocol { protected InetAddress udpAddr = null ; protected int port ; protected String group ; private DatagramSocket socket ; //private static Logger log = // Logger.getLogger(AbstractProtocol.class.getName()); public AbstractProtocol( String group, int port, UDPAddressingMode mode, int ttl ) throws IOException { this.group = group ; this.port = port ; this.udpAddr = InetAddress.getByName( group ) ; if ( mode == UDPAddressingMode.MULTICAST ) { MulticastSocket multicastSocket = new MulticastSocket() ; multicastSocket.setTimeToLive(ttl); this.socket = multicastSocket ; } else { this.socket = new DatagramSocket() ; } } /** * Closes the underlying socket to prevent socket leaks. */ public void close() throws IOException { if (this.socket != null) { this.socket.close(); } } /** * Sends the provided byte buffer * @param buf a buffer containing the message * @param len the num of bytes to send from the buffer * @throws Exception */ protected void send( byte[] buf, int len) throws Exception { DatagramPacket packet = new DatagramPacket( buf, len, udpAddr, port) ; //log.log(Level.FINEST,"Sending message of length " + len); socket.send( packet ) ; } public abstract void announce(String name, String value, GMetricType type, String units, GMetricSlope slope, int tmax, int dmax, String groupName) throws Exception ; /** * @see java.lang.Object#finalize() */ @Override protected void finalize() throws Throwable { // help gc out here a bit to prevent socket leaks close(); } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/GMetric.java000066400000000000000000000171551230436722300261310ustar00rootroot00000000000000package info.ganglia.gmetric4j.gmetric; import java.io.Closeable; import java.io.IOException; import java.net.InetAddress; import java.util.UUID; /** * Implements the Ganglia gmetric command in java */ public class GMetric implements Closeable { public enum UDPAddressingMode { MULTICAST, UNICAST; public static UDPAddressingMode getModeForAddress(String addr) throws IOException { InetAddress _addr = InetAddress.getByName(addr); if (_addr.isMulticastAddress()) return MULTICAST; return UNICAST; } }; private Protocol protocol; /** * Constructs a GMetric * * @param group * the host/group to send the event to * @param port * the port to send the event to * @param mode * the mode * @param ttl * time to live value */ public GMetric(String group, int port, UDPAddressingMode mode, int ttl) throws IOException { this(group, port, mode, ttl, true); } /** * Constructs a GMetric * * @param group * the host/group to send the event to * @param port * the port to send the event to * @param mode * adressing mode to be used (UNICAST/MULTICAST) * @param ttl * time to live value * @param ganglia311 * protocol version true=v3.1, false=v3.0 */ public GMetric(String group, int port, UDPAddressingMode mode, int ttl, boolean ganglia311) throws IOException { this(group, port, mode, ttl, ganglia311, null); } /** * Constructs a GMetric * * @param group * the host/group to send the event to * @param port * the port to send the event to * @param mode * adressing mode to be used (UNICAST/MULTICAST) * @param ttl * time to live value * @param ganglia311 * protocol version true=v3.1, false=v3.0 * @param uuid * uuid for the host */ public GMetric(String group, int port, UDPAddressingMode mode, int ttl, boolean ganglia311, UUID uuid) throws IOException { if (!ganglia311) this.protocol = new Protocolv30x(group, port, mode, ttl); else this.protocol = new Protocolv31x(group, port, mode, ttl, 5, uuid, null); } /** * Constructs a GMetric * * @param group * the host/group to send the event to * @param port * the port to send the event to * @param mode * adressing mode to be used (UNICAST/MULTICAST) * @param ttl * time to live value * @param ganglia311 * protocol version true=v3.1, false=v3.0 * @param uuid * uuid for the host * @param spoof * spoofing information IP:hostname */ public GMetric(String group, int port, UDPAddressingMode mode, int ttl, boolean ganglia311, UUID uuid, String spoof) throws IOException { if (!ganglia311) this.protocol = new Protocolv30x(group, port, mode, ttl); else this.protocol = new Protocolv31x(group, port, mode, ttl, 5, uuid, spoof); } /** * The Ganglia Metric Client (gmetric) announces a metric * * @param name * Name of the metric * @param value * Value of the metric * @param type * Type of the metric. Either * string|int8|uint8|int16|uint16|int32|uint32|float|double * @param units * Unit of measure for the value * @param slope * Either zero|positive|negative|both * @param tmax * The maximum time in seconds between gmetric calls * @param dmax * The lifetime in seconds of this metric * @param group * Group Name of the metric * @throws java.lang.Exception */ public void announce(String name, String value, GMetricType type, String units, GMetricSlope slope, int tmax, int dmax, String group) throws GangliaException { try { protocol.announce(name, value, type, units, slope, tmax, dmax, group); } catch (Exception ex) { throw new GangliaException("Exception announcing metric", ex); } } /** * Announces a metric * * @param name * Name of the metric * @param value * Value of the metric * @param group * Group Name of the metric * @throws ganglia.GangliaException */ public void announce(String name, int value, String group) throws GangliaException { this.announce(name, Integer.toString(value), GMetricType.INT32, "", GMetricSlope.BOTH, 60, 0, group); } /** * Announces a metric * * @param name * Name of the metric * @param value * Value of the metric * @param group * Group Name of the metric * @throws ganglia.GangliaException */ public void announce(String name, long value, String group) throws GangliaException { this.announce(name, Long.toString(value), GMetricType.DOUBLE, "", GMetricSlope.BOTH, 60, 0, group); } /** * Announces a metric * * @param name * Name of the metric * @param value * Value of the metric * @param group * Group Name of the metric * @throws ganglia.GangliaException */ public void announce(String name, float value, String group) throws GangliaException { this.announce(name, Float.toString(value), GMetricType.FLOAT, "", GMetricSlope.BOTH, 60, 0, group); } /** * Announces a metric * * @param name * Name of the metric * @param value * Value of the metric * @param group * Group Name of the metric * @throws ganglia.GangliaException */ public void announce(String name, double value, String group) throws GangliaException { this.announce(name, Double.toString(value), GMetricType.DOUBLE, "", GMetricSlope.BOTH, 60, 0, group); } /** * Closes the underlying protocol. * * @throws IOException */ public void close() throws IOException { if (this.protocol != null) { this.protocol.close(); } } /** * @see java.lang.Object#finalize() */ @Override protected void finalize() throws Throwable { // help gc out here a bit to prevent socket leaks close(); } /** * Main method that sends a test metric * * @param args * @throws IOException */ public static void main(String[] args) throws IOException { GMetric gm = null; try { gm = new GMetric("239.2.11.71", 8649, UDPAddressingMode.MULTICAST, 1); // gm.announce("heartbeat", "0", GMetricType.UINT32, "", // GMetricSlope.ZERO, 0, 0, "core"); gm.announce("BOILINGPOINT", "100", GMetricType.STRING, "CELSIUS", GMetricSlope.BOTH, 0, 0, "TESTGROUP"); gm.announce("INTTEST", (int) Integer.MAX_VALUE, "TESTGROUP"); gm.announce("LONGTEST", (long) Long.MAX_VALUE, "TESTGROUP"); gm.announce("FLOATTEST", (float) Float.MAX_VALUE, "TESTGROUP"); gm.announce("DOUBLETEST", (double) Double.MAX_VALUE, "TESTGROUP"); } catch (Exception ex) { ex.printStackTrace(); } finally { gm.close(); } } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/GMetricPublisher.java000066400000000000000000000007461230436722300300050ustar00rootroot00000000000000package info.ganglia.gmetric4j.gmetric; import info.ganglia.gmetric4j.Publisher; public class GMetricPublisher implements Publisher { private GMetric gm = null ; public GMetricPublisher( GMetric gm ) { this.gm = gm ; } public void publish(String processName, String attributeName, String value, GMetricType type, GMetricSlope slope, String units) throws GangliaException { gm.announce(attributeName, value, type, units, slope, 60, 0, processName); } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/GMetricSlope.java000066400000000000000000000007611230436722300271270ustar00rootroot00000000000000/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package info.ganglia.gmetric4j.gmetric; /** * * @author humphrej */ public enum GMetricSlope { //zero|positive|negative|both ZERO(0), POSITIVE(1), NEGATIVE(2), BOTH(3); private int gangliaSlope ; GMetricSlope( int gangliaSlope ) { this.gangliaSlope = gangliaSlope ; } public int getGangliaSlope() { return gangliaSlope ; } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/GMetricType.java000066400000000000000000000012361230436722300267640ustar00rootroot00000000000000/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package info.ganglia.gmetric4j.gmetric; /** * * @author humphrej */ public enum GMetricType { //string|int8|uint8|int16|uint16|int32|uint32|float|double STRING("string"), INT8("int8"), UINT8("uint8"), INT16("int16"), UINT16("uint16"), INT32("int32"), UINT32("uint32"), FLOAT("float"), DOUBLE("double"); private String gangliaType ; GMetricType( String gangliaType ) { this.gangliaType = gangliaType ; } public String getGangliaType() { return gangliaType ; } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/GangliaException.java000066400000000000000000000014731230436722300300140ustar00rootroot00000000000000package info.ganglia.gmetric4j.gmetric; /** * * @author humphrej */ public class GangliaException extends Exception { private static final long serialVersionUID = 1L; /** * Creates a new instance of GangliaException without detail message. */ public GangliaException() { } /** * Constructs an instance of GangliaException with the specified detail message. * @param msg the detail message. */ public GangliaException(String msg) { super(msg); } /** * Constructs an instance of GangliaException with the specified detail message and cause. * @param msg the detail message * @param cause the cause */ public GangliaException( String msg, Throwable cause ) { super( msg, cause ); } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/Protocol.java000066400000000000000000000013351230436722300263710ustar00rootroot00000000000000package info.ganglia.gmetric4j.gmetric; import java.io.Closeable; /** * An interface to be implemented by protocol implementations * */ public interface Protocol extends Closeable { /** * Announces a metric * @param name the metric name * @param value the metric value * @param type the metric type * @param units the units * @param slope the slope * @param tmax the tmax * @param dmax the dmax * @param groupName the metric group * @throws Exception */ void announce( String name, String value, GMetricType type, String units, GMetricSlope slope, int tmax, int dmax, String groupName ) throws Exception ; } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/Protocolv30x.java000066400000000000000000000036721230436722300271200ustar00rootroot00000000000000 package info.ganglia.gmetric4j.gmetric; import java.io.IOException; import info.ganglia.gmetric4j.gmetric.GMetric.UDPAddressingMode; import info.ganglia.gmetric4j.xdr.v30x.Ganglia_gmetric_message; import info.ganglia.gmetric4j.xdr.v30x.Ganglia_message; import info.ganglia.gmetric4j.xdr.v30x.Ganglia_message_formats; import org.acplt.oncrpc.XdrBufferEncodingStream; public class Protocolv30x extends AbstractProtocol { private static final int MAX_BUFFER_SIZE = 1024 ; private XdrBufferEncodingStream xdr = new XdrBufferEncodingStream( MAX_BUFFER_SIZE ); public Protocolv30x( String group, int port, UDPAddressingMode mode, int ttl ) throws IOException { super(group, port, mode, ttl); } @Override public void announce( String name, String value, GMetricType type, String units, GMetricSlope slope, int tmax, int dmax, String groupName) throws Exception { encodeGMetric( name, value, type, units, slope, tmax, dmax ); send( xdr.getXdrData(), xdr.getXdrLength()); } /** * Encodes the metric using the classes generated by remotetea */ private void encodeGMetric( String name, String value, GMetricType type, String units, GMetricSlope slope, int tmax, int dmax ) throws Exception { Ganglia_message msg = new Ganglia_message() ; Ganglia_gmetric_message gmetric_msg = new Ganglia_gmetric_message() ; msg.id = Ganglia_message_formats.metric_user_defined ; msg.gmetric = gmetric_msg ; gmetric_msg.name = name ; gmetric_msg.value = value ; gmetric_msg.type = type.getGangliaType() ; gmetric_msg.units = units ; gmetric_msg.slope = slope.getGangliaSlope() ; gmetric_msg.tmax = tmax ; gmetric_msg.dmax = dmax ; xdr.beginEncoding(udpAddr, port) ; msg.xdrEncode(xdr); xdr.endEncoding(); } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/Protocolv31x.java000066400000000000000000000131531230436722300271140ustar00rootroot00000000000000package info.ganglia.gmetric4j.gmetric; import info.ganglia.gmetric4j.gmetric.GMetric.UDPAddressingMode; import info.ganglia.gmetric4j.xdr.v31x.Ganglia_extra_data; import info.ganglia.gmetric4j.xdr.v31x.Ganglia_gmetric_string; import info.ganglia.gmetric4j.xdr.v31x.Ganglia_metadata_message; import info.ganglia.gmetric4j.xdr.v31x.Ganglia_metadata_msg; import info.ganglia.gmetric4j.xdr.v31x.Ganglia_metadatadef; import info.ganglia.gmetric4j.xdr.v31x.Ganglia_metric_id; import info.ganglia.gmetric4j.xdr.v31x.Ganglia_msg_formats; import info.ganglia.gmetric4j.xdr.v31x.Ganglia_uuid; import info.ganglia.gmetric4j.xdr.v31x.Ganglia_value_msg; import java.io.IOException; import java.net.InetAddress; import java.util.HashMap; import java.util.Map; import java.util.UUID; import org.acplt.oncrpc.XdrBufferEncodingStream; public class Protocolv31x extends AbstractProtocol { private static final int MAX_BUFFER_SIZE = 1024 ; private XdrBufferEncodingStream xdr = new XdrBufferEncodingStream( MAX_BUFFER_SIZE ); private Map metricCounterMap = new HashMap(); private int metadataMessageInterval; private UUID uuid; private String spoofName; private String localHostName; public Protocolv31x(String group, int port, UDPAddressingMode mode, int ttl, int metadataMessageInterval, UUID uuid, String spoof) throws IOException { super(group, port, mode, ttl); this.metadataMessageInterval = metadataMessageInterval ; this.uuid = uuid; this.spoofName = spoof; this.localHostName = InetAddress.getLocalHost().getHostName(); } private boolean isTimeToSendMetadata( String metricName ) { boolean ret = false ; Integer counter = metricCounterMap.get(metricName); if (counter == null) { counter = 0; ret = true ; } else { counter++; if ( counter >= metadataMessageInterval ) { counter = 0 ; ret = true ; } } metricCounterMap.put(metricName, counter); return ret ; } @Override public void announce( String name, String value, GMetricType type, String units, GMetricSlope slope, int tmax, int dmax, String groupName) throws Exception { Ganglia_metric_id metric_id = new Ganglia_metric_id(); /* * Handle spoofing. No syntax checking done here !!!! */ if (spoofName == null) { metric_id.host = localHostName; metric_id.spoof = false; } else { metric_id.host = spoofName; metric_id.spoof = true; } metric_id.name = name; if ( isTimeToSendMetadata( name ) ) { encodeGMetric( metric_id, name, value, type, units, slope, tmax, dmax, groupName ); send(xdr.getXdrData(),xdr.getXdrLength()); } encodeGValue( metric_id, value ); send(xdr.getXdrData(),xdr.getXdrLength()); } /** * Encodes the metric using the classes generated by remotetea */ private void encodeGMetric( Ganglia_metric_id metric_id, String name, String value, GMetricType type, String units, GMetricSlope slope, int tmax, int dmax, String groupName) throws Exception { Ganglia_metadata_message metadata_message = new Ganglia_metadata_message() ; Ganglia_extra_data[] extra_data_array = new Ganglia_extra_data[3]; Ganglia_extra_data extra_data1 = new Ganglia_extra_data(); extra_data_array[0] = extra_data1; extra_data1.name = "GROUP"; extra_data1.data = groupName; Ganglia_extra_data extra_data2 = new Ganglia_extra_data(); extra_data_array[1] = extra_data2; extra_data2.name = "TITLE"; extra_data2.data = name; Ganglia_extra_data extra_data3 = new Ganglia_extra_data(); extra_data_array[2] = extra_data3; extra_data3.name = "DESC"; extra_data3.data = name; metadata_message.metadata = extra_data_array ; metadata_message.name = name ; metadata_message.type = type.getGangliaType() ; metadata_message.units = units ; metadata_message.slope = slope.getGangliaSlope() ; metadata_message.tmax = tmax ; metadata_message.dmax = dmax ; Ganglia_metadatadef metadatadef = new Ganglia_metadatadef(); metadatadef.metric_id = metric_id; metadatadef.metric = metadata_message; Ganglia_metadata_msg metadata_msg = new Ganglia_metadata_msg(); metadata_msg.id = Ganglia_msg_formats.gmetadata_full; if(uuid != null) { metadata_msg.id |= 0x40; Ganglia_uuid _uuid = new Ganglia_uuid(); _uuid.uuid = uuid; metadata_msg.uuid = _uuid; } metadata_msg.gfull = metadatadef; xdr.beginEncoding(udpAddr, port) ; metadata_msg.xdrEncode(xdr); xdr.endEncoding(); } private void encodeGValue(Ganglia_metric_id metric_id, String value) throws Exception { Ganglia_value_msg value_msg = new Ganglia_value_msg(); value_msg.id = Ganglia_msg_formats.gmetric_string; if(uuid != null) { value_msg.id |= 0x40; Ganglia_uuid _uuid = new Ganglia_uuid(); _uuid.uuid = uuid; value_msg.uuid = _uuid; } Ganglia_gmetric_string str = new Ganglia_gmetric_string(); str.str = value; str.metric_id = metric_id; str.fmt = "%s"; value_msg.gstr = str; xdr.beginEncoding(udpAddr, port) ; value_msg.xdrEncode(xdr); xdr.endEncoding(); } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/gmetric/package.html000066400000000000000000000005711230436722300262070ustar00rootroot00000000000000 Provides a class that implements the Ganglia gmetric command in 100% java.

Package Specification

Related Documentation

For a description of Ganglia, please see: gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/000077500000000000000000000000001230436722300230665ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v30x/000077500000000000000000000000001230436722300236665ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v30x/Ganglia_25metric.java000066400000000000000000000027351230436722300276140ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 3/30/08 8:06 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v30x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_25metric implements XdrAble { public int key; public String name; public int tmax; public int type; public String units; public String slope; public String fmt; public int msg_size; public Ganglia_25metric() { } public Ganglia_25metric(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeInt(key); xdr.xdrEncodeString(name); xdr.xdrEncodeInt(tmax); xdr.xdrEncodeInt(type); xdr.xdrEncodeString(units); xdr.xdrEncodeString(slope); xdr.xdrEncodeString(fmt); xdr.xdrEncodeInt(msg_size); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { key = xdr.xdrDecodeInt(); name = xdr.xdrDecodeString(); tmax = xdr.xdrDecodeInt(); type = xdr.xdrDecodeInt(); units = xdr.xdrDecodeString(); slope = xdr.xdrDecodeString(); fmt = xdr.xdrDecodeString(); msg_size = xdr.xdrDecodeInt(); } } // End of Ganglia_25metric.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v30x/Ganglia_gmetric_message.java000066400000000000000000000026361230436722300313200ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 3/30/08 8:06 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v30x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_gmetric_message implements XdrAble { public String type; public String name; public String value; public String units; public int slope; public int tmax; public int dmax; public Ganglia_gmetric_message() { } public Ganglia_gmetric_message(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeString(type); xdr.xdrEncodeString(name); xdr.xdrEncodeString(value); xdr.xdrEncodeString(units); xdr.xdrEncodeInt(slope); xdr.xdrEncodeInt(tmax); xdr.xdrEncodeInt(dmax); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { type = xdr.xdrDecodeString(); name = xdr.xdrDecodeString(); value = xdr.xdrDecodeString(); units = xdr.xdrDecodeString(); slope = xdr.xdrDecodeInt(); tmax = xdr.xdrDecodeInt(); dmax = xdr.xdrDecodeInt(); } } // End of Ganglia_gmetric_message.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v30x/Ganglia_message.java000066400000000000000000000174361230436722300276120ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 3/30/08 8:06 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v30x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_message implements XdrAble { public int id; public Ganglia_gmetric_message gmetric; public Ganglia_spoof_message spmetric; public Ganglia_spoof_header spheader; public short u_short1; public int u_int1; public String str; public float f; public double d; public Ganglia_message() { } public Ganglia_message(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeInt(id); switch ( id ) { case Ganglia_message_formats.metric_user_defined: gmetric.xdrEncode(xdr); break; case Ganglia_message_formats.spoof_metric: spmetric.xdrEncode(xdr); break; case Ganglia_message_formats.spoof_heartbeat: spheader.xdrEncode(xdr); break; case Ganglia_message_formats.metric_cpu_num: xdr.xdrEncodeShort(u_short1); break; case Ganglia_message_formats.metric_cpu_speed: case Ganglia_message_formats.metric_mem_total: case Ganglia_message_formats.metric_swap_total: case Ganglia_message_formats.metric_boottime: case Ganglia_message_formats.metric_sys_clock: case Ganglia_message_formats.metric_proc_run: case Ganglia_message_formats.metric_proc_total: case Ganglia_message_formats.metric_mem_free: case Ganglia_message_formats.metric_mem_shared: case Ganglia_message_formats.metric_mem_buffers: case Ganglia_message_formats.metric_mem_cached: case Ganglia_message_formats.metric_swap_free: case Ganglia_message_formats.metric_heartbeat: case Ganglia_message_formats.metric_mtu: case Ganglia_message_formats.metric_mem_arm: case Ganglia_message_formats.metric_mem_rm: case Ganglia_message_formats.metric_mem_avm: case Ganglia_message_formats.metric_mem_vm: xdr.xdrEncodeInt(u_int1); break; case Ganglia_message_formats.metric_machine_type: case Ganglia_message_formats.metric_os_name: case Ganglia_message_formats.metric_os_release: case Ganglia_message_formats.metric_gexec: case Ganglia_message_formats.metric_location: xdr.xdrEncodeString(str); break; case Ganglia_message_formats.metric_cpu_user: case Ganglia_message_formats.metric_cpu_nice: case Ganglia_message_formats.metric_cpu_system: case Ganglia_message_formats.metric_cpu_idle: case Ganglia_message_formats.metric_cpu_aidle: case Ganglia_message_formats.metric_load_one: case Ganglia_message_formats.metric_load_five: case Ganglia_message_formats.metric_load_fifteen: case Ganglia_message_formats.metric_bytes_in: case Ganglia_message_formats.metric_bytes_out: case Ganglia_message_formats.metric_pkts_in: case Ganglia_message_formats.metric_pkts_out: case Ganglia_message_formats.metric_part_max_used: case Ganglia_message_formats.metric_cpu_wio: case Ganglia_message_formats.metric_bread_sec: case Ganglia_message_formats.metric_bwrite_sec: case Ganglia_message_formats.metric_lread_sec: case Ganglia_message_formats.metric_lwrite_sec: case Ganglia_message_formats.metric_rcache: case Ganglia_message_formats.metric_wcache: case Ganglia_message_formats.metric_phread_sec: case Ganglia_message_formats.metric_phwrite_sec: case Ganglia_message_formats.metric_cpu_intr: case Ganglia_message_formats.metric_cpu_sintr: xdr.xdrEncodeFloat(f); break; case Ganglia_message_formats.metric_disk_total: case Ganglia_message_formats.metric_disk_free: xdr.xdrEncodeDouble(d); break; default: break; } } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { id = xdr.xdrDecodeInt(); switch ( id ) { case Ganglia_message_formats.metric_user_defined: gmetric = new Ganglia_gmetric_message(xdr); break; case Ganglia_message_formats.spoof_metric: spmetric = new Ganglia_spoof_message(xdr); break; case Ganglia_message_formats.spoof_heartbeat: spheader = new Ganglia_spoof_header(xdr); break; case Ganglia_message_formats.metric_cpu_num: u_short1 = xdr.xdrDecodeShort(); break; case Ganglia_message_formats.metric_cpu_speed: case Ganglia_message_formats.metric_mem_total: case Ganglia_message_formats.metric_swap_total: case Ganglia_message_formats.metric_boottime: case Ganglia_message_formats.metric_sys_clock: case Ganglia_message_formats.metric_proc_run: case Ganglia_message_formats.metric_proc_total: case Ganglia_message_formats.metric_mem_free: case Ganglia_message_formats.metric_mem_shared: case Ganglia_message_formats.metric_mem_buffers: case Ganglia_message_formats.metric_mem_cached: case Ganglia_message_formats.metric_swap_free: case Ganglia_message_formats.metric_heartbeat: case Ganglia_message_formats.metric_mtu: case Ganglia_message_formats.metric_mem_arm: case Ganglia_message_formats.metric_mem_rm: case Ganglia_message_formats.metric_mem_avm: case Ganglia_message_formats.metric_mem_vm: u_int1 = xdr.xdrDecodeInt(); break; case Ganglia_message_formats.metric_machine_type: case Ganglia_message_formats.metric_os_name: case Ganglia_message_formats.metric_os_release: case Ganglia_message_formats.metric_gexec: case Ganglia_message_formats.metric_location: str = xdr.xdrDecodeString(); break; case Ganglia_message_formats.metric_cpu_user: case Ganglia_message_formats.metric_cpu_nice: case Ganglia_message_formats.metric_cpu_system: case Ganglia_message_formats.metric_cpu_idle: case Ganglia_message_formats.metric_cpu_aidle: case Ganglia_message_formats.metric_load_one: case Ganglia_message_formats.metric_load_five: case Ganglia_message_formats.metric_load_fifteen: case Ganglia_message_formats.metric_bytes_in: case Ganglia_message_formats.metric_bytes_out: case Ganglia_message_formats.metric_pkts_in: case Ganglia_message_formats.metric_pkts_out: case Ganglia_message_formats.metric_part_max_used: case Ganglia_message_formats.metric_cpu_wio: case Ganglia_message_formats.metric_bread_sec: case Ganglia_message_formats.metric_bwrite_sec: case Ganglia_message_formats.metric_lread_sec: case Ganglia_message_formats.metric_lwrite_sec: case Ganglia_message_formats.metric_rcache: case Ganglia_message_formats.metric_wcache: case Ganglia_message_formats.metric_phread_sec: case Ganglia_message_formats.metric_phwrite_sec: case Ganglia_message_formats.metric_cpu_intr: case Ganglia_message_formats.metric_cpu_sintr: f = xdr.xdrDecodeFloat(); break; case Ganglia_message_formats.metric_disk_total: case Ganglia_message_formats.metric_disk_free: d = xdr.xdrDecodeDouble(); break; default: break; } } } // End of Ganglia_message.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v30x/Ganglia_message_formats.java000066400000000000000000000131101230436722300313260ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 3/30/08 8:06 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v30x; /** * Enumeration (collection of constants). */ public interface Ganglia_message_formats { public static final int metric_user_defined = 0; public static final int metric_cpu_num = 0+1; public static final int metric_cpu_speed = 0+1+1; public static final int metric_mem_total = 0+1+1+1; public static final int metric_swap_total = 0+1+1+1+1; public static final int metric_boottime = 0+1+1+1+1+1; public static final int metric_sys_clock = 0+1+1+1+1+1+1; public static final int metric_machine_type = 0+1+1+1+1+1+1+1; public static final int metric_os_name = 0+1+1+1+1+1+1+1+1; public static final int metric_os_release = 0+1+1+1+1+1+1+1+1+1; public static final int metric_cpu_user = 0+1+1+1+1+1+1+1+1+1+1; public static final int metric_cpu_nice = 0+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_cpu_system = 0+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_cpu_idle = 0+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_cpu_aidle = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_load_one = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_load_five = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_load_fifteen = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_proc_run = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_proc_total = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_mem_free = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_mem_shared = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_mem_buffers = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_mem_cached = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_swap_free = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_gexec = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_heartbeat = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_mtu = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_location = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_bytes_out = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_bytes_in = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_pkts_in = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_pkts_out = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_disk_total = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_disk_free = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_part_max_used = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_cpu_wio = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_bread_sec = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_bwrite_sec = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_lread_sec = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_lwrite_sec = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_rcache = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_wcache = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_phread_sec = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_phwrite_sec = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_cpu_intr = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_cpu_sintr = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_mem_arm = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_mem_rm = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_mem_avm = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int metric_mem_vm = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int GANGLIA_NUM_25_METRICS = 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; public static final int spoof_metric = 4096; public static final int spoof_heartbeat = 4097; } // End of Ganglia_message_formats.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v30x/Ganglia_spoof_header.java000066400000000000000000000017271230436722300306200ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 3/30/08 8:06 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v30x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_spoof_header implements XdrAble { public String spoofName; public String spoofIP; public Ganglia_spoof_header() { } public Ganglia_spoof_header(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeString(spoofName); xdr.xdrEncodeString(spoofIP); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { spoofName = xdr.xdrDecodeString(); spoofIP = xdr.xdrDecodeString(); } } // End of Ganglia_spoof_header.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v30x/Ganglia_spoof_message.java000066400000000000000000000017761230436722300310200ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 3/30/08 8:06 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v30x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_spoof_message implements XdrAble { public Ganglia_spoof_header spheader; public Ganglia_gmetric_message gmetric; public Ganglia_spoof_message() { } public Ganglia_spoof_message(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { spheader.xdrEncode(xdr); gmetric.xdrEncode(xdr); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { spheader = new Ganglia_spoof_header(xdr); gmetric = new Ganglia_gmetric_message(xdr); } } // End of Ganglia_spoof_message.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v30x/Ganglia_value_types.java000066400000000000000000000015251230436722300305160ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 3/30/08 8:06 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v30x; /** * Enumeration (collection of constants). */ public interface Ganglia_value_types { public static final int GANGLIA_VALUE_UNKNOWN = 0; public static final int GANGLIA_VALUE_STRING = 0+1; public static final int GANGLIA_VALUE_UNSIGNED_SHORT = 0+1+1; public static final int GANGLIA_VALUE_SHORT = 0+1+1+1; public static final int GANGLIA_VALUE_UNSIGNED_INT = 0+1+1+1+1; public static final int GANGLIA_VALUE_INT = 0+1+1+1+1+1; public static final int GANGLIA_VALUE_FLOAT = 0+1+1+1+1+1+1; public static final int GANGLIA_VALUE_DOUBLE = 0+1+1+1+1+1+1+1; } // End of Ganglia_value_types.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v30x/package.html000066400000000000000000000011371230436722300261510ustar00rootroot00000000000000 RemoteTea generated classes that implement the Ganglia v3.0.x XDR style protocol. These classes were generated from the ganglia protocol.x.

Package Specification

Related Documentation

For a description of Ganglia, please see: For a description of RemoteTea, please see: gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/000077500000000000000000000000001230436722300236675ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_25metric.java000066400000000000000000000032431230436722300276100ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_25metric implements XdrAble { public int key; public String name; public int tmax; public int type; public String units; public String slope; public String fmt; public int msg_size; public String desc; public int metadata; public Ganglia_25metric() { } public Ganglia_25metric(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeInt(key); xdr.xdrEncodeString(name); xdr.xdrEncodeInt(tmax); xdr.xdrEncodeInt(type); xdr.xdrEncodeString(units); xdr.xdrEncodeString(slope); xdr.xdrEncodeString(fmt); xdr.xdrEncodeInt(msg_size); xdr.xdrEncodeString(desc); xdr.xdrEncodeInt(metadata); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { key = xdr.xdrDecodeInt(); name = xdr.xdrDecodeString(); tmax = xdr.xdrDecodeInt(); type = xdr.xdrDecodeInt(); units = xdr.xdrDecodeString(); slope = xdr.xdrDecodeString(); fmt = xdr.xdrDecodeString(); msg_size = xdr.xdrDecodeInt(); desc = xdr.xdrDecodeString(); metadata = xdr.xdrDecodeInt(); } } // End of Ganglia_25metric.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_extra_data.java000066400000000000000000000016701230436722300302740ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_extra_data implements XdrAble { public String name; public String data; public Ganglia_extra_data() { } public Ganglia_extra_data(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeString(name); xdr.xdrEncodeString(data); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { name = xdr.xdrDecodeString(); data = xdr.xdrDecodeString(); } } // End of Ganglia_extra_data.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_gmetric_double.java000066400000000000000000000020661230436722300311440ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_gmetric_double implements XdrAble { public Ganglia_metric_id metric_id; public String fmt; public double d; public Ganglia_gmetric_double() { } public Ganglia_gmetric_double(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { metric_id.xdrEncode(xdr); xdr.xdrEncodeString(fmt); xdr.xdrEncodeDouble(d); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { metric_id = new Ganglia_metric_id(xdr); fmt = xdr.xdrDecodeString(); d = xdr.xdrDecodeDouble(); } } // End of Ganglia_gmetric_double.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_gmetric_float.java000066400000000000000000000020571230436722300307770ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_gmetric_float implements XdrAble { public Ganglia_metric_id metric_id; public String fmt; public float f; public Ganglia_gmetric_float() { } public Ganglia_gmetric_float(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { metric_id.xdrEncode(xdr); xdr.xdrEncodeString(fmt); xdr.xdrEncodeFloat(f); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { metric_id = new Ganglia_metric_id(xdr); fmt = xdr.xdrDecodeString(); f = xdr.xdrDecodeFloat(); } } // End of Ganglia_gmetric_float.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_gmetric_int.java000066400000000000000000000020441230436722300304600ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_gmetric_int implements XdrAble { public Ganglia_metric_id metric_id; public String fmt; public int si; public Ganglia_gmetric_int() { } public Ganglia_gmetric_int(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { metric_id.xdrEncode(xdr); xdr.xdrEncodeString(fmt); xdr.xdrEncodeInt(si); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { metric_id = new Ganglia_metric_id(xdr); fmt = xdr.xdrDecodeString(); si = xdr.xdrDecodeInt(); } } // End of Ganglia_gmetric_int.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_gmetric_short.java000066400000000000000000000020621230436722300310250ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_gmetric_short implements XdrAble { public Ganglia_metric_id metric_id; public String fmt; public short ss; public Ganglia_gmetric_short() { } public Ganglia_gmetric_short(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { metric_id.xdrEncode(xdr); xdr.xdrEncodeString(fmt); xdr.xdrEncodeShort(ss); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { metric_id = new Ganglia_metric_id(xdr); fmt = xdr.xdrDecodeString(); ss = xdr.xdrDecodeShort(); } } // End of Ganglia_gmetric_short.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_gmetric_string.java000066400000000000000000000020741230436722300311770ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_gmetric_string implements XdrAble { public Ganglia_metric_id metric_id; public String fmt; public String str; public Ganglia_gmetric_string() { } public Ganglia_gmetric_string(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { metric_id.xdrEncode(xdr); xdr.xdrEncodeString(fmt); xdr.xdrEncodeString(str); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { metric_id = new Ganglia_metric_id(xdr); fmt = xdr.xdrDecodeString(); str = xdr.xdrDecodeString(); } } // End of Ganglia_gmetric_string.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_gmetric_uint.java000066400000000000000000000020501230436722300306420ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_gmetric_uint implements XdrAble { public Ganglia_metric_id metric_id; public String fmt; public int ui; public Ganglia_gmetric_uint() { } public Ganglia_gmetric_uint(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { metric_id.xdrEncode(xdr); xdr.xdrEncodeString(fmt); xdr.xdrEncodeInt(ui); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { metric_id = new Ganglia_metric_id(xdr); fmt = xdr.xdrDecodeString(); ui = xdr.xdrDecodeInt(); } } // End of Ganglia_gmetric_uint.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_gmetric_ushort.java000066400000000000000000000020661230436722300312160ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_gmetric_ushort implements XdrAble { public Ganglia_metric_id metric_id; public String fmt; public short us; public Ganglia_gmetric_ushort() { } public Ganglia_gmetric_ushort(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { metric_id.xdrEncode(xdr); xdr.xdrEncodeString(fmt); xdr.xdrEncodeShort(us); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { metric_id = new Ganglia_metric_id(xdr); fmt = xdr.xdrDecodeString(); us = xdr.xdrDecodeShort(); } } // End of Ganglia_gmetric_ushort.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_metadata_message.java000066400000000000000000000032551230436722300314450ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_metadata_message implements XdrAble { public String type; public String name; public String units; public int slope; public int tmax; public int dmax; public Ganglia_extra_data [] metadata; public Ganglia_metadata_message() { } public Ganglia_metadata_message(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeString(type); xdr.xdrEncodeString(name); xdr.xdrEncodeString(units); xdr.xdrEncodeInt(slope); xdr.xdrEncodeInt(tmax); xdr.xdrEncodeInt(dmax); { int $size = metadata.length; xdr.xdrEncodeInt($size); for ( int $idx = 0; $idx < $size; ++$idx ) { metadata[$idx].xdrEncode(xdr); } } } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { type = xdr.xdrDecodeString(); name = xdr.xdrDecodeString(); units = xdr.xdrDecodeString(); slope = xdr.xdrDecodeInt(); tmax = xdr.xdrDecodeInt(); dmax = xdr.xdrDecodeInt(); { int $size = xdr.xdrDecodeInt(); metadata = new Ganglia_extra_data[$size]; for ( int $idx = 0; $idx < $size; ++$idx ) { metadata[$idx] = new Ganglia_extra_data(xdr); } } } } // End of Ganglia_metadata_message.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_metadata_msg.java000066400000000000000000000035301230436722300306030ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_metadata_msg implements XdrAble { public int id; public Ganglia_metadatadef gfull; public Ganglia_metadatareq grequest; public Ganglia_uuid uuid; public Ganglia_metadata_msg() { } public Ganglia_metadata_msg(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } protected boolean hasUUID() { return ((id & 0x40) == 0x40); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeInt(id); int _id = id & 0xbf; switch ( _id ) { case Ganglia_msg_formats.gmetadata_full: gfull.xdrEncode(xdr); break; case Ganglia_msg_formats.gmetadata_request: grequest.xdrEncode(xdr); break; default: break; } if(hasUUID()) { uuid.xdrEncode(xdr); } } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { id = xdr.xdrDecodeInt(); int _id = id & 0xbf; switch ( _id ) { case Ganglia_msg_formats.gmetadata_full: gfull = new Ganglia_metadatadef(xdr); break; case Ganglia_msg_formats.gmetadata_request: grequest = new Ganglia_metadatareq(xdr); break; default: break; } if(hasUUID()) { uuid = new Ganglia_uuid(xdr); } } } // End of Ganglia_metadata_msg.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_metadatadef.java000066400000000000000000000017631230436722300304220ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_metadatadef implements XdrAble { public Ganglia_metric_id metric_id; public Ganglia_metadata_message metric; public Ganglia_metadatadef() { } public Ganglia_metadatadef(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { metric_id.xdrEncode(xdr); metric.xdrEncode(xdr); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { metric_id = new Ganglia_metric_id(xdr); metric = new Ganglia_metadata_message(xdr); } } // End of Ganglia_metadatadef.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_metadatareq.java000066400000000000000000000015641230436722300304520ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_metadatareq implements XdrAble { public Ganglia_metric_id metric_id; public Ganglia_metadatareq() { } public Ganglia_metadatareq(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { metric_id.xdrEncode(xdr); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { metric_id = new Ganglia_metric_id(xdr); } } // End of Ganglia_metadatareq.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_metric_id.java000066400000000000000000000020331230436722300301110ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_metric_id implements XdrAble { public String host; public String name; public boolean spoof; public Ganglia_metric_id() { } public Ganglia_metric_id(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeString(host); xdr.xdrEncodeString(name); xdr.xdrEncodeBoolean(spoof); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { host = xdr.xdrDecodeString(); name = xdr.xdrDecodeString(); spoof = xdr.xdrDecodeBoolean(); } } // End of Ganglia_metric_id.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_msg_formats.java000066400000000000000000000015521230436722300305000ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; /** * Enumeration (collection of constants). */ public interface Ganglia_msg_formats { public static final int gmetadata_full = 128; public static final int gmetric_ushort = 128+1; public static final int gmetric_short = 128+1+1; public static final int gmetric_int = 128+1+1+1; public static final int gmetric_uint = 128+1+1+1+1; public static final int gmetric_string = 128+1+1+1+1+1; public static final int gmetric_float = 128+1+1+1+1+1+1; public static final int gmetric_double = 128+1+1+1+1+1+1+1; public static final int gmetadata_request = 128+1+1+1+1+1+1+1+1; } // End of Ganglia_msg_formats.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_uuid.java000066400000000000000000000025671230436722300271340ustar00rootroot00000000000000package info.ganglia.gmetric4j.xdr.v31x; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.UUID; import org.acplt.oncrpc.OncRpcException; import org.acplt.oncrpc.XdrAble; import org.acplt.oncrpc.XdrDecodingStream; import org.acplt.oncrpc.XdrEncodingStream; public class Ganglia_uuid implements XdrAble { public UUID uuid; public Ganglia_uuid() { } public Ganglia_uuid(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } protected byte[] getUUIDBytes() { Long msb = uuid.getMostSignificantBits(); Long lsb = uuid.getLeastSignificantBits(); byte[] buf = new byte[16]; ByteBuffer _b = ByteBuffer.wrap(buf); _b.order(ByteOrder.BIG_ENDIAN); _b.putLong(msb); _b.putLong(lsb); return buf; } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeByteFixedVector(getUUIDBytes(), 16); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { uuid = getUUIDFromBytes(xdr.xdrDecodeByteFixedVector(16)); } private UUID getUUIDFromBytes(byte[] buf) { ByteBuffer _b = ByteBuffer.wrap(buf); _b.order(ByteOrder.BIG_ENDIAN); Long msb = _b.getLong(); Long lsb = _b.getLong(); return new UUID(msb, lsb); } } gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_value_msg.java000066400000000000000000000061301230436722300301360ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; import org.acplt.oncrpc.*; import java.io.IOException; public class Ganglia_value_msg implements XdrAble { public int id; public Ganglia_gmetric_ushort gu_short; public Ganglia_gmetric_short gs_short; public Ganglia_gmetric_int gs_int; public Ganglia_gmetric_uint gu_int; public Ganglia_gmetric_string gstr; public Ganglia_gmetric_float gf; public Ganglia_gmetric_double gd; public Ganglia_uuid uuid; public Ganglia_value_msg() { } public Ganglia_value_msg(XdrDecodingStream xdr) throws OncRpcException, IOException { xdrDecode(xdr); } public void xdrEncode(XdrEncodingStream xdr) throws OncRpcException, IOException { xdr.xdrEncodeInt(id); int _id = id & 0xbf; switch ( _id ) { case Ganglia_msg_formats.gmetric_ushort: gu_short.xdrEncode(xdr); break; case Ganglia_msg_formats.gmetric_short: gs_short.xdrEncode(xdr); break; case Ganglia_msg_formats.gmetric_int: gs_int.xdrEncode(xdr); break; case Ganglia_msg_formats.gmetric_uint: gu_int.xdrEncode(xdr); break; case Ganglia_msg_formats.gmetric_string: gstr.xdrEncode(xdr); break; case Ganglia_msg_formats.gmetric_float: gf.xdrEncode(xdr); break; case Ganglia_msg_formats.gmetric_double: gd.xdrEncode(xdr); break; default: break; } if(hasUUID()) { uuid.xdrEncode(xdr); } } protected boolean hasUUID() { return ((id & 0x40) == 0x40); } public void xdrDecode(XdrDecodingStream xdr) throws OncRpcException, IOException { id = xdr.xdrDecodeInt(); int _id = id & 0xbf; switch ( _id ) { case Ganglia_msg_formats.gmetric_ushort: gu_short = new Ganglia_gmetric_ushort(xdr); break; case Ganglia_msg_formats.gmetric_short: gs_short = new Ganglia_gmetric_short(xdr); break; case Ganglia_msg_formats.gmetric_int: gs_int = new Ganglia_gmetric_int(xdr); break; case Ganglia_msg_formats.gmetric_uint: gu_int = new Ganglia_gmetric_uint(xdr); break; case Ganglia_msg_formats.gmetric_string: gstr = new Ganglia_gmetric_string(xdr); break; case Ganglia_msg_formats.gmetric_float: gf = new Ganglia_gmetric_float(xdr); break; case Ganglia_msg_formats.gmetric_double: gd = new Ganglia_gmetric_double(xdr); break; default: break; } if(hasUUID()) { uuid = new Ganglia_uuid(xdr); } } } // End of Ganglia_value_msg.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/Ganglia_value_types.java000066400000000000000000000015261230436722300305200ustar00rootroot00000000000000/* * Automatically generated by jrpcgen 1.0.5 on 10/23/08 8:11 PM * jrpcgen is part of the "Remote Tea" ONC/RPC package for Java * See http://remotetea.sourceforge.net for details */ package info.ganglia.gmetric4j.xdr.v31x; /** * Enumeration (collection of constants). */ public interface Ganglia_value_types { public static final int GANGLIA_VALUE_UNKNOWN = 0; public static final int GANGLIA_VALUE_STRING = 0+1; public static final int GANGLIA_VALUE_UNSIGNED_SHORT = 0+1+1; public static final int GANGLIA_VALUE_SHORT = 0+1+1+1; public static final int GANGLIA_VALUE_UNSIGNED_INT = 0+1+1+1+1; public static final int GANGLIA_VALUE_INT = 0+1+1+1+1+1; public static final int GANGLIA_VALUE_FLOAT = 0+1+1+1+1+1+1; public static final int GANGLIA_VALUE_DOUBLE = 0+1+1+1+1+1+1+1; } // End of Ganglia_value_types.java gmetric4j-1.0.6/src/main/java/info/ganglia/gmetric4j/xdr/v31x/package.html000066400000000000000000000011371230436722300261520ustar00rootroot00000000000000 RemoteTea generated classes that implement the Ganglia v3.1.x XDR style protocol. These classes were generated from the ganglia protocol.x.

Package Specification

Related Documentation

For a description of Ganglia, please see: For a description of RemoteTea, please see: gmetric4j-1.0.6/src/main/resources/000077500000000000000000000000001230436722300171355ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/resources/META-INF/000077500000000000000000000000001230436722300202755ustar00rootroot00000000000000gmetric4j-1.0.6/src/main/resources/META-INF/MANIFEST.MF000066400000000000000000000001271230436722300217270ustar00rootroot00000000000000Manifest-Version: 1.0 Boot-Class-Path: oncrpc-1.0.7.jar Can-Redefine-Classes: false gmetric4j-1.0.6/src/test/000077500000000000000000000000001230436722300151565ustar00rootroot00000000000000gmetric4j-1.0.6/src/test/java/000077500000000000000000000000001230436722300160775ustar00rootroot00000000000000gmetric4j-1.0.6/src/test/java/info/000077500000000000000000000000001230436722300170325ustar00rootroot00000000000000gmetric4j-1.0.6/src/test/java/info/ganglia/000077500000000000000000000000001230436722300204345ustar00rootroot00000000000000gmetric4j-1.0.6/src/test/java/info/ganglia/gmetric4j/000077500000000000000000000000001230436722300223245ustar00rootroot00000000000000gmetric4j-1.0.6/src/test/java/info/ganglia/gmetric4j/gmetric/000077500000000000000000000000001230436722300237565ustar00rootroot00000000000000gmetric4j-1.0.6/src/test/java/info/ganglia/gmetric4j/gmetric/GMetricIT.java000066400000000000000000000063201230436722300264110ustar00rootroot00000000000000package info.ganglia.gmetric4j.gmetric; import static org.junit.Assert.*; import info.ganglia.gmetric4j.gmetric.GMetric.UDPAddressingMode; import java.io.IOException; import org.junit.Before; import org.junit.Test; /** * */ public class GMetricIT { private GMetric instance = null; @Before public void setUp() throws IOException { instance = new GMetric("localhost", 8649, UDPAddressingMode.MULTICAST, 1, true); } /** * Test of announce method, type String */ @Test public void announceString() throws Exception { System.out.println("announceString"); String name = "TEST1"; String value = "BOING"; GMetricType type = GMetricType.STRING; String units = "UNITS"; GMetricSlope slope = GMetricSlope.BOTH; int tmax = 60; int dmax = 0; instance.announce(name, value, type, units, slope, tmax, dmax, "STRINGGROUP"); GMetricResult.GMetricDetail readValue = GMetricResult.getGMetric(name); assertEquals(value, readValue.value); assertEquals(type.getGangliaType(), readValue.type); assertEquals(units, readValue.units); assertEquals( slope.name().toLowerCase(), readValue.slope); } /** * Test of announce method, type int */ @Test public void announceInt() throws Exception { System.out.println("announceInt"); String name = "TESTINT"; int value = 334567 ; instance.announce(name, value, "INTGROUP" ); GMetricResult.GMetricDetail readValue = GMetricResult.getGMetric(name); assertEquals(value, Integer.valueOf(readValue.value)); assertEquals(GMetricType.INT32.getGangliaType(), readValue.type); } /** * Test of announce method, type long */ @Test public void announceLong() throws Exception { System.out.println("announceLong"); String name = "TESTLONG"; long value = 334567 ; instance.announce(name, value, "LONGGROUP" ); GMetricResult.GMetricDetail readValue = GMetricResult.getGMetric(name); assertEquals(value, Long.valueOf(readValue.value)); assertEquals(GMetricType.DOUBLE.getGangliaType(), readValue.type); } /** * Test of announce method, type float */ @Test public void announceFloat() throws Exception { System.out.println("announceFloat"); String name = "TESTFLOAT"; float value = 334567.543f ; instance.announce(name, value, "FLOATGROUP" ); GMetricResult.GMetricDetail readValue = GMetricResult.getGMetric(name); assertEquals(value, Float.valueOf(readValue.value)); assertEquals(GMetricType.FLOAT.getGangliaType(), readValue.type); } /** * Test of announce method, type double */ @Test public void announceDouble() throws Exception { System.out.println("announceDouble"); String name = "TESTDOUBLE"; double value = 334567.54355555 ; instance.announce(name, value, "DOUBLEGROUP" ); GMetricResult.GMetricDetail readValue = GMetricResult.getGMetric(name); assertEquals(value, Double.valueOf(readValue.value)); assertEquals(GMetricType.DOUBLE.getGangliaType(), readValue.type); } } gmetric4j-1.0.6/src/test/java/info/ganglia/gmetric4j/gmetric/GMetricResult.java000066400000000000000000000107241230436722300273560ustar00rootroot00000000000000package info.ganglia.gmetric4j.gmetric; import java.io.BufferedReader; import java.io.CharArrayReader; import java.io.InputStreamReader; import java.net.Socket; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; public class GMetricResult { final private static int buffSize = 1024 * 50; public static GMetricDetail getGMetric(String metricName) throws Exception { // Open the socket, get the XML Socket gangliaXMLSocket = new Socket("localhost", 8649); BufferedReader in = new BufferedReader(new InputStreamReader( gangliaXMLSocket.getInputStream())); char[] charBuff = new char[buffSize]; int in_buff = in.read(charBuff, 0, buffSize); System.out.println("in_buff = " + in_buff); System.out.println("charBuff length: " + charBuff.length); if (in_buff != -1) { System.out.println("End of file"); } //System.out.println(charBuff); // Parse XML CharArrayReader car = new CharArrayReader(charBuff, 0, in_buff); // these two lines have to be here. BufferedReader br_car = new BufferedReader(car); SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setValidating(true); XMLReader xmlReader = null; SAXParser saxParser = spf.newSAXParser(); xmlReader = saxParser.getXMLReader(); // Set the ContentHandler of the XMLReader MyXMLHandler handler = new MyXMLHandler( metricName ); xmlReader.setContentHandler(handler); // Set an ErrorHandler before parsing // xmlReader.setErrorHandler(new MyErrorHandler(System.err)); xmlReader.parse(new InputSource(br_car)); in.close(); gangliaXMLSocket.close(); return handler.getDetail() ; } private static class MyXMLHandler extends DefaultHandler { public void startElement(String uri, String localName, String qname, Attributes attributes) { //System.out.println(qname); if ( !qname.equals("METRIC")) return ; String name = attributes.getValue("","NAME"); if ( name.equals(metricName)) { gmetricDetail = new GMetricDetail() ; gmetricDetail.metricName = metricName ; gmetricDetail.value = attributes.getValue("","VAL"); gmetricDetail.type = attributes.getValue("","TYPE"); gmetricDetail.units = attributes.getValue("","UNITS"); gmetricDetail.dmax = attributes.getValue("","DMAX"); gmetricDetail.tmax = attributes.getValue("","TMAX"); gmetricDetail.slope = attributes.getValue("","SLOPE"); System.out.println(gmetricDetail); } // process start of element } public void endElement(String uri, String localName, String qname) { // process end of element } public void characters(char[] ch, int start, int length) { // process characters } private String metricName = null ; private GMetricDetail gmetricDetail = null ; public MyXMLHandler( String metricName ) throws org.xml.sax.SAXException { super(); this.metricName = metricName ; } public GMetricDetail getDetail() { return gmetricDetail ; } } public static class GMetricDetail { public String metricName = null ; public String type = null ; public String units = null ; public String value = null ; public String dmax = null ; public String tmax = null ; public String slope = null ; public String toString() { StringBuilder b = new StringBuilder() ; b.append( metricName ); b.append("/"); b.append( type ); b.append("/"); b.append( value ); b.append("/"); b.append( units ); b.append("/"); b.append( dmax ); b.append("/"); b.append( tmax ); b.append("/"); b.append( slope ); b.append("/"); return b.toString() ; } } }