Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: CriticalPath – Advanced Profiler for Android (crpath.app)
66 points by igorglad on Feb 28, 2024 | hide | past | favorite | 10 comments
I am excited to announce the project I am working on: an advanced mobile app profiler for Android. Its primary purpose is to optimize app performance and make it faster. Additionally, it serves as an excellent debugging tool.

The main distinction between existing tools, such as Perfetto and the Android Studio Profiler, is the ability to synchronize the trace with a video recording of your app. This allows you to see the app's UX alongside what's occurring within the app to identify what's causing slowdowns.

Another key feature is the ability to click on any slice and view the cross-thread execution path of function calls, tracing from a user action to the selected slice. This makes it easier to identify performance regressions: slow functions, suboptimal network calls, or functions clogging the main thread.

Additionally, we have implemented smart code instrumentation that has a minimal impact on performance.

I am one of the developers of this tool. The project is in active development and are eager for feedback from Android developers. You can try it out at https://crpath.app



I really wish I had this for iOS + the ability to sync this with Proxyman. Why? Because I want to sync app operations with Ad tracking or other privacy invading data leaving the device. It would be cool to do this for all my apps and then use the results to build a "tree" to map our how much of my data has been slurped out of my phone and what caused it.

But anyway, this is a really slick app and website. Great Work!


Looks very neat and the website is polished too, good job.

I assume this would work for Flutter apps too but I would need to run using Android Studio instead of the flutter CLI - is that correct?


For Android, we currently support only code written in JVM languages (Java/Kotlin) Our instrumentation transforms bytecode to provide automatic tracing of all functions. For Android Flutter app, we will instrument JVM code and libs (actually everything placed in `*.dex` files) but your Dart code would not be instrumented Thanks for the inquiry, feel free to reach out to me if you want to chat more!


Thanks for clarifying, that makes sense. I have a hybrid dart/rust app, so not much java code in there to profile. Neat idea to record video along with the profiling trace and wish you success.


Thank you!


Looks very neat and the website is polished too, good job.

I assume this would work for Flutter apps too but I would need to run using Android Studio instead of the flutter CLI - is that correct?


Looks neat! We could use something like this for profiling certain codepaths in our Android client.

Any plans to support native libraries built with the NDK as well?


At the moment we support JVM based libs automatically, NDK instrumentation requires manual code annotation. But we're going to automate it in one of the future releases


This is super cool! I know it's super new, but are there plans to support more languages in the future? Groovy would be nice


Thanks! Actually, the tool most probably already works for Groovy. We just didn't focus on that as it's not widely used language for Android development outside of build scripts :)

Could you provide more info on your use case?

PS: i'm also one of the tool's developers, leading the work on instrumentation part




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: