use of com.googlecode.jmxtrans.model.Result in project jmxtrans by jmxtrans.
the class ElasticWriterTests method initializeMocks.
@Before
public void initializeMocks() throws IOException {
when(jestResultFalse.isSucceeded()).thenReturn(Boolean.FALSE);
when(jestResultTrue.isSucceeded()).thenReturn(Boolean.TRUE);
result = new Result(1, "attributeName", "className", "objDomain", "classNameAlias", "typeName", ImmutableMap.of("key", (Object) 1));
}
use of com.googlecode.jmxtrans.model.Result in project jmxtrans by jmxtrans.
the class ElasticWriterTests method sendMessageToElasticAndVerify.
@Test
public void sendMessageToElasticAndVerify() throws Exception {
Server serverWithKnownValues = serverWithAliasAndNoQuery();
int epoch = 1123455;
String attributeName = "attributeName123";
String className = "className123";
String objDomain = "objDomain123";
String classNameAlias = "classNameAlias123";
String typeName = "typeName123";
String key = "myKey";
int value = 1122;
Result resultWithKnownValues = new Result(epoch, attributeName, className, objDomain, classNameAlias, typeName, ImmutableMap.of(key, (Object) value));
ArgumentCaptor<Index> argument = ArgumentCaptor.forClass(Index.class);
// return for call, add index entry
when(mockClient.execute(isA(Index.class))).thenReturn(jestResultTrue);
writer.doWrite(serverWithKnownValues, dummyQuery(), ImmutableList.of(resultWithKnownValues));
verify(mockClient).execute(argument.capture());
assertEquals(PREFIX + "_jmx-entries", argument.getValue().getIndex());
Gson gson = new Gson();
String data = argument.getValue().getData(gson);
assertTrue("Contains host", data.contains(DEFAULT_HOST));
assertTrue("Contains port", data.contains(DEFAULT_PORT));
assertTrue("Contains attribute name", data.contains(attributeName));
assertTrue("Contains class name", data.contains(className));
assertTrue("Contains object domain", data.contains(objDomain));
assertTrue("Contains classNameAlias", data.contains(classNameAlias));
assertTrue("Contains type name", data.contains(typeName));
assertTrue("Contains timestamp", data.contains(String.valueOf(epoch)));
assertTrue("Contains key", data.contains(key));
assertTrue("Contains value", data.contains(String.valueOf(value)));
assertTrue("Contains serverAlias", data.contains(SERVER_ALIAS));
}
use of com.googlecode.jmxtrans.model.Result in project jmxtrans by jmxtrans.
the class TreeWalker3 method walkTree.
public void walkTree(MBeanServerConnection connection, Server server) throws Exception {
// key here is null, null returns everything!
Set<ObjectName> mbeans = connection.queryNames(null, null);
Map<String, String> output = newHashMap();
for (ObjectName name : mbeans) {
MBeanInfo info = connection.getMBeanInfo(name);
MBeanAttributeInfo[] attrs = info.getAttributes();
Query.Builder queryBuilder = Query.builder().setObj(name.getCanonicalName());
ResultCapture resultCapture = new ResultCapture();
queryBuilder.addOutputWriterFactory(resultCapture);
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);
}
for (Result result : resultCapture.results) {
output.put(result.getTypeName(), query.getAttr().toString());
}
}
for (Entry<String, String> entry : output.entrySet()) {
log.debug(entry.getKey());
log.debug(entry.getValue());
log.debug("-----------------------------------------");
}
}
use of com.googlecode.jmxtrans.model.Result in project jmxtrans by jmxtrans.
the class StatsDWriter method internalWrite.
@Override
public void internalWrite(Server server, Query query, ImmutableList<Result> results) throws Exception {
List<String> typeNames = this.getTypeNames();
for (Result result : results) {
log.debug(result.toString());
for (Entry<String, Object> values : result.getValues().entrySet()) {
if (isNotValidValue(values.getValue())) {
log.debug("Skipping message key[{}] with value: {}.", values.getKey(), values.getValue());
continue;
}
String line = KeyUtils.getKeyString(server, query, result, values, typeNames, rootPrefix) + computeActualValue(values.getValue()) + "|" + bucketType + "\n";
doSend(line.trim());
}
}
}
use of com.googlecode.jmxtrans.model.Result in project jmxtrans by jmxtrans.
the class StatsDWriter2 method write.
@Override
public void write(@Nonnull Writer writer, @Nonnull Server server, @Nonnull Query query, @Nonnull Iterable<Result> results) throws IOException {
for (Result result : results) {
for (Map.Entry<String, Object> values : result.getValues().entrySet()) {
if (isNotValidValue(values.getValue())) {
log.debug("Skipping message key[{}] with value: {}.", values.getKey(), values.getValue());
continue;
}
String line = KeyUtils.getKeyString(server, query, result, values, typeNames, rootPrefix) + computeActualValue(values.getValue()) + "|" + bucketType + "\n";
writer.write(line);
}
}
}
Aggregations