xref: /aosp_15_r20/external/opencensus-java/exporters/trace/elasticsearch/README.md (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
1*a24ffb47SSadaf Ebrahimi# OpenCensus Elasticsearch Exporter
2*a24ffb47SSadaf Ebrahimi
3*a24ffb47SSadaf EbrahimiThe *OpenCensus Elasticsearch trace exporter* is a trace exporter that exports
4*a24ffb47SSadaf Ebrahimidata to [Elasticsearch](https://www.elastic.co/products/elasticsearch).
5*a24ffb47SSadaf Ebrahimi
6*a24ffb47SSadaf EbrahimiElasticsearch is a distributed, RESTful search and analytics engine.
7*a24ffb47SSadaf EbrahimiIt centrally stores your data so you can discover the expected and uncover the unexpected.
8*a24ffb47SSadaf EbrahimiUsing [Kibana](https://www.elastic.co/products/kibana) we can visualize our trace metrics
9*a24ffb47SSadaf Ebrahimiwith self designed dashboards and easily search as well.
10*a24ffb47SSadaf Ebrahimi
11*a24ffb47SSadaf EbrahimiOnce the trace is exported to Elasticsearch, you can search traces to find more data on trace.
12*a24ffb47SSadaf Ebrahimi
13*a24ffb47SSadaf Ebrahimi
14*a24ffb47SSadaf Ebrahimi
15*a24ffb47SSadaf Ebrahimi## Quickstart
16*a24ffb47SSadaf Ebrahimi
17*a24ffb47SSadaf Ebrahimi
18*a24ffb47SSadaf Ebrahimi### Prerequisites
19*a24ffb47SSadaf Ebrahimi
20*a24ffb47SSadaf Ebrahimi#### Add the dependencies to your project
21*a24ffb47SSadaf Ebrahimi
22*a24ffb47SSadaf EbrahimiFor Maven add to your `pom.xml`:
23*a24ffb47SSadaf Ebrahimi
24*a24ffb47SSadaf Ebrahimi```xml
25*a24ffb47SSadaf Ebrahimi<dependencies>
26*a24ffb47SSadaf Ebrahimi  <dependency>
27*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
28*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-api</artifactId>
29*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
30*a24ffb47SSadaf Ebrahimi  </dependency>
31*a24ffb47SSadaf Ebrahimi  <dependency>
32*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
33*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-exporter-trace-elasticsearch</artifactId>
34*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
35*a24ffb47SSadaf Ebrahimi  </dependency>
36*a24ffb47SSadaf Ebrahimi  <dependency>
37*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
38*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-impl</artifactId>
39*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
40*a24ffb47SSadaf Ebrahimi    <scope>runtime</scope>
41*a24ffb47SSadaf Ebrahimi  </dependency>
42*a24ffb47SSadaf Ebrahimi</dependencies>
43*a24ffb47SSadaf Ebrahimi```
44*a24ffb47SSadaf Ebrahimi
45*a24ffb47SSadaf EbrahimiFor Gradle add to your dependencies:
46*a24ffb47SSadaf Ebrahimi
47*a24ffb47SSadaf Ebrahimi```groovy
48*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-api:0.28.3'
49*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-exporter-trace-elasticsearch:0.28.3'
50*a24ffb47SSadaf Ebrahimiruntime 'io.opencensus:opencensus-impl:0.28.3'
51*a24ffb47SSadaf Ebrahimi```
52*a24ffb47SSadaf Ebrahimi
53*a24ffb47SSadaf Ebrahimi#### Register the exporter
54*a24ffb47SSadaf Ebrahimi
55*a24ffb47SSadaf EbrahimiThe ElasticsearchConfig is the configurations required by the exporter.
56*a24ffb47SSadaf Ebrahimi
57*a24ffb47SSadaf Ebrahimi```java
58*a24ffb47SSadaf Ebrahimiprivate final static String ELASTIC_SEARCH_URL= "http://localhost:9200";
59*a24ffb47SSadaf Ebrahimiprivate final static String INDEX_FOR_TRACE= "opencensus";
60*a24ffb47SSadaf Ebrahimiprivate final static String TYPE_FOR_TRACE= "trace";
61*a24ffb47SSadaf Ebrahimiprivate final static String APP_NAME= "sample-opencensus";
62*a24ffb47SSadaf Ebrahimi
63*a24ffb47SSadaf Ebrahimipublic static void main(String[] args) throws Exception{
64*a24ffb47SSadaf Ebrahimi
65*a24ffb47SSadaf Ebrahimi  ElasticsearchTraceConfiguration elasticsearchTraceConfiguration = ElasticsearchTraceConfiguration.builder()
66*a24ffb47SSadaf Ebrahimi  .setAppName(MICROSERVICE)
67*a24ffb47SSadaf Ebrahimi  .setElasticsearchUrl(ELASTIC_SEARCH_URL)
68*a24ffb47SSadaf Ebrahimi  .setElasticsearchIndex(INDEX_FOR_TRACE)
69*a24ffb47SSadaf Ebrahimi  .setElasticsearchType(TYPE_FOR_TRACE).build();
70*a24ffb47SSadaf Ebrahimi  ElasticsearchTraceExporter.createAndRegister(elasticsearchTraceConfiguration);
71*a24ffb47SSadaf Ebrahimi
72*a24ffb47SSadaf Ebrahimi}
73*a24ffb47SSadaf Ebrahimi```
74*a24ffb47SSadaf Ebrahimi
75*a24ffb47SSadaf Ebrahimi
76*a24ffb47SSadaf Ebrahimi![Sample Traces exported to Elasticsearch](https://raw.githubusercontent.com/malike/distributed-tracing/master/opencensus/distributed_tracing_elk_discover.png?raw=true)
77*a24ffb47SSadaf Ebrahimi
78*a24ffb47SSadaf Ebrahimi
79*a24ffb47SSadaf Ebrahimi#### Java Versions
80*a24ffb47SSadaf Ebrahimi
81*a24ffb47SSadaf EbrahimiJava 6 or above is required for using this exporter.
82*a24ffb47SSadaf Ebrahimi
83*a24ffb47SSadaf Ebrahimi
84