Package com.googlecode.jmxtrans.example

Source Code of com.googlecode.jmxtrans.example.InterestingInfo

package com.googlecode.jmxtrans.example;

import com.google.common.collect.ImmutableList;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.googlecode.jmxtrans.JmxTransformer;
import com.googlecode.jmxtrans.guice.JmxTransModule;
import com.googlecode.jmxtrans.model.JmxProcess;
import com.googlecode.jmxtrans.model.Query;
import com.googlecode.jmxtrans.model.Server;
import com.googlecode.jmxtrans.model.output.GraphiteWriter;
import com.googlecode.jmxtrans.model.output.StdOutWriter;
import com.googlecode.jmxtrans.util.JsonPrinter;

import java.util.Collections;
import java.util.Map;

import static com.google.common.collect.Maps.newHashMap;

/**
* This class produces the json that is in example.json.
*
* @author jon
*/
public class InterestingInfo {

  private static final JsonPrinter printer = new JsonPrinter(System.out);

  public static void main(String[] args) throws Exception {
    Server.Builder serverBuilder = Server.builder()
        .setHost("w2")
        .setPort("1099")
        .setNumQueryThreads(2);

    Map<String, Object> settings = newHashMap();
    settings.put(GraphiteWriter.HOST, "192.168.192.133");
    settings.put(GraphiteWriter.PORT, 2003);

    GraphiteWriter gw = GraphiteWriter.builder()
        .setHost("192.168.192.133")
        .setPort(2003)
        .build();

    StdOutWriter sw = new StdOutWriter(ImmutableList.<String>of(), false, Collections.<String, Object>emptyMap());

    Query q = Query.builder()
        .setObj("java.lang:type=Memory")
        .addAttr("HeapMemoryUsage")
        .addAttr("NonHeapMemoryUsage")
        .addOutputWriters(gw, sw)
        .build();
    serverBuilder.addQuery(q);

    Query q2 = Query.builder()
        .setObj("java.lang:type=Threading")
        .addAttr("DaemonThreadCount")
        .addAttr("PeakThreadCount")
        .addAttr("ThreadCount")
        .addOutputWriters(gw, sw)
        .build();
    serverBuilder.addQuery(q2);

    Query q3 = Query.builder()
        .setObj("java.lang:name=ConcurrentMarkSweep,type=GarbageCollector")
        .addAttr("LastGcInfo")
        .addOutputWriters(gw, sw)
        .build();
    serverBuilder.addQuery(q3);

    Query q4 = Query.builder()
        .setObj("java.lang:name=ParNew,type=GarbageCollector")
        .addAttr("LastGcInfo")
        .addOutputWriters(gw, sw)
        .build();
    serverBuilder.addQuery(q4);

    JmxProcess process = new JmxProcess(serverBuilder.build());
    printer.prettyPrint(process);
    Injector injector = Guice.createInjector(new JmxTransModule(null));
    JmxTransformer transformer = injector.getInstance(JmxTransformer.class);

    transformer.executeStandalone(process);
  }

}
TOP

Related Classes of com.googlecode.jmxtrans.example.InterestingInfo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.