[FR] Ability to register flags for custom Reporters
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
Direzione di ricerca
Inizia leggendo gli entry point esistenti benchmark::Initialize, benchmark::RunSpecifiedBenchmarks e BenchmarkReporter, insieme al modo in cui i flag della riga di comando selezionano i reporter integrati. Definisci come vengono memorizzati, selezionati e costruiti i reporter personalizzati registrati, quindi verifica che sia possibile scegliere un reporter personalizzato tramite flag senza passarlo esplicitamente a RunSpecifiedBenchmarks.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Is your feature request related to a problem? Please describe.
If I create a custom BenchmarkReporter, I also have to instantiate it and pass it to the RunSpecifiedBenchmarks function.
int main(int argc, char** argv) {
benchmark::Initialize(&argc, argv);
BenchmarkReporter* reporter = new FooReporter();
benchmark::RunSpecifiedBenchmarks(&reporter);
benchmark::Shutdown();
}
Describe the solution you'd like
I would like to be able to easily configure a flag for my reporter such as --benchmark_format=foo.
int main(int argc, char** argv) {
benchmark::Initialize(&argc, argv);
benchmark::RegisterReporter("foo", [](){ return new FooReporter()})
benchmark::RunSpecifiedBenchmarks();
benchmark::Shutdown();
}
Describe alternatives you've considered
- I currently proxy to the default reporter while intercepting the Run results in my custom reporter, so mine always runs on top of the default behavior.
- have considered adding arg parsing to
main()but that is more convoluted.
Additional context
- I am interested in adding a custom reporter that asserts that the run results fall within some target performance threshold. I want to be able to optionally select this reporter at runtime with a flag. Built in support for assertions on a given threshold would be a welcome alternative.
- side note: it would be great to have an overload for
::benchmark::BenchmarkReporter::Run::GetAdjustedRealTime()that accepts a time unit.
- Lingua principale
- C++
- Stelle
- 10.5k
- Fork
- 1.8k
- Merge medio
- 1g 15h
- PR unite (30g)
- 28
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di google/benchmark
-
[BUG] Confusing title in docs/platform_specific_build_instructions.mdForse già presa @skryabae l’ha presa 30 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
[BUG] Memory manager counts allocations not part of benchmarkForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
google/benchmark#2149 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[FR] Add native Zig bindings via top-level `bindings/zig`Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
google/benchmark#2266 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
google/benchmark#2235 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
google/benchmark#2195 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di google/benchmark
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
arvidn/libtorrent#9149 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Niko1221/Strata#5560 · 2 commenti ·
I maintainer di solito rispondono entro 4 giorni
-
NVIDIA windows
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
要トリアージ 辞書
Difficoltà 1/5 1-3 ore Idoneità per principianti 86/100
yksr-melt/Meltype#1625 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno