xref: /aosp_15_r20/external/opencensus-java/contrib/observability_ready_util/README.md (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
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