Our great sponsors
-
pyroscope
Discontinued Continuous Profiling Platform. Debug performance issues down to a single line of code [Moved to: https://github.com/grafana/pyroscope] (by pyroscope-io)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
MTuner
MTuner is a C/C++ memory profiler and memory leak finder for Windows, PlayStation 4 and 3, Android and other platforms
I might be a bit biased [0], but I feel like this is where profiling tools, and particularly continuous profiling tools shine. Sampling profilers look at stack traces X number of times per second resulting in a very low CPU overhead. And so essentially you're getting a very high precision trace. It's not exactly the same (e.g the order in which functions were called is not preserved), but can still be used for the same type of performance analysis.
For rust you can use eBPF to get these traces down to system calls. You can even profiler other people's software with it.
[0] I'm a co-founder at Pyroscope, where we're building an open source continuous profiling platform. https://pyroscope.io/
Remotery - https://github.com/Celtoys/Remotery
Visual Studio's built-in profiler is an ok sampling profiler. It doesn't give you a nice multi-thread view which is a huge advantage to a span based profiler.
MTuner is quite nice for debugging memory usage. Which is another gaping hole in the Rust ecosystem. https://github.com/milostosic/mtuner
Lots of tools generate data in a format viewable by the Chrome trace viewer. I think Chrome's tracer viewer is not great. Maybe someday someone will create a viewer for the format that's good. I get cranky when large traces don't render at 60fps. Web-based viewers are almost all very very slow and it makes me sad.
Remotery - https://github.com/Celtoys/Remotery
Visual Studio's built-in profiler is an ok sampling profiler. It doesn't give you a nice multi-thread view which is a huge advantage to a span based profiler.
MTuner is quite nice for debugging memory usage. Which is another gaping hole in the Rust ecosystem. https://github.com/milostosic/mtuner
Lots of tools generate data in a format viewable by the Chrome trace viewer. I think Chrome's tracer viewer is not great. Maybe someday someone will create a viewer for the format that's good. I get cranky when large traces don't render at 60fps. Web-based viewers are almost all very very slow and it makes me sad.
Related posts
- Show HN: I wrote a tool in Rust for tracking all allocations in a Linux process
- Introducing alloc-track: Precise memory profiling by stack trace and thread.
- Implementing a C++ memory allocator to track our framework memory usage
- Memory leak in a long running process.
- Hi, I’m new in rust, I have some expirience with c# and its classes ans structs. I can’t find information about that is happend with struct in rust when I pass it to function argument. Are there some copy effect ?