To the extent possible under law,
Novaquark
has waived all copyright and related or neighboring rights to
this work.
The library provide a lighter client than influxdb-java to push only metrics.
dependencies {
compile 'com.github.davidb:metrics-influxdb:0.9.3'
}
repositories {
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.davidb:metrics-influxdb:-SNAPSHOT'
}
Using the Builder API and its defaults, it is easy to use InfluxdbReporter:
ScheduledReporter reporter = InfluxdbReporter.forRegistry(registry).build();
reporter.start(10, TimeUnit.SECONDS);
With the previous simple configuration, all defaults will be used, mainly:
HTTP
127.0.0.1
8086
none
metrics
TimeUnit.SECONDS
TimeUnit.MILLISECONDS
do not report
v09
line protocolBut you are free of course to define all settings by yourself :
final ScheduledReporter reporter = InfluxdbReporter.forRegistry(registry)
.protocol(new HttpInfluxdbProtocol("http", "influxdb-server", 8086, "admin", "53CR3TP455W0RD", "metrics"))
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.filter(MetricFilter.ALL)
.skipIdleMetrics(false)
.tag("cluster", "CL01")
.tag("client", "OurImportantClient")
.tag("server", serverIP)
.transformer(new CategoriesMetricMeasurementTransformer("module", "artifact"))
.build();
reporter.start(10, TimeUnit.SECONDS);
And if you are still using v08 influxdb
final InfluxdbReporter reporter = InfluxdbReporter
.forRegistry(registry)
.protocol(new HttpInfluxdbProtocol("influxdb-server", 8086, "admin", "53CR3TP455W0RD", "metrics"))
.v08()
.build();
...