Open Telemetry android integration and usage example bundled with fixes for OTel/RxJava 2 (reason) & Retrofit 3/RxJava2 (reason).
App includes tracing examples from trivial sync ones to RxJava schedulers compatible
It's proposed to use Jaeger for it's one-line install.
https://www.jaegertracing.io/docs/1.43/getting-started/
docker run -d --name jaeger \
-e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
-e COLLECTOR_OTLP_ENABLED=true \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 4317:4317 \
-p 4318:4318 \
-p 14250:14250 \
-p 14268:14268 \
-p 14269:14269 \
-p 9411:9411 \
jaegertracing/all-in-one:1.43
Follow second commit changes
- copy all retrofit2.adapter.rxjava2 package files as is preserving paths
- all other additions place regarding your projects conventions
- dependencies
- disable stock retrofit/rx adapter to use bundled one
- add exclusion statements for each firebase component
- local tracing backend host
- pay attention to RxJava plugins init order. First should go 'destructive' one, like RxJava2Debug, they just set their own hooks, overriding any others, so there's no point use more than one. Then in any order 'safe' may be used, they add their hooks via composition with existing
- place configured deps into DI container, they may be global singletons, it's normal usecase
- configure retrofit
- use as in sample