Martin Holst Swende
8038c0fb01
metrics: cache sample variance, rm ineffectual clause rthistogram
2023-09-11 20:30:12 +02:00
Martin Holst Swende
267656019b
metrics: apply suggestions from review
2023-09-11 16:33:37 +02:00
Martin Holst Swende
c8e1767e33
metrics: split read/write + improve runtime histogram speed
2023-09-04 17:44:00 +02:00
Martin Holst Swende
90be12cab2
metrics: sample data for runtime metrics
...
metrics: influx/prometheus testdata update
2023-09-04 14:41:16 +02:00
Martin Holst Swende
0295992985
metrics: simplify interfaces, convert tests to table-driven
2023-09-04 12:33:26 +02:00
Martin Holst Swende
55c3396aac
metrics: fix flaw re empty timer mean
2023-09-03 20:37:32 +02:00
Martin Holst Swende
abefcdc76d
metrics: small leftover fixes
2023-09-03 20:30:50 +02:00
Martin Holst Swende
2ed1f05ff5
metrics: split ewma, create dedicated nil snapshot type
2023-09-02 13:43:08 +02:00
Martin Holst Swende
40f291b043
metrics: optimize resetting timer, make influx resetting-timer span type use integer format
2023-09-01 18:58:59 +02:00
Martin Holst Swende
17765d22bb
metrics: linter nitpicks
2023-09-01 11:15:56 +02:00
Martin Holst Swende
9723df673d
metrics: optimize expdecaysample, avoid iteration of values
2023-09-01 11:13:41 +02:00
Martin Holst Swende
4ae74271ca
metrics/infuxdb, metrics/prometheus: fix fallout from resetting-timer percentiles type change
2023-09-01 08:37:07 +02:00
Martin Holst Swende
f4d0f94590
metrics: split gaugeinfo into read/write
2023-08-31 20:19:19 +02:00
Martin Holst Swende
0abadecea1
metrics: align percentiles handling in resetting timer with rest of the codebase
2023-08-31 20:08:47 +02:00
Martin Holst Swende
fb8e300797
metrics: make resettingtimer not expose internal values
2023-08-31 20:08:46 +02:00
Martin Holst Swende
73687d9a60
metrics: split up resetting timer interface
2023-08-31 20:08:43 +02:00
Martin Holst Swende
7b9dfc72c1
metrics: split up counter, counterfloat64
2023-08-31 20:08:39 +02:00
Martin Holst Swende
36c31a691a
metrics: split gaugefloat64 interface
2023-08-31 20:05:29 +02:00
Martin Holst Swende
b7f8d9b4ce
metrics: split Gauge interface, fix tests, fix race on Sample
2023-08-31 19:53:23 +02:00
Martin Holst Swende
9591faf40d
metrics: separate updatable/readonly sample, runtimehistogram + do early sample calculation to avoid later iterations
2023-08-31 19:51:35 +02:00
Martin Holst Swende
7e6f1a6869
metrics: separate updatable/readonly meter, timer and histogram
2023-08-31 19:51:30 +02:00
Martin Holst Swende
16d39ddfcd
metrics: update meter.go
...
ref 90735333ef
Remove locks from the hot-path in meter.go and add parallel benchmark
metrics: simplify meter.go
metrics: refactor meter
2023-08-31 19:46:40 +02:00
Martin Holst Swende
1fc2e832a1
metrics: reduce lock contention in ewma
...
ref: b08b7421c5
2023-08-31 19:44:06 +02:00
Martin Holst Swende
769aad4126
metrics: add benchmarks
2023-08-31 19:44:00 +02:00
Jorge
53f3c2ae65
metrics, cmd/geth: informational metrics (prometheus, influxdb, opentsb) ( #24877 )
...
This chang creates a GaugeInfo metrics type for registering informational (textual) metrics, e.g. geth version number. It also improves the testing for backend-exporters, and uses a shared subpackage in 'internal' to provide sample datasets and ordered registry.
Implements #21783
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-08-31 13:37:17 -04:00
Péter Szilágyi
5b159498bb
go.mod: regenerate all indirect dependencies to clean up the junk ( #28037 )
2023-08-31 16:00:31 +03:00
lightclient
41ee96fdfe
core/txpool/blobpool: fix rlp decoding flaw during offload ( #28027 )
2023-08-30 03:28:03 -04:00
Martin Holst Swende
b8adb4cb0c
tests: use 'sender' in state tests if present ( #28023 )
...
A while back, statetests started coming with sender baked in, which at least
evmone makes use of. Let's make use of that too, and save some cycles.
2023-08-29 04:36:10 +02:00
CrashOverride
fe24d22a62
miner/stress/clique: fix typo ( #28016 )
...
fix typo
2023-08-28 02:36:11 -04:00
Marius van der Wijden
f174ddba7a
build, tests: add execution-spec-tests ( #26985 )
...
This makes it possible to run the execution-spec-tests (a.k.a. pyspec) in CI.
---------
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-08-26 15:42:27 +02:00
Martin Holst Swende
d4e345c7d4
core/state: fix missing import ( #28010 )
2023-08-26 04:43:36 -04:00
lightclient
3a662d4735
eth: remove check for tdd reached on pos api block tags ( #27799 )
...
This change defers to the blockchain for in what circumstances to return error, instead of handling many error-cases in the api backend.
2023-08-26 04:19:01 -04:00
rjl493456442
3ff6b3c31e
core/state: implement fast storage deletion ( #27955 )
...
This changes implements faster post-selfdestruct iteration of storage slots for deletion, by using snapshot-storage+stacktrie to recover the trienodes to be deleted. This mechanism is only implemented for path-based schema.
For hash-based schema, the entire post-selfdestruct storage iteration is skipped, with this change, since hash-based does not actually perform deletion anyway.
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-08-26 04:13:22 -04:00
Shude Li
5ca7fb82d6
account/abi: handle solidity panic revert ( #27868 )
...
See https://docs.soliditylang.org/en/v0.8.21/control-structures.html#panic-via-assert-and-error-via-require
2023-08-26 04:10:48 -04:00
Martin Holst Swende
6aa88ccdd2
beacon/engine, eth/catalyst, miner: EIP-4788 CL/EL protocol updates ( #27872 )
...
This PR makes EIP-4788 work in the engine API and miner. It also fixes some bugs related to
EIP-4844 block processing and mining. Changes in detail:
- Header.BeaconRoot has been renamed to ParentBeaconRoot.
- The engine API now implements forkchoiceUpdatedV3
- newPayloadV3 method has been updated with the parentBeaconBlockRoot parameter
- beacon root is now applied to new blocks in miner
- For EIP-4844, block creation now updates the blobGasUsed field of the header
2023-08-26 04:52:12 +02:00
Delweng
cde462c6bf
eth/catalyst: reset to current header if chain is rewound (in dev mode) ( #27992 )
...
Signed-off-by: jsvisa <delweng@gmail.com>
Co-authored-by: Jared Wasinger <j-wasinger@hotmail.com>
2023-08-25 15:38:27 -04:00
Felix Lange
9bbb9df185
core/types: transaction and receipt encoding/decoding optimizations ( #27976 )
...
Just some minor optimizations I figured out a while ago. By using ReadBytes instead of
Bytes on the rlp stream, we can save the allocation of a temporary buffer for the typed tx
payload.
If kind == rlp.Byte, the size reported by Stream.Kind will be zero, but we need a buffer
of size 1 for ReadBytes. Since typed txs always have to be longer than 1 byte, we can just
return an error for kind == rlp.Byte.
There is a also a small change for Log: since the first three fields of Log are the ones that
should appear in the canon encoding, we can simply ignore the remaining fields via
struct tag. Doing this removes an indirection through the rlpLog type.
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-08-25 20:03:41 +02:00
Péter Szilágyi
6b98d18789
cmd, core, params: add support for the Holesky testnet ( #28007 )
...
* cmd, core, params: add support for the Holesky testnet
* cmd/devp2p: add support for holesky for the dns crawler
2023-08-25 18:11:40 +03:00
Péter Szilágyi
5e0eb62a8e
eth/protocols/eth: stop advertising eth/66 for pathdb nodes ( #28006 )
2023-08-25 18:10:30 +03:00
Felix Lange
6dc9cdf15b
core: support null balance in genesis ( #28005 )
2023-08-25 15:59:40 +02:00
aaronbuchwald
56d2366699
core/state/snapshot: replace diffToDisk ideal batch size with 64MB ( #27977 )
2023-08-25 15:48:10 +03:00
Guido Vranken
0ba2d3cfa4
core/vm/runtime: Add Random field to config ( #28001 )
2023-08-25 04:05:33 -04:00
rjl493456442
1a2135044c
eth/catalyst: use block as finalization ( #28000 )
2023-08-24 11:49:13 +03:00
Delweng
45b198dd3a
eth/catalyst: disable heartbeat for simulated beacon node ( #27979 )
...
* eth/catalyst: disable heartbeat for simulated beacon node
Signed-off-by: jsvisa <delweng@gmail.com>
* eth/catalyst: update
* eth/catalyst: disable heartbeat for tester
---------
Signed-off-by: jsvisa <delweng@gmail.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2023-08-24 11:48:09 +03:00
Felix Lange
9b46986edc
all: use rlp.DecodeBytes instead of rlp.Decode where possible ( #27994 )
2023-08-24 11:47:42 +03:00
Marius van der Wijden
60ec41ce73
miner: refactor getSealingBlock method ( #27993 )
2023-08-24 00:28:38 +02:00
lightclient
feb8f416ac
miner: add to build block with EIP-4844 blobs ( #27875 )
...
---------
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-08-23 23:16:14 +02:00
Felix Lange
d1f6735171
core/rawdb: fix 32bit build ( #27995 )
2023-08-23 23:14:36 +02:00
Martin Holst Swende
eb6cbe37e1
core/state: remove public method ForEachStorage ( #27986 )
...
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-08-23 21:53:31 +02:00
Marius van der Wijden
2f4dbb4f90
core/rawdb: allocate database keys with explicit size to avoid slice growth ( #27772 )
2023-08-23 21:41:56 +02:00