Trace: batch staged blob reads during Bash commit checkpoints
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 25/100
Línea de trabajo
The issue says this work was implemented in #3631 by commit 77d2fe0e, so start by reviewing that commit and the linked Bash checkpoint code and tests. The remaining task is to record comparable before and after timings for the 301-file scenario described in #3631; the issue gives no timing procedure or test file to start from.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
In #3631, checkpointActiveShellAttribution calls ExecClient.IndexFile for each changed staged path. Every call scans the full index with git ls-files --stage and starts git cat-file --batch for one blob, although afterIndex[relPath] already contains its hash.
In @jiparis's review, a Bash call that staged 301 files in a 3.3k-file checkout took 10.6 seconds at commit-msg; the per-file index/blob reads account for about 5 seconds. The reviewer explicitly accepted this as a follow-up, not a blocker for #3631.
Scope
Read only the changed staged blobs by their already captured hashes in one git cat-file --batch call. Preserve the effective-index snapshot (including split, sparse, and temporary indexes), the GoGit fallback, exact binary content, and existing same-call attribution behavior.
Acceptance criteria
- The checkpoint takes one index snapshot and one batch blob read, without a full-index scan or Git process per changed file.
- Regression tests cover multiple staged files, binary content, and hashes captured before a later index change; existing Bash commit lifecycle tests pass.
- Record comparable before/after timing for the many-file scenario in #3631, without a timing-sensitive test assertion.
Implemented in #3631 by commit 77d2fe0e; the many-file timing remains to be recorded.
- Lenguaje dominante
- Go
- Estrellas
- 582
- Forks
- 61
- Merge medio
- 12 h 47 min
- PR fusionados (30 d)
- 137
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de chainloop-dev/chainloop
-
feature-parity trace-provider
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
chainloop-dev/chainloop#3802 ·
Los mantenedores suelen responder en 1 día
-
bug trace-provider
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
chainloop-dev/chainloop#3803 ·
Los mantenedores suelen responder en 1 día
-
feat(trace): support GitHub Copilot (CLI and VS Code) in Chainloop TracePosiblemente ocupada @migmartri la tomó hoy. AbiertoFeature spec trace-provider
chainloop-dev/chainloop#3800 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Allow enabling policy enforcement at the workflow contract levelPosiblemente ocupada @migmartri la tomó hace 10 días. Abiertocomponent/backend new-policy spec
chainloop-dev/chainloop#3762 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
chainloop component/CLI performance trace-provider
Dificultad 4/5 3-5 días Aptitud para principiantes 62/100
chainloop-dev/chainloop#3756 ·
Los mantenedores suelen responder en 1 día
Todos los issues de chainloop-dev/chainloop
Issues similares
-
GitHub webhook is not subscribed to release events, so `event: release` never triggersPosiblemente ocupada @qsun la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
woodpecker-ci/woodpecker#7542 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
zilliztech/milvus-backup#1386 ·
Los mantenedores suelen responder en 1 día
-
Pipelined flush no longer observes kill signals after #2042: flush backoffer is built with nil varsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
model:sonnet runtime:claude security size:S
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
FootprintAI/Containarium#3624 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día