https://github.com/spotify/ffwd-client-java
Java client for FastForward
https://github.com/spotify/ffwd-client-java
java
Last synced: about 1 year ago
JSON representation
Java client for FastForward
- Host: GitHub
- URL: https://github.com/spotify/ffwd-client-java
- Owner: spotify
- License: apache-2.0
- Created: 2014-05-30T16:55:30.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-09-19T16:21:57.000Z (almost 2 years ago)
- Last Synced: 2025-04-05T17:13:40.494Z (over 1 year ago)
- Topics: java
- Language: Java
- Homepage:
- Size: 398 KB
- Stars: 6
- Watchers: 8
- Forks: 8
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DEPRECATION NOTICE
This repo is no longer actively maintained. While it should continue to work and there are no major known bugs, we will not be improving ffwd or releasing new versions.
# A java client to FastForward
[](https://circleci.com/gh/spotify/ffwd-client-java)
A java client for the native protobuf protocol of [ffwd](https://github.com/spotify/ffwd).
## Usage
```xml
com.spotify.ffwd
ffwd-client
LATEST-VERSION
```
```java
public class Foo {
private static final FastForward ffwd = FastForward.setup();
private static final Metric metric = FastForward.metric("foo.metric").attribute("class", Foo.class.getCanonicalName());
public void run() throws IOException {
ffwd.send(metric.value(42));
}
}
```
## OpenCensus Exporter
All registered OpenCensus Stats views will be exported to FFWD.
At this time histograms/distributions are not supported in Heroic until [#476](https://github.com/spotify/heroic/issues/476) is resolved.
```xml
com.spotify.ffwd
opencensus-exporter
LATEST-VERSION
```
```java
com.spotify.ffwd.FfwdStatsExporter.createAndRegister(
com.spotify.ffwd.FfwdStatsConfiguration.builder().setExporterIntervalSeconds(30).build()
);
```
# Contributing
1. Fork ffwd-java-client from [GitHub](https://github.com/spotify/ffwd-java-client) and clone your fork.
2. Hack.
3. Push the branch back to GitHub.
4. Send a pull request to our upstream repo.
# Releasing
Releasing is done via the `maven-release-plugin` and `nexus-staging-plugin` which are configured via the
`release` [profile](https://github.com/spotify/semantic-metrics/blob/master/pom.xml#L140). Deploys are staged in oss.sonatype.org before being deployed to Maven Central. Check out the [maven-release-plugin docs](http://maven.apache.org/maven-release/maven-release-plugin/) and the [nexus-staging-plugin docs](https://help.sonatype.com/repomanager2) for more information.
To release, first run:
``mvn -P release release:prepare``
You will be prompted for the release version and the next development version. On success, follow with:
``mvn -P release release:perform``