Discover and explore top open-source AI tools and projects—updated daily.
Universal CPU profiler for simplified application analysis
Top 77.7% on SourcePulse
Summary
indragiek/uniprof
is a universal CPU profiler simplifying performance analysis for developers and AI agents. It provides a unified interface across diverse runtimes, enabling profiling without code changes or added dependencies, and automatically identifies performance bottlenecks.
How It Works
This tool acts as a meta-profiler, abstracting platform-specific tools by automatically detecting runtimes (Python, Node.js, Ruby, JVM, .NET, etc.) and selecting appropriate profilers (e.g., py-spy, 0x, async-profiler). It defaults to using pre-configured Docker containers for consistent, isolated environments, simplifying setup. An alternative --mode host
allows using locally installed profilers. Outputs are normalized, and statistical analysis pinpoints bottlenecks.
Quick Start & Requirements
npm install -g uniprof
npx uniprof <language> <script>
(e.g., npx uniprof python app.py
).uniprof --visualize <language> <script>
for immediate flamegraph viewing.Highlighted Details
Maintenance & Community
The README credits underlying profilers but provides no details on active maintainers, community channels, or roadmaps.
Licensing & Compatibility
The uniprof
core tooling is MIT licensed. Docker images bundle third-party profilers with their own licenses (MIT, Apache 2.0, GPL). Compatibility is primarily for macOS and Linux.
Limitations & Caveats
Windows hosts are not supported, nor is profiling native Windows executables via WSL2. Native macOS Mach-O binaries require host mode. Accurate native profiling depends on applications being compiled with debug symbols and frame pointers.
1 month ago
Inactive