Metrics Client File Sink
File sink for metrics client.
Usage
Add Dependency
Determine the latest version of the library in Maven Central.
Maven
Add a dependency to your pom:
<dependency>
<groupId>com.arpnetworking.metrics.extras</groupId>
<artifactId>file-sink-extra</artifactId>
<version>VERSION</version>
</dependency>
The Maven Central repository is included by default.
Gradle
Add a dependency to your build.gradle:
compile group: 'com.arpnetworking.metrics.extras', name: 'file-sink-extra', version: 'VERSION'
Add the Maven Central Repository into your build.gradle:
repositories {
mavenCentral()
}
SBT
Add a dependency to your project/Build.scala:
val appDependencies = Seq(
"com.arpnetworking.metrics.extras" % "file-sink-extra" % "VERSION"
)
The Maven Central repository is included by default.
Set as Sink on MetricsFactory
To override the default sink on the MetricsFactory do the following:
final MetricsFactory metricsFactory = new TsdMetricsFactory.Builder()
.setSinks(Collections.singletonList(new FileSink.Builder().build())
.build();
In most cases the default arguments are sufficient; however, you may also customize the FileSink like this:
final MetricsFactory metricsFactory = new TsdMetricsFactory.Builder()
.setSinks(Collections.singletonList(
new ApacheHttpSink.Builder()
.setDirectory(new File("/var/log"))
.setName("metrics")
.setExtension(".ts")
.setMaxHistory(2)
.setMaxFileSize("10MB")
.setCompress(false)
.setImmediateFlush(true)
.setDropWhenQueueFull(true)
.setMaxQueueSize(1000)
.build())
.build();
For more information on configuring MetricsFactory please see metrics-client-java.
Steno
The library contains a second sink StenoFileSink for backwards compatibility; however, the format is deprecated and scheduled for removal from the library. We strongly recommend migrating to FileSink or apache-http-sink-extra.
Building
Prerequisites:
- JDK8 (Or Invoke with JDKW)
Building:
metrics-file-sink-extra> ./mvnw verify
To use the local version you must first install it locally:
metrics-file-sink-extra> ./mvnw install
You can determine the version of the local build from the pom file. Using the local version is intended only for testing or development.
You may also need to add the local repository to your build in order to pick-up the local version:
- Maven - Included by default.
- Gradle - Add mavenLocal() to build.gradle in the repositories block.
- SBT - Add resolvers += Resolver.mavenLocal into project/plugins.sbt.
License
Published under Apache Software License 2.0, see LICENSE
© Inscope Metrics Inc., 2017