xref: /aosp_15_r20/external/opencensus-java/exporters/stats/signalfx/README.md (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
1*a24ffb47SSadaf Ebrahimi# OpenCensus SignalFx Stats Exporter
2*a24ffb47SSadaf Ebrahimi
3*a24ffb47SSadaf EbrahimiThe _OpenCensus SignalFx Stats Exporter_ is a stats exporter that
4*a24ffb47SSadaf Ebrahimiexports data to [SignalFx](https://signalfx.com), a real-time monitoring
5*a24ffb47SSadaf Ebrahimisolution for cloud and distributed applications. SignalFx ingests that
6*a24ffb47SSadaf Ebrahimidata and offers various visualizations on charts, dashboards and service
7*a24ffb47SSadaf Ebrahimimaps, as well as real-time anomaly detection.
8*a24ffb47SSadaf Ebrahimi
9*a24ffb47SSadaf Ebrahimi## Quickstart
10*a24ffb47SSadaf Ebrahimi
11*a24ffb47SSadaf Ebrahimi### Prerequisites
12*a24ffb47SSadaf Ebrahimi
13*a24ffb47SSadaf EbrahimiTo use this exporter, you must have a [SignalFx](https://signalfx.com)
14*a24ffb47SSadaf Ebrahimiaccount and corresponding [data ingest
15*a24ffb47SSadaf Ebrahimitoken](https://docs.signalfx.com/en/latest/admin-guide/tokens.html).
16*a24ffb47SSadaf Ebrahimi
17*a24ffb47SSadaf Ebrahimi#### Java versions
18*a24ffb47SSadaf Ebrahimi
19*a24ffb47SSadaf EbrahimiThis exporter requires Java 7 or above.
20*a24ffb47SSadaf Ebrahimi
21*a24ffb47SSadaf Ebrahimi### Add the dependencies to your project
22*a24ffb47SSadaf Ebrahimi
23*a24ffb47SSadaf EbrahimiFor Maven add to your `pom.xml`:
24*a24ffb47SSadaf Ebrahimi
25*a24ffb47SSadaf Ebrahimi```xml
26*a24ffb47SSadaf Ebrahimi<dependencies>
27*a24ffb47SSadaf Ebrahimi  <dependency>
28*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
29*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-api</artifactId>
30*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
31*a24ffb47SSadaf Ebrahimi  </dependency>
32*a24ffb47SSadaf Ebrahimi  <dependency>
33*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
34*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-exporter-stats-signalfx</artifactId>
35*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
36*a24ffb47SSadaf Ebrahimi  </dependency>
37*a24ffb47SSadaf Ebrahimi  <dependency>
38*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
39*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-impl</artifactId>
40*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
41*a24ffb47SSadaf Ebrahimi    <scope>runtime</scope>
42*a24ffb47SSadaf Ebrahimi  </dependency>
43*a24ffb47SSadaf Ebrahimi</dependencies>
44*a24ffb47SSadaf Ebrahimi```
45*a24ffb47SSadaf Ebrahimi
46*a24ffb47SSadaf EbrahimiFor Gradle add to your dependencies:
47*a24ffb47SSadaf Ebrahimi
48*a24ffb47SSadaf Ebrahimi```groovy
49*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-api:0.28.3'
50*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-exporter-stats-signalfx:0.28.3'
51*a24ffb47SSadaf Ebrahimiruntime 'io.opencensus:opencensus-impl:0.28.3'
52*a24ffb47SSadaf Ebrahimi```
53*a24ffb47SSadaf Ebrahimi
54*a24ffb47SSadaf Ebrahimi### Register the exporter
55*a24ffb47SSadaf Ebrahimi
56*a24ffb47SSadaf Ebrahimi```java
57*a24ffb47SSadaf Ebrahimipublic class MyMainClass {
58*a24ffb47SSadaf Ebrahimi  public static void main(String[] args) {
59*a24ffb47SSadaf Ebrahimi    // SignalFx token is read from Java system properties.
60*a24ffb47SSadaf Ebrahimi    // Stats will be reported every second by default.
61*a24ffb47SSadaf Ebrahimi    SignalFxStatsExporter.create(SignalFxStatsConfiguration.builder().build());
62*a24ffb47SSadaf Ebrahimi  }
63*a24ffb47SSadaf Ebrahimi}
64*a24ffb47SSadaf Ebrahimi```
65*a24ffb47SSadaf Ebrahimi
66*a24ffb47SSadaf EbrahimiIf you want to pass in the token yourself, or set a different reporting
67*a24ffb47SSadaf Ebrahimiinterval, use:
68*a24ffb47SSadaf Ebrahimi
69*a24ffb47SSadaf Ebrahimi```java
70*a24ffb47SSadaf Ebrahimi// Use token "your_signalfx_token" and report every 5 seconds.
71*a24ffb47SSadaf EbrahimiSignalFxStatsExporter.create(
72*a24ffb47SSadaf Ebrahimi    SignalFxStatsConfiguration.builder()
73*a24ffb47SSadaf Ebrahimi        .setToken("your_signalfx_token")
74*a24ffb47SSadaf Ebrahimi        .setExportInterval(Duration.create(5, 0))
75*a24ffb47SSadaf Ebrahimi        .build());
76*a24ffb47SSadaf Ebrahimi```
77