Skip to content

[h2olog] move away from USDT #3059

Description

@kazuho

So far, we have used USDT as a building block of h2olog. However, we continue to face issues:

Generally speaking, USDT is a great tool. We can:

  • Attach probes to any number of probe points, not only inside the h2o process but inside kernel as well.
  • Run tiny programs (eBPF) to extract whatever data we want to.
  • We also use USDT + eBPF to inject information to h2o (-A and -S option of h2olog).

But for h2olog, we do not need the full flexibility.

What we need are:

  • Attach to the specified probe points defined inside h2o / quicly / picotls.
  • For each probe point being attached, emit information in the form defined in the h2o source tree.
  • Limit connections being tracked, by random ratio or IP address (-A and -S options).
  • Speed and reliability.

It would not be difficult to build something that meets these criteria, without using a "runtime." Note that we already have the necessary logic for filtering based on IP address: h2o_connect_lookup_acl.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions