Measuring Git performance with OpenTelemetry
Oct 16, 2023Jeff Hostetler

Summary
This post introduces an open-source tool, `trace2receiver`, which acts as an OpenTelemetry receiver component. This component translates Git's Trace2 performance logs into a common format (like OTLP) that can be ingested by OpenTelemetry visualization tools. It demonstrates how this enables distributed tracing of individual Git commands and their child processes, as well as aggregation of performance data over time. Examples show how to use this with SigNoz and Application Insights to analyze `git fetch` and `git status` commands, highlighting the impact of features like FSMonitor and Untracked Cache on performance.