Skip to content

[h2olog] h2olog v2 part 1 (core)#3081

Merged
kazuho merged 122 commits into
masterfrom
gfx/h2olog2
Feb 7, 2024
Merged

[h2olog] h2olog v2 part 1 (core)#3081
kazuho merged 122 commits into
masterfrom
gfx/h2olog2

Conversation

@gfx

@gfx gfx commented Aug 4, 2022

Copy link
Copy Markdown
Contributor

This is a core feature of h2olog v2, which uses an internal logger (ptlslog, h2o/picotls#406) and a UNIX domain socket server.

Motivation: #3059

Done

  • Introduces new configuration h2olog.path to enable the new logging system
  • h2olog(1) has -u <unix-socket-path> option for the new logging system
    • it does not support the other flags (should be supported in the future)
  • Adding a test file 90h2olog-qlog.t to make sure h2olog v1 and v2 generate the same QLog outputs (raw outputs are slightly different because it's too difficult to make sure the perfect compatibility)

TODOs for the further development

  • Implement the other h2olog flags, including -S and -A
  • Cover USDTs defined in h2o (it only covers picotls and quicly so far)
  • Remove BCC dependency from h2olog (and of course, the h2o project)

@kazuho kazuho left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working on this. Looking really good.

Comment thread deps/picotls/lib/picotls.c Outdated
Comment thread deps/picotls/t/cli.c Outdated
Comment thread deps/picotls/t/picotls.c Outdated
Comment thread deps/picotls/include/picotls.h Outdated
Comment thread lib/common/probe_log.c Outdated
@gfx
gfx marked this pull request as ready for review August 26, 2022 04:52
@gfx gfx changed the title [WIP] h2olog v2 MVP of h2olog v2 Aug 26, 2022
@gfx
gfx requested a review from kazuho December 11, 2023 01:57
@gfx

gfx commented Dec 13, 2023

Copy link
Copy Markdown
Contributor Author

NOTE: #3149 should be merged to this branch first.

Conflict resolution on searchindex.js is required after that merge.

@kazuho kazuho left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the PR. Looks good modulo nitpicks.

Comment thread src/main.c Outdated
Comment thread srcdoc/configure/base_directives.mt Outdated
group: h2o # optional
permission: 666 # optional
sndbuf: 65536 # optional
EOT

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the directive is now host-level and the Unix socket is specified differently?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 62827f3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants