pyroscope-rs VS trippy

Compare pyroscope-rs vs trippy and see what are their differences.

InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
pyroscope-rs trippy
6 22
165 4,478
6.7% 2.8%
6.8 9.7
8 days ago about 22 hours ago
Rust Rust
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

pyroscope-rs

Posts with mentions or reviews of pyroscope-rs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-01.
  • Show HN: Pyroscope-rs, a multi-language profiler built with Rust
    1 project | news.ycombinator.com | 9 Aug 2022
  • Ask HN: What Are You Working On? (August 2022)
    8 projects | news.ycombinator.com | 1 Aug 2022
    A general purpose profiler: https://github.com/pyroscope-io/pyroscope-rs

    If someone is interested in this space, feel free to reach me!

  • Rust Is Portable
    10 projects | news.ycombinator.com | 27 Jul 2022
    I feel some of the OP points. I was working on a profiling agent lately, and one of the issues was running it on multiple platforms (just the four big ones linux/mac-x86/arm) on FFI (because it'll be run directly from python/ruby/etc...) and preferably having the thing just work without having to install or configure any dependencies.

    Like OP I hit two walls: libunwind, and linking. For libunwind, I ended up downloading/compiling manually; and for linking there is auditwheel[1]. Although it is a Python tool, I did actually end up using for Ruby (by creating a "fake python package", and then copying the linked dependencies).

    It was at that time that I learned about linking for dynamic libraries, patchelf and there is really no single/established tool to do this. I thought there should be something but most people seem to install the dependencies with any certain software. I also found, the hard way, that you still have to deal with gcc/c when working with Rust. It does isolate you from many stuff, but for many things there is no work around.

    There is a performance hit to this strategy, however, since shared dynamic libraries will be used by all the running programs that need them; whereas my solution will run its own instance. It made me wonder if wasm will come up with something similar without affecting portability.

    Finally, the project is open source and you can browse the code here: https://github.com/pyroscope-io/pyroscope-rs

    [1]: https://github.com/pypa/auditwheel

  • Pyroscope Profiler 0.5 released
    2 projects | /r/rust | 28 Apr 2022
    Version 0.5 is now live!: https://github.com/pyroscope-io/pyroscope-rs
  • What's everyone working on this week (17/2022)?
    9 projects | /r/rust | 25 Apr 2022
    Working on https://github.com/pyroscope-io/pyroscope-rs A profiling solution for Rust and other languages.
  • Rust support for continuous profiling added in Pyroscope v0.10.2
    3 projects | /r/rust | 15 Feb 2022
    Thanks to the maintainers at pprof-rs for helping us figure out how we can modify their profiler to create our rust agent (https://github.com/pyroscope-io/pyroscope-rs).

trippy

Posts with mentions or reviews of trippy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-02-12.
  • Nping – ping, but with a graph or table view
    3 projects | news.ycombinator.com | 12 Feb 2025
    Another interesting tool in this space is trippy, which ‘combines the functionality of traceroute and ping’

    https://github.com/fujiapple852/trippy

  • Schrödinger's IPv6 Cat
    1 project | news.ycombinator.com | 13 Dec 2024
    You can, with several caveats, detect which hop(s) on the path perform NAT by using some trickery [1]:

    > NAT devices are detected by observing a difference in the expected and actual checksum of the UDP packet that is returned as the part of the Original Datagram in the ICMP Time Exceeded message. If they differ then it indicates that a NAT device has modified the packet. This happens because the NAT device must recalculate the UDP checksum after modifying the packet (i.e. translating the source port) and so the checksum in the UDP packet that is nested in the ICMP error may not, depending on the device, match the original checksum.

    [1] https://github.com/fujiapple852/trippy/releases/tag/0.11.0

  • How Raw sockets behave differently in macOS and Linux
    1 project | news.ycombinator.com | 18 Sep 2024
    OP, you may find this [1] “trick” useful. It allows you to dynamically determine the correct byte order for the various IPv4 headers for the platform and thus avoid the need to statically decide on the byte ordering for each platform you intend to target.

    You may also find this [2] table useful, it shows which platforms allow the combination of IPPROTO_ICMP + IP_HDRINCL so it may be used without elevated privileges.

    In general, my experience of raw sockets is that they are not very “raw” at all, the OS can and does still perform a variety modifications and additions to what you send and receive, in highly platform specific and often poorly documented ways. In particular, TCP and raw sockets should generally be avoided.

    [1] https://github.com/fujiapple852/trippy/blob/master/crates/tr...

    [2] https://github.com/fujiapple852/trippy/issues/101#issuecomme...

  • Ask HN: What are you working on (August 2024)?
    132 projects | news.ycombinator.com | 24 Aug 2024
  • Apnic: Cgnat is harming internet innovation (2022)
    2 projects | news.ycombinator.com | 26 Apr 2024
    [3] https://github.com/fujiapple852/trippy/issues/1104
  • FLaNK Stack Weekly 11 Dec 2023
    31 projects | dev.to | 11 Dec 2023
  • Trippy – A Network Diagnostic Tool
    1 project | /r/patient_hackernews | 10 Dec 2023
    1 project | /r/hackernews | 10 Dec 2023
    1 project | /r/hypeurls | 9 Dec 2023
    7 projects | news.ycombinator.com | 9 Dec 2023
    You are right that showing packet loss for intermediate hops is a frequent source of confusion.

    Rather than leave it out, I added a status column which shows different statuses for intermediate hops (blue if the hop responds to less than 100% of probes and brown if it responds to 0%) vs the target hop (amber and red).

    Where this breaks down is when dealing with ECMP for UDP & TCP tracing, as a given hop (ttl) may represent the target for a given round of tracing but not for the next. The mistake, imho, is to associate _any_ data with a hop (ttl) rather than the hop in the context of a tracing flow.

    That is why Trippy had a number of features aimed at helping with ECMP, such as Paris and Dublin tracing, and the ability to filter tracing by unique flow id. I've covered these quite a bit in the 0.8.0 [0] and 0.9.0 [1] release notes if you want to know more.

    [0] https://github.com/fujiapple852/trippy/releases/tag/0.8.0

What are some alternatives?

When comparing pyroscope-rs and trippy you can also consider the following projects:

buildfarm - Bazel remote caching and execution service

mtr - Official repository for mtr, a network diagnostic tool

aasol - Minimal Rust library for the Direct Inversion in the Iterative Subspace (DIIS) algorithm and its variants

ratatui - Rust library that's all about cooking up terminal user interfaces (TUIs) 👨‍🍳🐀 [Moved to: https://github.com/ratatui/ratatui]

pprof-rs - A Rust CPU profiler implemented with the help of backtrace-rs

mezura - A fairly fast, fairly accurate and very customizable stats generator and growth tracker, for programming projects, in the form of a CLI executable, written in Rust.

InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured

Did you know that Rust is
the 5th most popular programming language
based on number of references?