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 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 68*a24ffb47SSadaf Ebrahimi 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 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 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