xref: /aosp_15_r20/external/opencensus-java/exporters/trace/zipkin/README.md (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
1*a24ffb47SSadaf Ebrahimi# OpenCensus Zipkin Trace Exporter
2*a24ffb47SSadaf Ebrahimi[![Build Status][travis-image]][travis-url]
3*a24ffb47SSadaf Ebrahimi[![Windows Build Status][appveyor-image]][appveyor-url]
4*a24ffb47SSadaf Ebrahimi[![Maven Central][maven-image]][maven-url]
5*a24ffb47SSadaf Ebrahimi
6*a24ffb47SSadaf EbrahimiThe *OpenCensus Zipkin Trace Exporter* is a trace exporter that exports
7*a24ffb47SSadaf Ebrahimidata to Zipkin. [Zipkin](https://zipkin.io/) Zipkin is a distributed
8*a24ffb47SSadaf Ebrahimitracing system. It helps gather timing data needed to troubleshoot
9*a24ffb47SSadaf Ebrahimilatency problems in microservice architectures. It manages both the
10*a24ffb47SSadaf Ebrahimicollection and lookup of this data.
11*a24ffb47SSadaf Ebrahimi
12*a24ffb47SSadaf Ebrahimi## Quickstart
13*a24ffb47SSadaf Ebrahimi
14*a24ffb47SSadaf Ebrahimi### Prerequisites
15*a24ffb47SSadaf Ebrahimi
16*a24ffb47SSadaf Ebrahimi[Zipkin](https://zipkin.io/) stores and queries traces exported by
17*a24ffb47SSadaf Ebrahimiapplications instrumented with Census. The easiest way to start a zipkin
18*a24ffb47SSadaf Ebrahimiserver is to paste the below:
19*a24ffb47SSadaf Ebrahimi
20*a24ffb47SSadaf Ebrahimi```bash
21*a24ffb47SSadaf Ebrahimicurl -sSL https://zipkin.io/quickstart.sh | bash -s
22*a24ffb47SSadaf Ebrahimijava -jar zipkin.jar
23*a24ffb47SSadaf Ebrahimi```
24*a24ffb47SSadaf Ebrahimi
25*a24ffb47SSadaf Ebrahimi
26*a24ffb47SSadaf Ebrahimi### Hello Zipkin
27*a24ffb47SSadaf Ebrahimi
28*a24ffb47SSadaf Ebrahimi#### Add the dependencies to your project
29*a24ffb47SSadaf Ebrahimi
30*a24ffb47SSadaf EbrahimiFor Maven add to your `pom.xml`:
31*a24ffb47SSadaf Ebrahimi```xml
32*a24ffb47SSadaf Ebrahimi<dependencies>
33*a24ffb47SSadaf Ebrahimi  <dependency>
34*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
35*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-api</artifactId>
36*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
37*a24ffb47SSadaf Ebrahimi  </dependency>
38*a24ffb47SSadaf Ebrahimi  <dependency>
39*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
40*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-exporter-trace-zipkin</artifactId>
41*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
42*a24ffb47SSadaf Ebrahimi  </dependency>
43*a24ffb47SSadaf Ebrahimi  <dependency>
44*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
45*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-impl</artifactId>
46*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
47*a24ffb47SSadaf Ebrahimi    <scope>runtime</scope>
48*a24ffb47SSadaf Ebrahimi  </dependency>
49*a24ffb47SSadaf Ebrahimi</dependencies>
50*a24ffb47SSadaf Ebrahimi```
51*a24ffb47SSadaf Ebrahimi
52*a24ffb47SSadaf EbrahimiFor Gradle add to your dependencies:
53*a24ffb47SSadaf Ebrahimi```groovy
54*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-api:0.28.3'
55*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-exporter-trace-zipkin:0.28.3'
56*a24ffb47SSadaf Ebrahimiruntime 'io.opencensus:opencensus-impl:0.28.3'
57*a24ffb47SSadaf Ebrahimi```
58*a24ffb47SSadaf Ebrahimi
59*a24ffb47SSadaf Ebrahimi#### Register the exporter
60*a24ffb47SSadaf Ebrahimi
61*a24ffb47SSadaf EbrahimiThis will report Zipkin v2 json format to a single server. Alternate
62*a24ffb47SSadaf Ebrahimi[senders](https://github.com/openzipkin/zipkin-reporter-java) are available.
63*a24ffb47SSadaf Ebrahimi
64*a24ffb47SSadaf Ebrahimi```java
65*a24ffb47SSadaf Ebrahimipublic class MyMainClass {
66*a24ffb47SSadaf Ebrahimi  public static void main(String[] args) throws Exception {
67*a24ffb47SSadaf Ebrahimi    ZipkinTraceExporter.createAndRegister("http://127.0.0.1:9411/api/v2/spans", "my-service");
68*a24ffb47SSadaf Ebrahimi    // ...
69*a24ffb47SSadaf Ebrahimi  }
70*a24ffb47SSadaf Ebrahimi}
71*a24ffb47SSadaf Ebrahimi```
72*a24ffb47SSadaf Ebrahimi
73*a24ffb47SSadaf Ebrahimi#### Java Versions
74*a24ffb47SSadaf Ebrahimi
75*a24ffb47SSadaf EbrahimiJava 6 or above is required for using this exporter.
76*a24ffb47SSadaf Ebrahimi
77*a24ffb47SSadaf Ebrahimi[travis-image]: https://travis-ci.org/census-instrumentation/opencensus-java.svg?branch=master
78*a24ffb47SSadaf Ebrahimi[travis-url]: https://travis-ci.org/census-instrumentation/opencensus-java
79*a24ffb47SSadaf Ebrahimi[appveyor-image]: https://ci.appveyor.com/api/projects/status/hxthmpkxar4jq4be/branch/master?svg=true
80*a24ffb47SSadaf Ebrahimi[appveyor-url]: https://ci.appveyor.com/project/opencensusjavateam/opencensus-java/branch/master
81*a24ffb47SSadaf Ebrahimi[maven-image]: https://maven-badges.herokuapp.com/maven-central/io.opencensus/opencensus-exporter-trace-zipkin/badge.svg
82*a24ffb47SSadaf Ebrahimi[maven-url]: https://maven-badges.herokuapp.com/maven-central/io.opencensus/opencensus-exporter-trace-zipkin
83