Skip to content
This repository has been archived by the owner on Jul 3, 2023. It is now read-only.

Latest commit

 

History

History
135 lines (96 loc) · 4.27 KB

README.md

File metadata and controls

135 lines (96 loc) · 4.27 KB

Metrics Client File Sink

This project is outdated and no longer of use. We encourage the sending of metrics over HTTP

License: Apache 2 Travis Build Maven Artifact Javadocs

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