The gapped transaction queue had limited observability: addGappedMeter
fired before the allowance/maxGapped check, so it counted all nonce-
too-high attempts rather than actual additions.
This change:
- Moves addGappedMeter to fire only after a tx is actually added to
the gapped queue
- Adds addGappedRejectMeter for rejected gapped txs (no allowance or
queue full)
- Adds gappedPromotedMeter for txs promoted from gapped queue to main
pool
- Adds gappedStaleMeter for txs that became stale during promotion
- Adds gappedEvictedMeter for txs evicted by timeout or nonce staleness
- Adds gappedGauge to track the current gapped queue size
Fixes#33811
* core/txpool/blobpool: clean up resurrected junk after a crash
* core/txpool/blobpool: track transaction insertions and rejections
* core/txpool/blobpool: linnnnnnnt
* core/blobpool: implement txpool for blob txs
* core/txpool: track address reservations to notice any weird bugs
* core/txpool/blobpool: add support for in-memory operation for tests
* core/txpool/blobpool: fix heap updating after SetGasTip if account is evicted
* core/txpool/blobpool: fix eviction order if cheap leading txs are included
* core/txpool/blobpool: add note as to why the eviction fields are not inited in reinject
* go.mod: pull in inmem billy form upstream
* core/txpool/blobpool: fix review commens
* core/txpool/blobpool: make heap and heap test deterministic
* core/txpool/blobpool: luv u linter
* core/txpool: limit blob transactions to 16 per account
* core/txpool/blobpool: fix rebase errors
* core/txpool/blobpool: luv you linter
* go.mod: revert some strange crypto package dep updates