finds.dev← search

// the find

android10/frodo

★ 1,461 · Java · updated Aug 2018

Android Library for Logging RxJava Observables and Subscribers.

Frodo is an annotation-based debug logging library for RxJava 1.x on Android, built on AspectJ bytecode weaving. You drop @RxLogObservable on a method returning an Observable and get automatic logcat output showing emitted items, scheduler threads, and execution time. It's for Android developers who were actively using RxJava 1.x around 2015-2018.

The AspectJ weaving approach is genuinely clean — zero runtime overhead in release builds because the bytecode injection only runs when the Gradle plugin is applied to debug variants, so there's no risk of accidentally shipping logging code. The scope system (@RxLogObservable(Scope.STREAM) vs Scope.SCHEDULERS etc.) is well thought out and lets you narrow output without removing the annotation. The backpressure logging for Subscribers is actually useful — it shows request(n) calls alongside onNext counts, which is exactly what you need when debugging backpressure issues. Test coverage is solid for a library of this era.

This targets RxJava 1.x, which reached end-of-life in March 2018 — the same month this repo went quiet. Anyone on RxJava 2.x or 3.x gets nothing here, and the Android ecosystem has largely moved to Kotlin coroutines and Flow anyway, so the addressable audience is essentially zero new projects. The multi-module limitation is a real gotcha: library modules always build as release, so annotations in any :library module are silently ignored — easy to spend an hour wondering why nothing logs. Distribution was through Bintray/JCenter, both of which are shut down, so installing this today requires building from source.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →