Tips for profiling an application specifically looking at function call latency

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • flamegraph

    Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3 (by flamegraph-rs)

  • I've been looking into ways to achieve this, like https://github.com/flamegraph-rs/flamegraph, and https://github.com/tokio-rs/tracing, checking out span-close and parsing out the call-latency from that. It's been a bit messy, especially with tracing having to annotate all functions with #[instrument]. For my use-case, having to annotate everything isn't a dealbreaker but tracing does much more than just give call-latency, it's the most clear option for me at the moment but feels both unergonomic and a bit like overkill.

  • tracing

    Application level tracing for Rust.

  • I've been looking into ways to achieve this, like https://github.com/flamegraph-rs/flamegraph, and https://github.com/tokio-rs/tracing, checking out span-close and parsing out the call-latency from that. It's been a bit messy, especially with tracing having to annotate all functions with #[instrument]. For my use-case, having to annotate everything isn't a dealbreaker but tracing does much more than just give call-latency, it's the most clear option for me at the moment but feels both unergonomic and a bit like overkill.

  • 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.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts