Expose run statistics, profiling hooks and deterministic cost counters
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 28/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- go
- Área
- cli, observability
Línea de trabajo
Start at the CLI entry points behind capabilities --cli, then read the guide requirements for the new flags and stats JSON schema. Use the golden corpus and the metamorphic repeated-run and worker-count checks as the validation targets; done means the documented counters, profiles, progress output, and effective settings meet the listed overhead and determinism requirements.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Why
dircue has no user-facing performance visibility. There are no --stats, --cpuprofile, --memprofile, --trace or progress options, and non-test code doesn't import runtime/pprof at all. So:
- users can't see where time or memory went, or which settings were in effect;
- CI can only measure noisy wall time from outside the process;
- a 4-minute kernel run shows nothing until it ends.
The 30× Git-path metrics cliff (#73) went unnoticed partly because nothing reported bytes inflated, cache behavior or worker utilization.
FFmpeg is the model here: -benchmark prints user/system/real time and max RSS; -stats/-progress report live progress in human or machine form; -report writes a full log.
Proposal
--stats, printed to stderr, and--stats-json FILE, broken down per phase and per module:- wall time, user/system CPU, and peak RSS (process);
- Go heap and GC count/pause (
runtime/metrics) and allocations; - bytes read by source (filesystem vs Git) and files opened;
- Git objects read and inflated, delta resolutions and a chain-depth histogram, object and pack cache hits/misses;
- worker utilization and queue wait;
- budget hits.
- Logical vs physical counters. Logical work (files selected, logical bytes requested, parse counts) depends only on input and settings. Physical work (bytes actually read or inflated, cache hits/misses, repeated delta resolutions) is an observed cost and can vary with worker scheduling, cache eviction and pack layout. CI gates on logical counters, and on physical costs only under a pinned pack layout and controlled cache conditions (#90). See the implementation note in the comments.
- Profiling hooks:
--cpuprofile,--memprofile,--blockprofile,--mutexprofileand--trace FILE, for users and for CI artifacts. --progress[=json]: periodic progress on stderr (phase, files and bytes done/total, elapsed) for long runs.- Statistics are run metadata and never enter the deterministic map payload (#74). They go to stderr, a separate file, or a clearly separated non-deterministic section.
- Every run can record its effective settings and their origin (default, preset, flag or file). See #91.
Acceptance
- The flags above, documented in
capabilities --cliand the guide. Stats JSON has its own schema. - Logical-work counters and output stay identical across repeated runs and worker counts (tested metamorphically). Physical costs are reported as observed values, not promised to be invariant.
- Overhead with stats disabled is unmeasurable, and ≤ 2% with stats enabled on the golden corpus.
- #73 and #39 use these counters and profiles as their evidence.
Part of the 1.0 quality program: #83. Epic: #81.
- Lenguaje dominante
- Go
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 5 h 8 min
- PR fusionados (30 d)
- 54
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una 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 war-and-code/dircue
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
war-and-code/dircue#200 ·
Los mantenedores suelen responder en 1 día
-
follow-up
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
war-and-code/dircue#179 ·
Los mantenedores suelen responder en 1 día
-
follow-up
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
war-and-code/dircue#178 ·
Los mantenedores suelen responder en 1 día
-
enhancement follow-up
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
war-and-code/dircue#172 ·
Los mantenedores suelen responder en 1 día
-
enhancement follow-up
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
war-and-code/dircue#171 ·
Los mantenedores suelen responder en 1 día
Todos los issues de war-and-code/dircue
Issues similares
-
proxy logs "no user in context" at error level for every data gateway downloadPosiblemente ocupada @paul43210 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
txn2/mcp-data-platform#2063 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
kubernetes-sigs/kueue#16990 ·
Los mantenedores suelen responder en 1 día
-
enhancement exporter/awss3 needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
open-telemetry/opentelemetry-collector-contrib#51905 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
stellar/stellar-horizon#245 ·
Los mantenedores suelen responder en 1 día