xref: /aosp_15_r20/external/opencensus-java/exporters/metrics/ocagent/README.md (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
1*a24ffb47SSadaf Ebrahimi# OpenCensus Java OC-Agent Metrics Exporter
2*a24ffb47SSadaf Ebrahimi
3*a24ffb47SSadaf EbrahimiThe *OpenCensus Java OC-Agent Metrics Exporter* is the Java implementation of the OpenCensus Agent
4*a24ffb47SSadaf Ebrahimi(OC-Agent) Metrics Exporter.
5*a24ffb47SSadaf Ebrahimi
6*a24ffb47SSadaf Ebrahimi## Quickstart
7*a24ffb47SSadaf Ebrahimi
8*a24ffb47SSadaf Ebrahimi### Add the dependencies to your project
9*a24ffb47SSadaf Ebrahimi
10*a24ffb47SSadaf EbrahimiFor Maven add to your `pom.xml`:
11*a24ffb47SSadaf Ebrahimi```xml
12*a24ffb47SSadaf Ebrahimi<dependencies>
13*a24ffb47SSadaf Ebrahimi  <dependency>
14*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
15*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-api</artifactId>
16*a24ffb47SSadaf Ebrahimi    <version>0.22.0</version>
17*a24ffb47SSadaf Ebrahimi  </dependency>
18*a24ffb47SSadaf Ebrahimi  <dependency>
19*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
20*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-exporter-metrics-ocagent</artifactId>
21*a24ffb47SSadaf Ebrahimi    <version>0.22.0</version>
22*a24ffb47SSadaf Ebrahimi  </dependency>
23*a24ffb47SSadaf Ebrahimi  <dependency>
24*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
25*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-impl</artifactId>
26*a24ffb47SSadaf Ebrahimi    <version>0.22.0</version>
27*a24ffb47SSadaf Ebrahimi    <scope>runtime</scope>
28*a24ffb47SSadaf Ebrahimi  </dependency>
29*a24ffb47SSadaf Ebrahimi  <dependency>
30*a24ffb47SSadaf Ebrahimi    <groupId>io.netty</groupId>
31*a24ffb47SSadaf Ebrahimi    <artifactId>netty-tcnative-boringssl-static</artifactId>
32*a24ffb47SSadaf Ebrahimi    <version>2.0.20.Final</version>
33*a24ffb47SSadaf Ebrahimi    <scope>runtime</scope>
34*a24ffb47SSadaf Ebrahimi  </dependency>
35*a24ffb47SSadaf Ebrahimi</dependencies>
36*a24ffb47SSadaf Ebrahimi```
37*a24ffb47SSadaf Ebrahimi
38*a24ffb47SSadaf EbrahimiFor Gradle add to your dependencies:
39*a24ffb47SSadaf Ebrahimi```groovy
40*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-api:0.22.0'
41*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-exporter-metrics-ocagent:0.22.0'
42*a24ffb47SSadaf Ebrahimiruntime 'io.opencensus:opencensus-impl:0.22.0'
43*a24ffb47SSadaf Ebrahimiruntime 'io.netty:netty-tcnative-boringssl-static:2.0.20.Final'
44*a24ffb47SSadaf Ebrahimi```
45*a24ffb47SSadaf Ebrahimi
46*a24ffb47SSadaf Ebrahimi### Register the exporter
47*a24ffb47SSadaf Ebrahimi
48*a24ffb47SSadaf Ebrahimi```java
49*a24ffb47SSadaf Ebrahimiimport io.opencensus.exporter.metrics.ocagent.OcAgentMetricsExporter;
50*a24ffb47SSadaf Ebrahimi
51*a24ffb47SSadaf Ebrahimipublic class MyMainClass {
52*a24ffb47SSadaf Ebrahimi  public static void main(String[] args) throws Exception {
53*a24ffb47SSadaf Ebrahimi    OcAgentMetricsExporter.createAndRegister();
54*a24ffb47SSadaf Ebrahimi    // ...
55*a24ffb47SSadaf Ebrahimi  }
56*a24ffb47SSadaf Ebrahimi}
57*a24ffb47SSadaf Ebrahimi```
58*a24ffb47SSadaf Ebrahimi
59*a24ffb47SSadaf Ebrahimi## FAQ
60*a24ffb47SSadaf Ebrahimi
61*a24ffb47SSadaf Ebrahimi### Why is `netty-tcnative-boringssl-static` needed? Which version should I use?
62*a24ffb47SSadaf Ebrahimi
63*a24ffb47SSadaf EbrahimiIt's because this artifact depends on `grpc-netty` which requires a runtime dependency on `netty-tcnative-boringssl-static`
64*a24ffb47SSadaf Ebrahimifor it to work. For more details and a table of known working version combinations, see
65*a24ffb47SSadaf Ebrahimihttps://github.com/grpc/grpc-java/blob/master/SECURITY.md#netty.