Iris is a Java library that allows your Java applications to communicate with Metricly’s REST API. You can use Iris to send metrics from your applications to Metricly, create dashboards, tags, elements, and much more.
Java Integration Options
We have several different options for monitoring Java applications. Each method varies in terms of setup difficulty and the amount / type of information it collects. See the table below for more information.
|Ananke||Java library you can use to push metrics to the StatsD listener embedded in our Linux agent.
This approach requires that you integrate the StatsDReporter into your applications.
|Dropwizard||Integrate the dropwizard-metrics library into your Dropwizard application and configure it to send metrics to the StatsD listener embedded in our Linux agent.|
|Iris||Java library you can use to push metrics directly to Metricly’s REST API.|
|Java Agent||Open-source and open-license Java agent the does the byte-code instrumentation for you. No changes to source code required.|
|JMX||Integration that relies on our Linux agent to collect JVM metrics (e.g., heap size, garbage collection, etc.) without code-level instrumentation.|
- Include the proper dependency from Maven for the appropriate build manager.
- Invoke the REST API client interface in a central location that your various Java classes can access while ensuring you replace username and password with the appropriate values.
MetriclyElementClient elementClient = new MetriclyElementRestClient ("username", "password");
- You may now send requests to the Metricly REST API. To read more about our API, find links to explore our API, and test some requests, see the API help section. Links to each client.java file follow where you can find the types of requests you can make and what parameters you can pass in:
- Element client (request types) / Element REST client (params)
- Notification client / Notification REST client
- Policy client / Policy REST client
The following request would list your elements that were in Metricly between the given dates:
elementClient.listElements(new ListElementsRequest() .withStartDate([date]) .withEndDate([date]));
The following request would list events that are external and have a category of “CRITICAL”:
eventClient.getEvents(new GetEventsRequest() .withIsExternal(true) .withCategory("CRITICAL"));
The following request would get 5-minute rollup metric statistics information for all metrics with an fqn of “aws.ec2.cpuutilization”:
metricClient.getMetricStatistics(new GetMetricStatisticsRequest() .withRollup("5M") .withFqn("aws.ec2.cpuutilization"));