Daniel Liu
9ae7402e35
slog: faster and less memory-consumption ( #28621 )
...
These changes improves the performance of the non-coloured terminal formatting, _quite a lot_.
```
name old time/op new time/op delta
TerminalHandler-8 10.2µs ±15% 5.4µs ± 9% -47.02% (p=0.008 n=5+5)
name old alloc/op new alloc/op delta
TerminalHandler-8 2.17kB ± 0% 0.40kB ± 0% -81.46% (p=0.008 n=5+5)
name old allocs/op new allocs/op delta
TerminalHandler-8 33.0 ± 0% 5.0 ± 0% -84.85% (p=0.008 n=5+5)
```
I tried to _somewhat_ organize the commits, but the it might still be a bit chaotic. Some core insights:
- The function `terminalHandler.Handl` uses a mutex, and writes all output immediately to 'upstream'. Thus, it can reuse a scratch-buffer every time.
- This buffer can be propagated internally, making all the internal formatters either write directly to it,
- OR, make use of the `tmp := buf.AvailableBuffer()` in some cases, where a byte buffer "extra capacity" can be temporarily used.
- The `slog` package uses `Attr` by value. It makes sense to minimize operating on them, since iterating / collecting into a new slice, iterating again etc causes copy-on-heap. Better to operate on them only once.
- If we want to do padding, it's better to copy from a constant `space`-buffer than to invoke `bytes.Repeat` every single time.
2024-11-15 10:02:42 +08:00
Daniel Liu
ec4ca1ed6a
all: replace log15 with slog ( #28187 )
2024-11-15 10:02:42 +08:00
Daniel Liu
b04ce3213a
log: test for logging-output ( #28373 )
2024-11-15 10:02:42 +08:00
Daniel Liu
f9cae3b9aa
internal, log: remove code for old unsupported go-versions ( #28090 )
2024-11-15 10:02:42 +08:00
Daniel Liu
41c4c9ba88
log: avoid stack lookups when not needed/used ( #28069 )
2024-11-15 10:02:42 +08:00
Daniel Liu
6b81e68537
log: use atomic types ( #27763 )
...
Co-authored-by: Felix Lange <fjl@twurst.com>
2024-11-15 10:02:42 +08:00
Daniel Liu
f75958c0ac
log: report error when ctx key is non-string ( #27226 )
...
* log/format.go : invalid string cast fix
* log: some polish
---------
Co-authored-by: Martin Holst Swende <martin@swende.se>
2024-11-15 10:02:42 +08:00
Daniel Liu
2359a9ed34
log: add special casing of uint256 into the logger ( #26936 )
2024-11-15 10:02:42 +08:00
Daniel Liu
5eca853e52
log: improve documentation ( #26753 )
...
Add usage examples
2024-11-15 10:02:42 +08:00
Daniel Liu
ed4f989ff3
log: allow tabs in log messages ( #26630 )
...
* log: allow tabs in log messages
This fixes a regression where panic reports in RPC handlers were quoted
because they contain tab characters.
* Update format.go
2024-11-15 10:02:42 +08:00
Daniel Liu
dce80d77b7
log: better sanitation ( #26556 )
2024-11-15 10:02:42 +08:00
Daniel Liu
0902dcf37c
log: modify lock defer unlock order in sync handler ( #24667 )
...
This modifies the order of Lock() defer Unlock() to follow the more
typically used pattern.
2024-11-15 10:02:41 +08:00
Daniel Liu
07443431d3
log: fix formatting of big.Int ( #22679 )
...
* log: fix formatting of big.Int
The implementation of formatLogfmtBigInt had two issues: it crashed when
the number was actually large enough to hit the big integer case, and
modified the big.Int while formatting it.
* log: don't call FormatLogfmtInt64 for int16
* log: separate from decimals back, not front
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2024-11-15 10:02:41 +08:00
Daniel Liu
aedfea681b
all: make logs a bit easier on the eye to digest ( #22665 )
2024-11-15 10:02:41 +08:00
Daniel Liu
3d21631145
log: fix typos in comments ( #21118 )
2024-11-15 10:02:41 +08:00
Daniel Liu
cd9e18984e
log: properly escape character sequences ( #20987 )
2024-11-15 10:02:41 +08:00
Daniel Liu
25a7e096ff
log: delete RotatingFileHandler ( #20586 )
2024-11-15 10:02:41 +08:00
Daniel Liu
4d9936574b
log: fix staticcheck warnings ( #20388 )
2024-11-15 10:02:41 +08:00
Daniel Liu
6873ca0687
log: change http:// to https:// on links in README.md ( #20178 )
...
docs: change http to https on links in log/README.md
2024-11-15 10:02:41 +08:00
Daniel Liu
81f59cb0ee
log: do not pad values longer than 40 characters ( #19592 )
...
* log: Do not pad too long values
* log: gofmt
2024-11-15 10:02:41 +08:00
Daniel Liu
7865057840
internal/debug: support color terminal for cygwin/msys2 ( #17740 )
2024-11-15 10:02:41 +08:00
Daniel Liu
49e889eb7c
log: logging feature ( #17097 )
2024-11-15 10:02:41 +08:00
Daniel Liu
38e5efbfe4
log: Change time format ( #17054 )
...
- Keep the tailing zeros.
- Limit precision to milliseconds.
2024-11-15 10:02:41 +08:00
Daniel Liu
f391463457
log: fixes for golint warnings ( #16775 )
2024-11-15 10:02:41 +08:00
Daniel Liu
643f02356d
log: changed if-else blocks to conform with golint ( #16661 )
2024-11-15 10:02:41 +08:00
Daniel Liu
6459d0cf28
Merge pull request #687 from JukLee0ira/whisper
...
whisper: remove package whisper
2024-11-13 13:00:05 +08:00
JukLee0ira
85ede14a92
cmd: retire whisper flags ( #22421 )
2024-11-13 12:38:36 +08:00
JukLee0ira
cfb72501bf
cmd/geth: print warning when whisper config is present in toml ( #21544 )
2024-11-13 12:38:07 +08:00
JukLee0ira
995db1892b
.github: remove whisper from CODEOWNERS ( #21527 )
2024-11-13 12:37:42 +08:00
JukLee0ira
749037a97c
whisper: remove whisper ( #21487 )
2024-11-13 12:37:10 +08:00
JukLee0ira
9a5fb2a9b8
whisper: Remove v5 ( #18432 )
2024-11-13 12:36:12 +08:00
Daniel Liu
5316e9b052
Merge pull request #729 from gzliudan/ws-port
...
node: allow WebSocket and HTTP works on the same port
2024-11-13 09:36:02 +08:00
Daniel Liu
22ad2f57ef
node: fix websocket connection header check ( #21646 )
2024-11-13 09:35:41 +08:00
Daniel Liu
b1d6bec3bd
cmd, node: dump empty value config ( #21296 )
2024-11-13 09:35:41 +08:00
Daniel Liu
ba23964062
node: shutdown HTTP and WebSocket servers gracefully ( #20956 )
2024-11-13 09:35:41 +08:00
Daniel Liu
b76438aafe
node: allow WebSocket and HTTP work on same port ( #20810 )
2024-11-13 09:35:41 +08:00
Daniel Liu
57e5f5ec58
rpc: not log error if user configures --rpcapi=rpc ( #20776 )
2024-11-13 09:35:41 +08:00
Daniel Liu
fd2b21702c
rpc: remove startup error for invalid modules, log it instead ( #20684 )
2024-11-13 09:35:41 +08:00
Daniel Liu
3f1b7d3a7b
rpc: check module availability at startup ( #20597 )
2024-11-13 09:35:41 +08:00
Daniel Liu
d3c023ed37
cmd/XDC, internal, node: nuke XDC monitor ( #19399 )
2024-11-13 09:35:41 +08:00
Daniel Liu
68d9dcbee4
node: require LocalAppData variable ( #19132 )
2024-11-13 09:35:41 +08:00
Daniel Liu
3ed9ce95c1
eth, node: use APPDATA env to support cygwin/msys correctly ( #17786 )
2024-11-13 09:35:41 +08:00
Daniel Liu
fb2f822abe
node: fix golint warnings
2024-11-13 09:35:41 +08:00
Daniel Liu
0da60fc517
Merge pull request #731 from gzliudan/trust-peer
...
rpc: add admin_addTrustedPeer and admin_removeTrustedPeer
2024-11-13 09:33:51 +08:00
Daniel Liu
f9f172af76
rpc: Add admin_addTrustedPeer and admin_removeTrustedPeer. ( #16333 )
2024-11-13 09:33:18 +08:00
Daniel Liu
e8a9807be6
Merge pull request #732 from gzliudan/gas-price
...
eth/gasprice: fix wrong gas price with empty blocks
2024-11-13 09:31:27 +08:00
Daniel Liu
59b06e4a03
eth/gasprice: reduce default gas price for empty block
2024-11-13 09:30:55 +08:00
Daniel Liu
de7203ac88
eth/gasprice: remove default from config ( #30080 )
2024-11-13 09:30:55 +08:00
Daniel Liu
d3eaeb9381
eth/gasprice: use slices package for sorting ( #27490 #27909 #29314 )
2024-11-13 09:30:55 +08:00
Daniel Liu
4dbed3582f
eth/gasprice: simplify function getBlockValues
2024-11-13 09:30:55 +08:00