Query query = queryBuilder.build();
public void walkTree(MBeanServerConnection connection, Server server) throws Exception { // key here is null, null returns everything! Set<ObjectName> mbeans = connection.queryNames(null, null); for (ObjectName name : mbeans) { MBeanInfo info = connection.getMBeanInfo(name); MBeanAttributeInfo[] attrs = info.getAttributes(); Query.Builder queryBuilder = Query.builder() .setObj(name.getCanonicalName()) .addOutputWriterFactory(new StdOutWriter(ImmutableList.<String>of(), false, false, null, Collections.<String, Object>emptyMap())); for (MBeanAttributeInfo attrInfo : attrs) { queryBuilder.addAttr(attrInfo.getName()); } Query query = queryBuilder.build(); try { Iterable<Result> results = server.execute(query); query.runOutputWritersForQuery(server, results); } catch (AttributeNotFoundException anfe) { log.error("Error", anfe); } } } }
public Server build() { Server.Builder builder = Server.builder(server) .addOutputWriters(createOutputWriters(temporaryOutputWriters)) .clearQueries(); for (Map.Entry<Query, Set<OutputWriterFactory>> queryEntry : queries.entrySet()) { builder.addQuery( Query.builder(queryEntry.getKey()) .addOutputWriters(createOutputWriters(queryEntry.getValue())) .build()); } return builder.build(); }
public static Query queryAllowingDottedKeys() { return Query.builder() .setObj("myQuery:key=val") .setAllowDottedKeys(true) .build(); }
public static Query dummyQueryWithResultAlias() { return Query.builder() .setObj("myQuery:key=val") .setResultAlias("resultAlias") .build(); }
public Server build() { Server.Builder builder = Server.builder(server) .addOutputWriters(createOutputWriters(temporaryOutputWriters)) .clearQueries(); for (Map.Entry<Query, Set<OutputWriterFactory>> queryEntry : queries.entrySet()) { builder.addQuery( Query.builder(queryEntry.getKey()) .addOutputWriters(createOutputWriters(queryEntry.getValue())) .build()); } return builder.build(); }
.addAttr("DispachedCounter") .addOutputWriterFactory(gw) .build(); serverBuilder.addQuery(q); .addAttr("Subscriptions") .addOutputWriterFactory(gw) .build(); serverBuilder.addQuery(q2); .addAttr("Subscriptions") .addOutputWriterFactory(gw) .build(); serverBuilder.addQuery(q3); .addAttr("Subscriptions") .addOutputWriterFactory(gw) .build(); serverBuilder.addQuery(q4); .setObj("org.apache.activemq:BrokerName=localhost,Type=Broker") .addOutputWriterFactory(gw) .build(); serverBuilder.addQuery(q5); .addAttr("NonHeapMemoryUsage") .addOutputWriterFactory(gw) .build(); serverBuilder.addQuery(q6);
.addAttr("NonHeapMemoryUsage") .addOutputWriterFactories(gw, sw) .build(); serverBuilder.addQuery(q); .addAttr("ThreadCount") .addOutputWriterFactories(gw, sw) .build(); serverBuilder.addQuery(q2); .addAttr("LastGcInfo") .addOutputWriterFactories(gw, sw) .build(); serverBuilder.addQuery(q3); .addAttr("LastGcInfo") .addOutputWriterFactories(gw, sw) .build(); serverBuilder.addQuery(q4);
.setPort(2003) .build()) .build()) .build());
.setPort(2003) .build()) .build()) .build());
/** */ public static void main(String[] args) throws Exception { Server server = Server.builder() .setHost("w2") .setPort("1099") .setNumQueryThreads(2) .addQuery(Query.builder() .setObj("java.lang:type=Memory") .addAttr("HeapMemoryUsage", "NonHeapMemoryUsage") .addOutputWriterFactory(new StdOutWriter(ImmutableList.<String>of(), false, false, null, Collections.<String, Object>emptyMap())) .build()) .addQuery(Query.builder() .setObj("java.lang:name=CMS Old Gen,type=MemoryPool") .addAttr("Usage") .addOutputWriterFactory(new StdOutWriter(ImmutableList.<String>of(), false, false, null, Collections.<String, Object>emptyMap())) .build()) .addQuery(Query.builder() .setObj("java.lang:name=ConcurrentMarkSweep,type=GarbageCollector") .addAttr("LastGcInfo") .addOutputWriterFactory(new StdOutWriter(ImmutableList.<String>of(), false, false, null, Collections.<String, Object>emptyMap())) .build()) .build(); JmxProcess process = new JmxProcess(server); printer.prettyPrint(process); Injector injector = JmxTransModule.createInjector(new JmxTransConfiguration()); JmxTransformer transformer = injector.getInstance(JmxTransformer.class); transformer.executeStandalone(process); }
@SuppressWarnings("squid:S1313") // this is an example, no need to make IP addresses configurable public static void main(String[] args) throws Exception { printer.prettyPrint(new JmxProcess(Server.builder() .setHost("w2") .setPort("1099") .addQuery(Query.builder() .setObj("java.lang:type=GarbageCollector,name=ConcurrentMarkSweep") .addOutputWriterFactory(GraphiteWriter.builder() .setHost("192.168.192.133") .setPort(2003) .setDebugEnabled(true) .setRootPrefix("jon.foo.bar") .build()) .build()) .build())); }
public static Query queryAllowingDottedKeys() { return Query.builder() .setObj("myQuery:key=val") .setAllowDottedKeys(true) .build(); }
public static Query dummyQueryWithResultAlias() { return Query.builder() .setObj("myQuery:key=val") .setResultAlias("resultAlias") .build(); }
private static Server.Builder getBuilder(String host, String port, String queryObject) { return Server.builder() .setHost(host) .setPort(port) .setPool(createPool()) .addQuery(Query.builder() .setObj(queryObject) .build()); }
public static Query dummyQuery() { return Query.builder() .setObj("myQuery:key=val") .build(); }
public static Query queryUsingDomainAsKey() { return Query.builder() .setObj("myQuery:key=val") .setUseObjDomainAsKey(true) .build(); } }
public static Query queryWithAllTypeNames() { return Query.builder() .setObj("myQuery:key=val") .setUseAllTypeNames(true) .build(); }