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.