xref: /aosp_15_r20/external/opencensus-java/contrib/zpages/README.md (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
1*a24ffb47SSadaf Ebrahimi# OpenCensus Z-Pages
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 Z-Pages for Java* is a collection of HTML pages to display stats and trace data and
7*a24ffb47SSadaf Ebrahimiallows library configuration control.
8*a24ffb47SSadaf Ebrahimi
9*a24ffb47SSadaf Ebrahimi## Quickstart
10*a24ffb47SSadaf Ebrahimi
11*a24ffb47SSadaf Ebrahimi### Add the dependencies to your project
12*a24ffb47SSadaf Ebrahimi
13*a24ffb47SSadaf EbrahimiFor Maven add to your `pom.xml`:
14*a24ffb47SSadaf Ebrahimi```xml
15*a24ffb47SSadaf Ebrahimi<dependencies>
16*a24ffb47SSadaf Ebrahimi  <dependency>
17*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
18*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-api</artifactId>
19*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
20*a24ffb47SSadaf Ebrahimi  </dependency>
21*a24ffb47SSadaf Ebrahimi  <dependency>
22*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
23*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-contrib-zpages</artifactId>
24*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
25*a24ffb47SSadaf Ebrahimi  </dependency>
26*a24ffb47SSadaf Ebrahimi  <dependency>
27*a24ffb47SSadaf Ebrahimi    <groupId>io.opencensus</groupId>
28*a24ffb47SSadaf Ebrahimi    <artifactId>opencensus-impl</artifactId>
29*a24ffb47SSadaf Ebrahimi    <version>0.28.3</version>
30*a24ffb47SSadaf Ebrahimi    <scope>runtime</scope>
31*a24ffb47SSadaf Ebrahimi  </dependency>
32*a24ffb47SSadaf Ebrahimi</dependencies>
33*a24ffb47SSadaf Ebrahimi```
34*a24ffb47SSadaf Ebrahimi
35*a24ffb47SSadaf EbrahimiFor Gradle add to your dependencies:
36*a24ffb47SSadaf Ebrahimi```groovy
37*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-api:0.28.3'
38*a24ffb47SSadaf Ebrahimicompile 'io.opencensus:opencensus-contrib-zpages:0.28.3'
39*a24ffb47SSadaf Ebrahimiruntime 'io.opencensus:opencensus-impl:0.28.3'
40*a24ffb47SSadaf Ebrahimi```
41*a24ffb47SSadaf Ebrahimi
42*a24ffb47SSadaf Ebrahimi### Register the Z-Pages
43*a24ffb47SSadaf Ebrahimi
44*a24ffb47SSadaf Ebrahimi```java
45*a24ffb47SSadaf Ebrahimipublic class MyMainClass {
46*a24ffb47SSadaf Ebrahimi  public static void main(String[] args) throws Exception {
47*a24ffb47SSadaf Ebrahimi    ZPageHandlers.startHttpServerAndRegisterAll(8080);
48*a24ffb47SSadaf Ebrahimi    // ... do work
49*a24ffb47SSadaf Ebrahimi  }
50*a24ffb47SSadaf Ebrahimi}
51*a24ffb47SSadaf Ebrahimi```
52*a24ffb47SSadaf Ebrahimi
53*a24ffb47SSadaf Ebrahimi### View stats and spans on Z-Pages
54*a24ffb47SSadaf Ebrahimi
55*a24ffb47SSadaf Ebrahimi#### View RPC stats on /rpcz page
56*a24ffb47SSadaf Ebrahimi
57*a24ffb47SSadaf EbrahimiThe /rpcz page displays the canonical gRPC cumulative and interval stats broken down by RPC methods.
58*a24ffb47SSadaf EbrahimiExample:
59*a24ffb47SSadaf Ebrahimi
60*a24ffb47SSadaf Ebrahimi![rpcz-example](screenshots/rpcz-example.png)
61*a24ffb47SSadaf Ebrahimi
62*a24ffb47SSadaf Ebrahimi#### View measures and stats for all exported views on /statsz page
63*a24ffb47SSadaf Ebrahimi
64*a24ffb47SSadaf EbrahimiThe /statsz page displays measures and stats for all exported views. Views are grouped into directories
65*a24ffb47SSadaf Ebrahimiaccording to their namespace. Example:
66*a24ffb47SSadaf Ebrahimi
67*a24ffb47SSadaf Ebrahimi![statsz-example-1](screenshots/statsz-example-1.png)
68*a24ffb47SSadaf Ebrahimi![statsz-example-2](screenshots/statsz-example-2.png)
69*a24ffb47SSadaf Ebrahimi
70*a24ffb47SSadaf Ebrahimi#### View trace spans on /tracez page
71*a24ffb47SSadaf Ebrahimi
72*a24ffb47SSadaf EbrahimiThe /tracez page displays information about all active spans and all sampled spans based on latency
73*a24ffb47SSadaf Ebrahimiand errors. Example:
74*a24ffb47SSadaf Ebrahimi
75*a24ffb47SSadaf Ebrahimi![tracez-example](screenshots/tracez-example.png)
76*a24ffb47SSadaf Ebrahimi
77*a24ffb47SSadaf Ebrahimi#### View and update tracing configuration on /traceconfigz page
78*a24ffb47SSadaf Ebrahimi
79*a24ffb47SSadaf EbrahimiThe /traceconfigz page displays information about the current active tracing configuration and
80*a24ffb47SSadaf Ebrahimiallows users to change it. Example:
81*a24ffb47SSadaf Ebrahimi
82*a24ffb47SSadaf Ebrahimi![traceconfigz-example](screenshots/traceconfigz-example.png)
83*a24ffb47SSadaf Ebrahimi
84*a24ffb47SSadaf Ebrahimi
85*a24ffb47SSadaf Ebrahimi### FAQ
86*a24ffb47SSadaf Ebrahimi
87*a24ffb47SSadaf Ebrahimi#### Why do I not see sampled spans based on latency and error codes for a given span name?
88*a24ffb47SSadaf EbrahimiSampled spans based on latency and error codes are available only for registered span names.
89*a24ffb47SSadaf EbrahimiFor more details see [SampledSpanStore][sampledspanstore-url].
90*a24ffb47SSadaf Ebrahimi
91*a24ffb47SSadaf Ebrahimi[travis-image]: https://travis-ci.org/census-instrumentation/opencensus-java.svg?branch=master
92*a24ffb47SSadaf Ebrahimi[travis-url]: https://travis-ci.org/census-instrumentation/opencensus-java
93*a24ffb47SSadaf Ebrahimi[appveyor-image]: https://ci.appveyor.com/api/projects/status/hxthmpkxar4jq4be/branch/master?svg=true
94*a24ffb47SSadaf Ebrahimi[appveyor-url]: https://ci.appveyor.com/project/opencensusjavateam/opencensus-java/branch/master
95*a24ffb47SSadaf Ebrahimi[maven-image]: https://maven-badges.herokuapp.com/maven-central/io.opencensus/opencensus-contrib-zpages/badge.svg
96*a24ffb47SSadaf Ebrahimi[maven-url]: https://maven-badges.herokuapp.com/maven-central/io.opencensus/opencensus-contrib-zpages
97*a24ffb47SSadaf Ebrahimi[sampledspanstore-url]: https://github.com/census-instrumentation/opencensus-java/blob/master/api/src/main/java/io/opencensus/trace/export/SampledSpanStore.java
98