Re: [RFC PATCH v1] telemetry design overview (part 1)
- Date: Sat, 9 Jun 2018 09:31:57 +0200
- From: Duy Nguyen <pclouds@xxxxxxxxx>
- Subject: Re: [RFC PATCH v1] telemetry design overview (part 1)
On Sat, Jun 9, 2018 at 8:32 AM Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> wrote:
> Let's say you're in a corporate environment with Linux, OSX and Windows
> boxes, but all of whom have some shared mounts provisioned & ability to
> ship an /etc/gitconfig (wherever that lives on Windows).
> It's much easier to just do that than figure out how to build a custom
> Git on all three platforms.
Let's say I don't care about making it easier on corporate
environment. You have resources to do that.
> > Not making it a compile-time option could force  linux distro
> > to carry this function to everybody even if they don't use it (and
> > it's kinda dangerous to misuse if you don't anonymize the data
> > properly). I also prefer this a compile time option.
> Setting GIT_TRACE to a filename that you published is also similarly
> dangerous, so would setting up a trivial 4-line shell alias to wrap
> "git" and log what it's doing.
> >  Of course many distros can choose to patch it out. But it's the
> > same argument as bringing this option in in the first place: you guys
> > already have that code in private and now want to put it in stock git
> > to reduce maintenance cost, why add extra cost on linux distro
> > maintenance?
> 1) I really don't see the basis for this argument that they'd need to
> patch it out, they're not patching out e.g. GIT_TRACE now, which has
> all the same sort of concerns, it's just a format that's more of a
> hassle to parse than this proposed format.
> 2) I think you and Johannes are just seeing the "telemetry" part of
> this, but if you look past that all this *really* is is "GIT_TRACE
> facility that doesn't suck to parse".
If it's simply an improvement over GIT_TRACE, then I have no problem
with that. That is:
- there is no new, permanent way to turn this one like config keys
- there's no plugin support or whatever for keeping output. Keep it to
either a file or a file descriptor like we do with GIT_TRACE.
> There's a lot of use-cases for that which have nothing to do with
> what this facility is originally written for, for example, a novice
> git user could turn it on and have it log in ~ somewhere, and then
> run some contrib script which analyzes his git usage and spews out
> suggestions ("you use this command/option, but not this related
> useful command/option").
> Users asking for help on the #git IRC channel or on this mailing list
> could turn this on if they have a problem, and paste it into some
> tool they could show to others to see exactly what they're doing /
> where it went wrong.
And they can use GIT_TRACE now. If GIT_TRACE does not give enough info
(e.g. too few trace points), add them. This new proposal is more about
automation. With GIT_TRACE, which is more human friendly, I could skim
over the output and remove sensitive info before I send it out for
help. Machine-friendly format (even json) tends to be a lot more
complex and harder to read/filter this way.