doc: Add tracing.md, documenting eBPF tracing #20960
pull laanwj wants to merge 1 commits into bitcoin:master from laanwj:2021-01-tracing-doc changing 2 files +202 −0-
laanwj commented at 9:17 pm on January 18, 2021: memberAdd documentation for #19866.
-
laanwj added the label Docs on Jan 18, 2021
-
doc: Add tracing.md, documenting eBPF tracing
Add documentation for #19866.
-
laanwj force-pushed on Jan 18, 2021
-
jonatack commented at 9:58 pm on January 18, 2021: memberWow! Concept ACK.
-
practicalswift commented at 9:59 pm on January 18, 2021: contributorConcept ACK
-
RiccardoMasutti approved
-
RiccardoMasutti commented at 9:05 am on January 19, 2021: contributorACK
-
0xB10C changes_requested
-
0xB10C commented at 9:50 am on January 19, 2021: member
Concept ACK for tracing documentation and USDTs in general.
However, NACK on this PR in it’s current form. This adds documentation for USDT tracepoints that aren’t merged in master. #19866 did only add build system detection of sys/sdt.h and the tracing framework, but not the mentioned tracepoints.
The two needed commits adding the documented tracepoints would be 16ed9bc2488a96d895a6e277f284f24f4b9ba8ec and ea608d9adc7f41f929b8f6726774f9f09e26099c from this branch laanwj:usdt-probes. Did you mean to merge them first?
-
laanwj closed this on Jan 19, 2021
-
jb55 commented at 3:29 pm on January 19, 2021: member
“Wladimir J. van der Laan” notifications@github.com writes:
The two needed commits adding the documented tracepoints would be 16ed9bc and ea608d9 from this branch laanwj:usdt-probes. Did you mean to merge them first?
No, that’s not my work, it’s @jb55’s. I’m really confused here.
We only merged the build support for static traces. You mentioned that we should get that in first.
I don’t think we decided what arguments the static traces should have yet. In my connect_block example I was only passing the height, but we probably want to pass a few more things.
Some goals for static traces should be:
-
Somewhat stable API (order of arguments don’t change) so people can rely on these for scripting
-
Some motivational use case @0xB10C’s connected_block trace looks useful as well.
Cheers, Will
-
-
jnewbery commented at 11:02 am on January 21, 2021: member
I think we should probably get a concept ACK from other contributors on whether we should start adding tracepoints all over the code. I can see the benefit that they’re very powerful and add almost no overhead when not used. On the other hand, there’s almost an unlimited number of things that could be traced, adding
TRACE()
macros in lots of places could potentially make the source less readable, and it’s possible to do a lot of useful tracing with uprobes that don’t require any changes to the source.Do we know what other projects are doing? Is it common to put lots of USDTs into the master branch? Perhaps we should discuss what our approach should be in a core dev meeting.
-
jb55 commented at 7:49 pm on January 21, 2021: member
John Newbery notifications@github.com writes:
adding
TRACE()
macros in lots of places could potentially make the source less readable, and it’s possible to do a lot of useful tracing with uprobes that don’t require any changes to the source.agreed, USDTs should accompanied by motivating examples and scripts. No point adding USDTs that noone uses.
-
0xB10C commented at 5:16 pm on May 20, 2021: memberpicked this up in https://github.com/bitcoin/bitcoin/pull/22006
-
DrahtBot locked this on Aug 18, 2022
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-17 15:12 UTC
More mirrored repositories can be found on mirror.b10c.me