Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iambedant/flamechartkt
Visualization tool for Android stack traces collected over an interval.
https://github.com/iambedant/flamechartkt
android compose-web flamegraph kmp-desktop kotlin-multiplatform wasm
Last synced: about 2 months ago
JSON representation
Visualization tool for Android stack traces collected over an interval.
- Host: GitHub
- URL: https://github.com/iambedant/flamechartkt
- Owner: iamBedant
- Created: 2024-06-30T18:27:42.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-08-04T16:13:52.000Z (6 months ago)
- Last Synced: 2024-12-18T01:09:41.069Z (about 2 months ago)
- Topics: android, compose-web, flamegraph, kmp-desktop, kotlin-multiplatform, wasm
- Language: Kotlin
- Homepage:
- Size: 17.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Backstory
While working on a project, I needed to visualize a collection of stack traces. During my exploration of existing solutions, I found Brendan Gregg's [FlameGraph](https://github.com/brendangregg/FlameGraph?tab=readme-ov-file). However, it didn't quite address my specific needs.## Why not FlameGraph
FlameGraph was designed to visualize the performance of backend applications in a multithreaded environment. On the x-axis of a FlameGraph, function calls from multiple threads are mostly merged into one. This approach is perfect for applications with many threads. However, for applications where the focus is primarily on a single thread's behavior, such as the Android main thread, it would be more useful to represent time on the x-axis. Google Chrome's dev tool offers a feature called FlameChart that addresses this need for web applications.## Project Purpose
This project aims to create a similar visualization tool for Android. While I could have written an adapter for Chrome's dev tool or PerfettoUI, I also wanted to explore the current state of WASM and Compose Multiplatform for some time now. This project seemed like a great opportunity to do so.## Disclaimer:
This repository is a work in progress. The primary goal at this stage is to just make it work. It is not intended as a resource for learning KMP or Compose Multiplatform.## Current state:
![Current Screenshot](screenshots/2024-08-01.png)