git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC PATCH v1] telemetry design overview (part 1)

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 12, 2018, 16:04 UTC
Message-ID
<xmqq602oat49.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<20180609065132.GD30224@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 7 quoted lines
> In my experience the maintenance burden is not in the "connect to a
> socket" part, but the fact that you have to sprinkle the entry points
> throughout the code (e.g., "set 'cloning' flag to 1" or "I'm entering
> the pack generation phase of the fetch"). So I'd love to see us do that
> sprinkling _once_ where everyone can benefit, whether they want better
> tracing for debugging, telemetry across their installed base, or
> whatever.

I tend to agree. Transport (or file) can stay outside the core of this "telemetry" thing---agreeing on what and when to trace, and how the trace is represented, and having an API and solid guideline, would allow us to annotate the code just once and get useful data in a consistent way.

> The mechanism to handle those calls is much easier to plug in and out,
> then. And I don't have a huge preference for compile-time versus
> run-time, or whether bits are in-tree or out-of-tree. Obviously we'd
> have some basic "write to stderr or a file" consumer in-tree.

If it makes readers fearful of big brother feel safer, I think we probably can add code that is runtime controllable that is compiled in conditionally ;-)

I do not quite buy "Big brothers who want this for their own in house use case can afford to patch" argument, by the way. If anything, having a solid tracing mechanism (to which existing GIT_TRACE support _should_ be able to serve as a starting point) would mean small budget guys do not have to do their own investing to collect useful data over their customer base (I am seeing an analog in "popcon", opt-in stats of installed package in a distro, which we can view as "telemetry data for distro installer program").

Previous: Jeff KingNext: Johannes Sixt
Message 18 of 27 in “telemetry design overview (part 1)”
  1. telemetry design overview (part 1)git@jeffhostetler.com, Jun 7, 2018
  2. telemetry: design documenationgit@jeffhostetler.com, Jun 7, 2018
  3. Ævar Arnfjörð BjarmasonJun 8, 2018
  4. Johannes SixtJun 7, 2018
  5. Jeff KingJun 8, 2018
  6. Thomas BraunJun 8, 2018
  7. Johannes SixtJun 8, 2018
  8. Ævar Arnfjörð BjarmasonJun 8, 2018
  9. Duy NguyenJun 9, 2018
  10. Ævar Arnfjörð BjarmasonJun 9, 2018
  11. Jeff KingJun 9, 2018
  12. Johannes SchindelinJun 9, 2018
  13. Jeff KingJun 11, 2018
  14. Duy NguyenJun 9, 2018
  15. Jeff KingJun 9, 2018
  16. Johannes SixtJun 9, 2018
  17. Jeff KingJun 9, 2018
  18. Junio C HamanoJun 12, 2018
  19. Johannes SixtJun 9, 2018
  20. Johannes SchindelinJun 9, 2018
  21. Johannes SixtJun 9, 2018
  22. Jeff KingJun 11, 2018
  23. brian m. carlsonJun 10, 2018
  24. Jeff KingJun 11, 2018
  25. Jeff KingJun 11, 2018
  26. Ævar Arnfjörð BjarmasonJun 8, 2018
  27. Duy NguyenJun 8, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.