Trace: batch staged blob reads during Bash commit checkpoints
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Go
- Estrelas
- 582
- Forks
- 61
- Merge médio
- 12h 47min
- PRs com merge (30d)
- 137
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de chainloop-dev/chainloop
-
feature-parity trace-provider
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
chainloop-dev/chainloop#3802 ·
Mantenedores costumam responder em até 1 dia
-
bug trace-provider
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
chainloop-dev/chainloop#3803 ·
Mantenedores costumam responder em até 1 dia
-
feat(trace): support GitHub Copilot (CLI and VS Code) in Chainloop TraceTalvez já em andamento @migmartri assumiu hoje. AbertaFeature spec trace-provider
chainloop-dev/chainloop#3800 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Allow enabling policy enforcement at the workflow contract levelTalvez já em andamento @migmartri assumiu há 10 dias. Abertacomponent/backend new-policy spec
chainloop-dev/chainloop#3762 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
chainloop component/CLI performance trace-provider
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 62/100
chainloop-dev/chainloop#3756 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de chainloop-dev/chainloop
Issues semelhantes
-
GitHub webhook is not subscribed to release events, so `event: release` never triggersTalvez já em andamento @qsun assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
woodpecker-ci/woodpecker#7542 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
zilliztech/milvus-backup#1386 ·
Mantenedores costumam responder em até 1 dia
-
Pipelined flush no longer observes kill signals after #2042: flush backoffer is built with nil varsAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
model:sonnet runtime:claude security size:S
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
FootprintAI/Containarium#3624 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia