Skip to content
Draft
Changes from 1 commit
Commits
Show all changes
276 commits
Select commit Hold shift + click to select a range
5a2b5db
fix: run dotnet-trace in foreground for clean trace finalization
benaadams Mar 20, 2026
9d6d6f3
feat: use dotnet-trace collect-linux for real kernel CPU sampling
benaadams Mar 20, 2026
d603cb0
fix: use timed dotnet-trace collection with Nethermind as PID 1
benaadams Mar 20, 2026
6ed47e6
fix: add DotNETRuntime provider to sampling trace for method resolution
benaadams Mar 20, 2026
6a9e501
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
59b95f0
fix: exclude sampling.nettrace from main trace selection
benaadams Mar 20, 2026
f1b6c44
fix: correct trace selection, reduce attach delay, extend sampling
benaadams Mar 20, 2026
250c5c0
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
3035994
feat: switch to collect-linux for kernel CPU sampling
benaadams Mar 20, 2026
d6bb089
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
1c5884f
feat: start collect-linux before Nethermind for startup tracing
benaadams Mar 20, 2026
7d7ec48
fix: build dotnet-pgo from main for collect-linux trace format
benaadams Mar 20, 2026
08c509f
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
fe631db
feat: switch to perfcollect for CPU sampling
benaadams Mar 20, 2026
2b8d241
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 20, 2026
bd297a7
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
f918cc6
fix: install perf only, use -nolttng with perfcollect
benaadams Mar 20, 2026
cbe5474
fix: install LTTng 2.13 and use perfcollect with full tracing
benaadams Mar 20, 2026
f2262d1
fix: simplify sampling to dotnet-trace with combined profiles
benaadams Mar 20, 2026
0104f9f
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 20, 2026
64bf468
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
460c1d2
fix(pgo): use .nettrace extension for sampling trace instead of .zip
benaadams Mar 20, 2026
76df31e
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
5c8b24b
fix(pgo): add MethodDetails provider for sampling trace
benaadams Mar 20, 2026
e18e7aa
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 20, 2026
895db2b
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
75826bf
fix(pgo): always merge sampling .mibc when available
benaadams Mar 20, 2026
098698e
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
18e5316
fix(pgo): add --spgo flag to sampling trace conversion
benaadams Mar 20, 2026
e745f93
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
d6f44bc
fix(pgo): switch sampling to perfcollect on Ubuntu Focal for SPGO
benaadams Mar 20, 2026
397c9bb
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
380b9ba
fix(pgo): use python3 for safe YAML injection of --privileged flag
benaadams Mar 20, 2026
e4f5a57
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 20, 2026
5b27abd
fix(pgo): fix YAML-breaking python3 injection of --privileged flag
benaadams Mar 20, 2026
92c840c
fix(pgo): switch sampling image back to Noble for glibc compatibility
benaadams Mar 20, 2026
01fdcd0
fix(pgo): add zip package, network cleanup, perfcollect crash output
benaadams Mar 20, 2026
c50286f
fix(db): ensure Environment.Exit on DB corruption even if marker writ…
benaadams Mar 20, 2026
9302302
fix(pgo): show all perfcollect and Nethermind output on stdout
benaadams Mar 20, 2026
a148493
fix(pgo): set sampling to single iteration to prevent crash loops
benaadams Mar 20, 2026
8a28c9c
fix(pgo): set main PGO collection to single iteration too
benaadams Mar 20, 2026
c185c8d
fix(pgo): revert amount/warmup overrides — amount is payload count no…
benaadams Mar 20, 2026
412ceb5
fix(pgo): remove --privileged injection from sampling config
benaadams Mar 20, 2026
9411de6
fix(pgo): clean up stale containers/networks before sampling step
benaadams Mar 20, 2026
ab3a84d
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
db704a7
fix(pgo): add missing unzip package for perfcollect
benaadams Mar 20, 2026
ffbb940
fix(pgo): fix perfcollect output buffering and PID tracking
benaadams Mar 20, 2026
45c6184
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
2f75caf
fix(pgo): run perfcollect on host instead of inside Docker container
benaadams Mar 20, 2026
09cd264
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 20, 2026
f669157
Revert "fix(pgo): run perfcollect on host instead of inside Docker co…
benaadams Mar 20, 2026
672d2c2
fix(pgo): use EXPB security_opt branch and add seccomp=unconfined
benaadams Mar 20, 2026
dea5b2b
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
cc71a45
fix(pgo): set perf_event_paranoid=-1 on host before sampling
benaadams Mar 20, 2026
e8113d4
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 20, 2026
3fffa92
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
f05d124
fix(pgo): wait for perfcollect post-processing before container exit
benaadams Mar 20, 2026
3cdeec6
fix(pgo): let perfcollect finish before container stop signal
benaadams Mar 20, 2026
cfabdd8
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
0d0b1a9
fix(pgo): wait for LTTng session before starting Nethermind
benaadams Mar 20, 2026
5aea5b7
chore(pgo): update PGO profile
github-actions[bot] Mar 20, 2026
e0bfc2e
feat(pgo): build libcoreclrtraceptprovider.so from source for LTTng
benaadams Mar 20, 2026
bbe1297
chore(pgo): simplify — remove unused cmake, deduplicate cleanup blocks
benaadams Mar 20, 2026
4f00a04
chore(pgo): address review findings — signal trap, sparse checkout, A…
benaadams Mar 20, 2026
35cd9a2
fix(pgo): add pal/inc to sparse checkout and include paths
benaadams Mar 20, 2026
490387f
fix(pgo): drop sparse checkout, add minipal include path
benaadams Mar 21, 2026
41ddcad
fix(pgo): use runtime build system for libcoreclrtraceptprovider.so
benaadams Mar 21, 2026
2fe5c7a
fix(pgo): install full coreclr build prerequisites
benaadams Mar 21, 2026
17dc8b5
fix(pgo): use stub PAL headers instead of building full coreclr
benaadams Mar 21, 2026
fedd8de
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
2235fcd
fix(pgo): repack sampling.trace.zip to strip container path prefix
benaadams Mar 21, 2026
bf5ef5c
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
204d8ff
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
2a56a2e
fix(pgo): build coreclr with LTTng — swap both libcoreclr.so and prov…
benaadams Mar 21, 2026
4490c07
fix(pgo): use build output path directly instead of /tmp
benaadams Mar 21, 2026
688e55e
fix(pgo): pin lttng-build stage to linux/amd64 — skip arm build
benaadams Mar 21, 2026
f8cd6a5
fix(pgo): build Docker images for linux/amd64 only — skip arm64
benaadams Mar 21, 2026
6c7ab25
fix: add platforms input to publish-docker workflow
benaadams Mar 21, 2026
f37e532
Revert "fix: add platforms input to publish-docker workflow"
benaadams Mar 21, 2026
7152533
fix(pgo): remove platforms input — publish-docker.yml doesn't accept it
benaadams Mar 21, 2026
8160e24
fix(pgo): clear stale pgo-data before extraction — self-hosted runner…
benaadams Mar 21, 2026
abf03a5
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
ae06985
fix(pgo): set DOTNET_LTTngConfig for MethodDiagnostic keyword
benaadams Mar 21, 2026
789c988
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
0340e38
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
e511856
fix(pgo): enable all DotNETRuntime LTTng tracepoints including Method…
benaadams Mar 21, 2026
486e4bb
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
7b3f336
fix(pgo): patch perfcollect to add MethodDetails tracepoint
benaadams Mar 21, 2026
64652f9
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
42067aa
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
7adbdff
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
8de45b3
fix(pgo): remove DOTNET_LTTngConfig — let runtime activate all keywords
benaadams Mar 21, 2026
3bf82c8
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
69e0fc0
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
b8d009a
fix(pgo): build TraceEvent from source with MethodDetails CTF mapping
benaadams Mar 21, 2026
d567d8c
fix(pgo): build patched TraceEvent as version 3.1.28 to match dotnet-…
benaadams Mar 21, 2026
1adf4db
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
7d74df5
fix(pgo): strip SupportFiles dependency from TraceEvent build
benaadams Mar 21, 2026
9c94490
fix(pgo): correct CtfEventMapping args — (opcode, id, version) not (e…
benaadams Mar 21, 2026
751a9d0
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
a5449c2
fix(pgo): use python regex to strip SupportFiles — sed broke XML stru…
benaadams Mar 21, 2026
5154261
feat(pgo): add PgoTrim convert-trace to inject MethodDetails CTF mapping
benaadams Mar 21, 2026
d646204
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
6ab8a0c
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
faa324d
fix(pgo): enable TypeKeyword in perfcollect defaults for BulkType events
benaadams Mar 21, 2026
7e78e43
fix(pgo): add TypeKeyword to perfcollect defaults, add debug output f…
benaadams Mar 21, 2026
bfa5b47
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
2b137b0
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
0d341d3
fix(pgo): patch dotnet-pgo to use TraceLog() directly for .etlx input
benaadams Mar 21, 2026
d00a6dc
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
22a9187
fix(pgo): add AssemblyLoad to perfcollect's LoaderKeyword array
benaadams Mar 21, 2026
a2ad970
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
79fb6b4
fix(pgo): upgrade TraceEvent to 3.1.30 — .etlx format version 74 vs 7…
benaadams Mar 21, 2026
e467800
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
fba6865
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
e15b6cb
fix(pgo): force rebuild PgoTrim to pick up TraceEvent 3.1.30 on cache…
benaadams Mar 21, 2026
f84ee64
fix(pgo): move PgoTrim convert-trace to its own step before dotnet-pg…
benaadams Mar 21, 2026
7df050a
fix(pgo): consolidate all PgoTrim work into one step before dotnet-pgo
benaadams Mar 21, 2026
41fae7e
fix(pgo): use dotnet restore --force + build --no-incremental for Pgo…
benaadams Mar 21, 2026
55c34da
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
7e6f8c9
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
41e9ecf
fix(pgo): clear NuGet caches and stale sources before PgoTrim restore
benaadams Mar 21, 2026
1414f59
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
7cbf976
fix(pgo): log TraceEvent assembly version in PgoTrim for debugging
benaadams Mar 21, 2026
57a4139
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
0f39912
fix(pgo): add debug output for dotnet-pgo TraceEvent version and .etl…
benaadams Mar 21, 2026
7ef543a
fix(pgo): override dotnet-pgo TraceEvent to 3.1.30 to match PgoTrim
benaadams Mar 21, 2026
b879a95
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
a139d9e
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
ddceeba
feat(pgo): build dotnet-pgo with PerfView PR branch for full SPGO sup…
benaadams Mar 21, 2026
a2858a1
fix(pgo): add Dia2Lib and TraceReloggerLib compile refs for PerfView …
benaadams Mar 21, 2026
a038c07
fix(pgo): remove --no-build from PgoTrim — no prior build step exists
benaadams Mar 21, 2026
d629b12
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
0a6f84b
feat(pgo): add SPGO perf sample extraction and dotnet-pgo injection
benaadams Mar 21, 2026
a54e733
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
f349088
fix(pgo): add JittedMethodILToNativeMap keyword for SPGO block attrib…
benaadams Mar 21, 2026
f52db26
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
9461523
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
853d6e3
fix(pgo): add CompilationDiagnostic keyword and ILToNativeMap diagnos…
benaadams Mar 21, 2026
22c61a2
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
4b8c587
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
9a95c6e
fix(pgo): enable MethodILToNativeMap_V1 — runtime fires V1, not V0
benaadams Mar 21, 2026
0828e46
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
29d8c27
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
c117eef
fix(pgo): remove DOTNET_LTTngConfig — use ActivateAllKeywordsOfAllPro…
benaadams Mar 21, 2026
229c5c0
debug(pgo): add CTF event dispatch counting and remove LTTngConfig fo…
benaadams Mar 21, 2026
666ee6f
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
5a86c1f
fix(pgo): move debug print inside using block — variable scope error
benaadams Mar 21, 2026
82e1bb2
fix(pgo): pass KeepAllEvents=true to preserve ILToNativeMap in .etlx
benaadams Mar 21, 2026
3493901
Undo unrelated change
benaadams Mar 21, 2026
8789a38
done
benaadams Mar 21, 2026
9f0b13d
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
dfc55c4
fix(pgo): catch FlowSmoothing crash so SPGO doesn't lose all 143K sam…
benaadams Mar 21, 2026
aa72704
whitespace
benaadams Mar 21, 2026
5d062f5
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
541b897
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
e1fd5a4
debug: add PGO diagnostic output and PublishReadyToRunShowWarnings to…
benaadams Mar 21, 2026
e1b4f82
fix(pgo): increase perfcollect sampling duration from 120s to 240s fo…
benaadams Mar 21, 2026
b905c78
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
11bff70
fix(pgo): revert to 120s sampling — 240s exceeded container lifetime
benaadams Mar 21, 2026
b2d6d32
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 21, 2026
359c976
fix(pgo): increase perfcollect to 150s — captures full block processi…
benaadams Mar 21, 2026
f016780
fix(pgo): lower --spgo-min-samples to 20 for broader method coverage
benaadams Mar 21, 2026
7b0be72
fix(pgo): increase perf sampling frequency from 1000 Hz to 4000 Hz fo…
benaadams Mar 21, 2026
17184b8
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
861032e
chore(pgo): update PGO profile
github-actions[bot] Mar 21, 2026
1d2528d
fix(pgo): revert to 120s/1000Hz — 4000Hz causes perfcollect to crash …
benaadams Mar 22, 2026
e6c56b9
fix(pgo): try 150s collection at 1000Hz — frequency was the crash cau…
benaadams Mar 22, 2026
0565c4c
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 22, 2026
34353cd
fix(pgo): revert to 120s — 150s collection + 30s zip exceeds containe…
benaadams Mar 22, 2026
b3f0ef9
chore(pgo): update PGO profile
github-actions[bot] Mar 22, 2026
643911c
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 22, 2026
6837301
chore(pgo): update PGO profile
github-actions[bot] Mar 22, 2026
7453b7f
debug: fix PGO diagnostic path and add verbose publish to grep for mi…
benaadams Mar 22, 2026
089e9a6
Add the pgo files to output
benaadams Mar 22, 2026
424240d
fix(pgo): increase TC_CallCountingDelayMs from 0 to 30ms
benaadams Mar 22, 2026
12dca67
fix(evm): use representative values in opcode warmup for better PGO p…
benaadams Mar 22, 2026
43b8861
fix(evm): skip state-touching opcodes during warmup to prevent GDV po…
benaadams Mar 22, 2026
28cf12a
fix: improve real-time Nethermind log tailing in benchmark workflow
benaadams Mar 22, 2026
f409842
debug: fix Directory.Build.targets path and broaden crossgen2 grep pa…
benaadams Mar 22, 2026
d22bfcb
fix: don't swallow dotnet publish errors — tee to log file and check …
benaadams Mar 22, 2026
888a577
fix(pgo): clean up old Docker images to free disk space
benaadams Mar 22, 2026
a3aa240
fix(pgo): also clean up old EXPB infra images (Alloy, k6) during disk…
benaadams Mar 22, 2026
95d64b4
fix(pgo): keep 10G buildx cache to preserve coreclr lttng-build layers
benaadams Mar 22, 2026
28afdf7
fix(pgo): prune all buildx cache — old coreclr builds are wasting disk
benaadams Mar 22, 2026
208f1fb
fix(pgo): move Docker cleanup to end of job, keep start minimal
benaadams Mar 22, 2026
a71ef16
fix(pgo): kill ALL expb containers at start — Alloy/k6 hold network r…
benaadams Mar 22, 2026
1a41916
fix(pgo): respect EXPB lock file — abort if another run is active (<1…
benaadams Mar 22, 2026
e787205
fix(pgo): prevent container restart loops with sentinel file
benaadams Mar 22, 2026
e1ff56a
TEMPORARY: force kill all containers + remove lock to recover from st…
benaadams Mar 22, 2026
b45aef7
fix(pgo): keep 4G buildx cache to avoid rebuilding coreclr every run
benaadams Mar 22, 2026
207cca4
feat(pgo): pre-build LTTng coreclr image — skip 10min rebuild every run
benaadams Mar 22, 2026
5cd2fcb
fix(pgo): remove if:always() from processing steps — fail fast on errors
benaadams Mar 22, 2026
2a4c997
fix(pgo): unmount stale overlay mounts at startup — overlay EBUSY blo…
benaadams Mar 22, 2026
1336513
fix(pgo): lazy unmount + rm overlay work dirs to fully clear stale mo…
benaadams Mar 22, 2026
d0f35b8
fix(pgo): add timeout to docker rm in sampling cleanup — prevents han…
benaadams Mar 22, 2026
6ce7946
fix(pgo): do full disk cleanup at start of job — out of disk causes i…
benaadams Mar 22, 2026
48f9edf
fix(pgo): remove stale Docker volumes before EXPB runs
benaadams Mar 22, 2026
c356dd3
fix(pgo): render sampling config from base — don't depend on RUNNER_TEMP
benaadams Mar 22, 2026
8e3e27d
chore(pgo): update PGO profile
github-actions[bot] Mar 22, 2026
af6f19f
fix(pgo): improve SPGO sampling — delay Tier-1, 15K blocks, 400s coll…
benaadams Mar 22, 2026
b4341d7
fix(pgo): move TC_CallCountingDelayMs into sampling Dockerfile
benaadams Mar 22, 2026
8777832
fix(pgo): drop payloads-15000 swap — file may not exist on runner
benaadams Mar 22, 2026
2de827f
fix(pgo): use extra_env not environment, send 10K blocks for sampling
benaadams Mar 22, 2026
28de12a
fix(pgo): reduce COLLECTSEC to 300 — must finish before container stops
benaadams Mar 22, 2026
f65a4b7
chore(pgo): update PGO profile
github-actions[bot] Mar 22, 2026
161a377
fix(pgo): increase sampling window — TC_delay=15min, collect=12min
benaadams Mar 22, 2026
a559735
fix(pgo): match main collection to sampling — TC_delay=15min, 10K blo…
benaadams Mar 22, 2026
6d860f1
fix(pgo): remove unused COLLECTSEC from main collection, fix comments
benaadams Mar 22, 2026
da5a7bd
fix(pgo): remove TC delay from main collection — Tier-1 gives richer …
benaadams Mar 22, 2026
b7233b5
fix(pgo): reduce COLLECTSEC to 600 — 720 outlasted container lifetime
benaadams Mar 22, 2026
35a0127
chore(pgo): update PGO profile
github-actions[bot] Mar 22, 2026
dbf1576
fix(pgo): reduce COLLECTSEC to 580 — more margin before container stops
benaadams Mar 22, 2026
cb643b8
Merge branch 'master' into pgo-2
benaadams Mar 22, 2026
2dced5e
chore(pgo): remove debug scaffolding from Dockerfile and TraceConverter
benaadams Mar 22, 2026
435c128
Merge branch 'pgo-2' of https://github.com/NethermindEth/nethermind i…
benaadams Mar 22, 2026
f5b641b
refactor(pgo): move PGO Dockerfiles into tools/PgoTrim
benaadams Mar 22, 2026
57a4f0b
refactor(pgo): respect EXPB lock, clean only own resources
benaadams Mar 22, 2026
661879e
fix(pgo): always exit if EXPB lock exists — use cleanup workflow to c…
benaadams Mar 22, 2026
ef66fb9
fix(pgo): remove unnecessary if:always() from upload and extract steps
benaadams Mar 22, 2026
1113c64
fix(pgo): remove continue-on-error from EXPB step — fail fast if coll…
benaadams Mar 22, 2026
17efce1
fix(pgo): fail update if .jit.gz artifact is missing
benaadams Mar 22, 2026
03721e6
chore(pgo): reduce artifact retention — profiles are committed to repo
benaadams Mar 22, 2026
158fa98
fix(pgo): fail if CPU sampling pass fails — SPGO is not optional
benaadams Mar 22, 2026
3b301ad
chore(pgo): update PGO profile
github-actions[bot] Mar 22, 2026
f3c2c6d
Merge branch 'master' into pgo-2
benaadams Mar 22, 2026
23080db
feat(pgo): add call graph extraction for Pettis-Hansen method layout
benaadams Mar 22, 2026
93c1aa4
style(pgo): replace var with concrete types in PgoTrim
benaadams Mar 22, 2026
be7f008
fix(pgo): exclude dotnet-pgo-patches from PgoTrim build
benaadams Mar 22, 2026
272b2f4
fix(pgo): SampleCorrelator is in root namespace, not SPGO sub-namespace
benaadams Mar 22, 2026
5dece21
fix(pgo): nullable compat and remove out-of-scope params from LoadCal…
benaadams Mar 22, 2026
868ef61
fix(pgo): use nullable annotations correctly for dotnet-pgo warnings-…
benaadams Mar 22, 2026
1d37afb
fix(runner): time-box DB disposal to 15s during shutdown (TEMPORARY)
benaadams Mar 22, 2026
3488207
chore(pgo): update PGO profile
github-actions[bot] Mar 22, 2026
7906e26
Revert "fix(runner): time-box DB disposal to 15s during shutdown (TEM…
benaadams Mar 23, 2026
9c21c85
revert(pgo): remove TC_CallCountingDelayMs=30 to isolate benchmark re…
benaadams Mar 23, 2026
2af4ad9
feat(pgo): generate CallChainProfile for crossgen2 CallFrequency layout
benaadams Mar 23, 2026
0f62b74
feat(pgo): enable hot-cold splitting in R2R using SPGO block counts
benaadams Mar 23, 2026
d5fbe09
chore(pgo): compress callchain JSON (1.9MB -> 222KB) and decompress a…
benaadams Mar 23, 2026
587e3c5
fix(pgo): add targeted R2R verbose output to verify callchain/hot-col…
benaadams Mar 23, 2026
d5a6372
fix(pgo): use diagnostic verbosity to verify crossgen2 flags (TEMPORARY)
benaadams Mar 23, 2026
408a56f
fix(pgo): decompress callchain JSON before dotnet publish, not in MSB…
benaadams Mar 23, 2026
33590fc
fix: remove diagnostic verbosity from Dockerfile - was causing CI tim…
benaadams Mar 23, 2026
5215830
fix(pgo): decompress callchain JSON before R2R publish in build-solut…
benaadams Mar 23, 2026
321e2c3
fix(pgo): decompress callchain JSON before benchmark builds for R2R t…
benaadams Mar 23, 2026
25b2d62
refactor(pgo): move R2R Composite + OptimizationPreference to Directo…
benaadams Mar 23, 2026
babcc89
fix(pgo): disable R2R for test projects - composite R2R was causing C…
benaadams Mar 23, 2026
034afba
Merge branch 'master' into pgo-2
benaadams Mar 23, 2026
a68ed8a
Merge branch 'master' into pgo-2
benaadams Mar 24, 2026
2ffe6b5
chore(pgo): update PGO profile
github-actions[bot] Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions .github/workflows/collect-pgo-profile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -336,18 +336,19 @@ jobs:
ls -lh "${mibc_file}"
echo "mibc_file=${mibc_file}" >> "${GITHUB_OUTPUT}"

# Step 2: Trim .jit edge/block profiling data for runtime PGO
# Step 2: Compress .jit edge/block profiling data for runtime PGO
# .jit files (from DOTNET_WritePGOData) use a JIT-internal text format read
# back via DOTNET_ReadPGOData — they can't be merged into .mibc by dotnet-pgo.
# Keep all methods: even low-count methods carry valuable GDV type data.
jit_file=$(find "${pgo_dir}" -name "*.jit" -type f -printf '%T@ %p\n' 2>/dev/null | sort -nr | head -1 | cut -d' ' -f2- || true)
jit_gz="${RUNNER_TEMP}/nethermind.jit.gz"
if [[ -n "${jit_file}" ]]; then
echo "Trimming ${jit_file} with PgoTrim..."
echo "Compressing ${jit_file} with PgoTrim..."
dotnet run --project "${GITHUB_WORKSPACE}/tools/PgoTrim" -c Release -- \
"${jit_file}" "${jit_gz}" --min-block 100 --min-edge 250
"${jit_file}" "${jit_gz}" --min-block 0 --min-edge 0
echo "jit_gz=${jit_gz}" >> "${GITHUB_OUTPUT}"
else
echo "No .jit file found — skipping edge profiling trim."
echo "No .jit file found — skipping edge profiling."
fi

- name: Upload .mibc artifact
Expand Down
Loading