Search in sources :

Example 16 with Result

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));
}
Also used : Result(com.googlecode.jmxtrans.model.Result) JestResult(io.searchbox.client.JestResult) DocumentResult(io.searchbox.core.DocumentResult) Before(org.junit.Before)

Example 17 with Result

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));
}
Also used : ServerFixtures.dummyServer(com.googlecode.jmxtrans.model.ServerFixtures.dummyServer) Server(com.googlecode.jmxtrans.model.Server) Gson(com.google.gson.Gson) Index(io.searchbox.core.Index) Result(com.googlecode.jmxtrans.model.Result) JestResult(io.searchbox.client.JestResult) DocumentResult(io.searchbox.core.DocumentResult) Test(org.junit.Test)

Example 18 with Result

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("-----------------------------------------");
    }
}
Also used : AttributeNotFoundException(javax.management.AttributeNotFoundException) MBeanInfo(javax.management.MBeanInfo) Query(com.googlecode.jmxtrans.model.Query) MBeanAttributeInfo(javax.management.MBeanAttributeInfo) ObjectName(javax.management.ObjectName) Result(com.googlecode.jmxtrans.model.Result)

Example 19 with Result

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());
        }
    }
}
Also used : ManagedObject(com.googlecode.jmxtrans.monitoring.ManagedObject) ToString(lombok.ToString) Result(com.googlecode.jmxtrans.model.Result)

Example 20 with Result

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);
        }
    }
}
Also used : Map(java.util.Map) Result(com.googlecode.jmxtrans.model.Result)

Aggregations

Result (com.googlecode.jmxtrans.model.Result)38 Test (org.junit.Test)17 JmxResultProcessor (com.googlecode.jmxtrans.model.JmxResultProcessor)9 ObjectInstance (javax.management.ObjectInstance)9 Query (com.googlecode.jmxtrans.model.Query)8 Map (java.util.Map)8 Server (com.googlecode.jmxtrans.model.Server)7 Attribute (javax.management.Attribute)6 JsonGenerator (com.fasterxml.jackson.core.JsonGenerator)4 ServerFixtures.dummyServer (com.googlecode.jmxtrans.model.ServerFixtures.dummyServer)4 JestResult (io.searchbox.client.JestResult)4 ToString (lombok.ToString)4 OutputWriter (com.googlecode.jmxtrans.model.OutputWriter)3 QueryFixtures.dummyQuery (com.googlecode.jmxtrans.model.QueryFixtures.dummyQuery)3 ResultFixtures.singleTrueResult (com.googlecode.jmxtrans.model.ResultFixtures.singleTrueResult)3 DocumentResult (io.searchbox.core.DocumentResult)3 ArrayList (java.util.ArrayList)3 AttributeList (javax.management.AttributeList)3 ImmutableList (com.google.common.collect.ImmutableList)2 ImmutableMap (com.google.common.collect.ImmutableMap)2