Add telemetry events for core operations #6

merged colechristensen cole.christensen@gmail.com wants to merge feat/telemetry-events into main
No CI

Summary

  • Add :telemetry as a direct dependency
  • Instrument object read/write, ref updates, and receive-pack with :telemetry.span/3
  • All events documented in ExGitObjectstore.Telemetry moduledoc

Closes #10

Events emitted

Event prefix Metadata
[:ex_git_objectstore, :object, :read] sha, repo_id
[:ex_git_objectstore, :object, :write] object_type, repo_id, sha
[:ex_git_objectstore, :ref, :update] ref_path, repo_id, new_sha, old_sha
[:ex_git_objectstore, :protocol, :receive_pack] repo_id, command_count

Each emits :start, :stop, and :exception suffixed events via :telemetry.span/3.

Test plan

  • Object write emits start/stop with object_type and sha
  • Object read emits start/stop with sha
  • Ref update emits start/stop with ref_path
  • Receive-pack emits start/stop with command_count
  • 560 tests pass, dialyzer clean
Created Apr 09, 2026 at 20:22 UTC | Merged Apr 09, 2026 at 20:34 UTC by colechristensen cole.christensen@gmail.com