1*a24ffb47SSadaf Ebrahimi# OpenCensus Observability Ready Util for Java 2*a24ffb47SSadaf Ebrahimi 3*a24ffb47SSadaf Ebrahimi[![Build Status][travis-image]][travis-url] 4*a24ffb47SSadaf Ebrahimi[![Windows Build Status][appveyor-image]][appveyor-url] 5*a24ffb47SSadaf Ebrahimi 6*a24ffb47SSadaf EbrahimiThe *OpenCensus Observability Ready Util for Java* allows users to use OpenCensus easily. 7*a24ffb47SSadaf Ebrahimi 8*a24ffb47SSadaf EbrahimiIt provides a wrapper that 9*a24ffb47SSadaf Ebrahimi* Enables [Basic RPC views](https://github.com/census-instrumentation/opencensus-java/blob/2a17c8482ffb04540ea4ac0a5f746ad8d536c996/contrib/grpc_metrics/src/main/java/io/opencensus/contrib/grpc/metrics/RpcViews.java#L219) 10*a24ffb47SSadaf Ebrahimi* Sets Probabilistic sampling rate to `0.0001` 11*a24ffb47SSadaf Ebrahimi* Creates and Registers OCAgent Exporter to collect traces and metrics 12*a24ffb47SSadaf Ebrahimi 13*a24ffb47SSadaf Ebrahimi## Quickstart 14*a24ffb47SSadaf Ebrahimi 15*a24ffb47SSadaf Ebrahimi### Add the dependencies to your project 16*a24ffb47SSadaf Ebrahimi 17*a24ffb47SSadaf EbrahimiFor Maven add to your `pom.xml`: 18*a24ffb47SSadaf Ebrahimi```xml 19*a24ffb47SSadaf Ebrahimi<dependencies> 20*a24ffb47SSadaf Ebrahimi <dependency> 21*a24ffb47SSadaf Ebrahimi <groupId>io.opencensus</groupId> 22*a24ffb47SSadaf Ebrahimi <artifactId>opencensus-contrib-observability-ready-util</artifactId> 23*a24ffb47SSadaf Ebrahimi <version>0.25.0</version> 24*a24ffb47SSadaf Ebrahimi </dependency> 25*a24ffb47SSadaf Ebrahimi</dependencies> 26*a24ffb47SSadaf Ebrahimi``` 27*a24ffb47SSadaf Ebrahimi 28*a24ffb47SSadaf EbrahimiFor Gradle add to your dependencies: 29*a24ffb47SSadaf Ebrahimi```groovy 30*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-contrib-observability-ready-util:0.25.0' 31*a24ffb47SSadaf Ebrahimi``` 32*a24ffb47SSadaf Ebrahimi 33*a24ffb47SSadaf Ebrahimi### Enable OpenCensus: 34*a24ffb47SSadaf Ebrahimi 35*a24ffb47SSadaf Ebrahimi```java 36*a24ffb47SSadaf Ebrahimiimport io.opencensus.contrib.observability.ready.util.BasicSetup; 37*a24ffb47SSadaf Ebrahimi 38*a24ffb47SSadaf Ebrahimipublic class YourClass { 39*a24ffb47SSadaf Ebrahimi public static void main(String[] args) { 40*a24ffb47SSadaf Ebrahimi // It is recommended to call this method before doing any RPC call to avoid missing stats. 41*a24ffb47SSadaf Ebrahimi BasicSetup.enableOpenCensus("with-service-name"); 42*a24ffb47SSadaf Ebrahimi } 43*a24ffb47SSadaf Ebrahimi} 44*a24ffb47SSadaf Ebrahimi``` 45*a24ffb47SSadaf Ebrahimi 46*a24ffb47SSadaf Ebrahimi> If Agent is not yet up and running, Exporter will just retry connection. 47*a24ffb47SSadaf Ebrahimi 48*a24ffb47SSadaf Ebrahimi### And deploy OpenCensus Agent: 49*a24ffb47SSadaf Ebrahimi 50*a24ffb47SSadaf EbrahimiIt will require you to deploy the [OpenCensus-Agent](https://github.com/census-instrumentation/opencensus-service#opencensus-agent) in order to export and examine the stats and traces. 51*a24ffb47SSadaf EbrahimiThe OpenCensus Agent exporter aka “ocagent-exporter” enables your applications to send the 52*a24ffb47SSadaf Ebrahimiobservability that they’ve collected using OpenCensus to the OpenCensus Agent. 53*a24ffb47SSadaf Ebrahimi 54*a24ffb47SSadaf Ebrahimi 55*a24ffb47SSadaf Ebrahimi[travis-image]: https://travis-ci.org/census-instrumentation/opencensus-java.svg?branch=master 56*a24ffb47SSadaf Ebrahimi[travis-url]: https://travis-ci.org/census-instrumentation/opencensus-java 57*a24ffb47SSadaf Ebrahimi[appveyor-image]: https://ci.appveyor.com/api/projects/status/hxthmpkxar4jq4be/branch/master?svg=true 58*a24ffb47SSadaf Ebrahimi[appveyor-url]: https://ci.appveyor.com/project/opencensusjavateam/opencensus-java/branch/master 59