-
Notifications
You must be signed in to change notification settings - Fork 0
mlog API
mlog stands for "machine logging." To read the spec for mlog implementation
and documenation, please visit the mlog spec page.
WARNING: it's an experimental feature at this moment. log structure can be changed in near future
mlog has the following option flags:
-
--mlog(default:off): enables mlog and specifies the format in which mlog lines should be structured; possible format values arekv(key-value),json, andplain(same as key-value, but with just values). Using any format value will enable mlog. -
--mlog-dir(default:<datadir>/<chain-identity>/mlogs): directory to hold mlogs -
--mlog-components(default: all available): comma-separated list of components which should be logged. For a list of available components, please see the line reference section. Machine logging is disabled by default. To enable it, use--mlog=[kv|json|plain].
Machine log files are automatically generated in the /mlogs subdirectory of the chain data directory of the running geth instance, for example:
$HOME/Library/EthereumClassic/mainnet/mlogs/
To customize this location, use --mlog-dir=/path/to/mlogs, where /path/to/mlogs may be an absolute or relative path to a directory. This directory will be created if it doesn't exist.
Machine log file names include context and time information. The latest
mlog file will be symlinked as <programname>.log. For example:
lrwxr-xr-x 1 ia staff 37 Nov 1 13:49 geth.log -> geth.mh.ia.mlog.20171101-134958.33641
-rw-r--r-- 1 ia staff 3.5M Oct 25 17:47 geth.mh.ia.mlog.20171025-174603.23341
-rw-r--r-- 1 ia staff 2.9M Oct 25 17:54 geth.mh.ia.mlog.20171025-175405.24810
-rw-r--r-- 1 ia staff 4.2M Oct 25 17:59 geth.mh.ia.mlog.20171025-175625.25350
-rw-r--r-- 1 ia staff 3.6M Oct 25 18:00 geth.mh.ia.mlog.20171025-175912.25899
-rw-r--r-- 1 ia staff 3.1M Oct 25 18:01 geth.mh.ia.mlog.20171025-180101.26574
-rw-r--r-- 1 ia staff 2.8M Oct 25 18:05 geth.mh.ia.mlog.20171025-180551.27435
Log files are automatically rotated when they reach approximately 3 megabytes in size, and a new file is generated each time geth is started.
A line is the result of a single event in the go-ethereum protocol.
There are three available formats:
- Key-value (aka kv): default
- Plain
- JSON
Lines are organized with a common structure:
$DATE $TIME [$cmp] RECEIVER VERB SUBJECT $RECEIVER:DETAIL $RECEIVER:DETAIL $SUBJECT:DETAIL $SUBJECT:DETAIL
where the number and types of details vary for different lines.
For example:
2017-08-24T17:17:39Z [discover] PING HANDLE FROM from.udp_address=123.45.67.89:30303 from.id=7909d51011d8a153 ping.bytes_transferred=252
Note: In this documentation, line variable names which represent dynamic values (eg. $STRING)
are prefixed with $, while constant values (eg. SEND) are not prefixed.
Line structure can be understood in three parts:
Header: 2017-08-24T17:17:39Z [discover]
The first value is the date in UTC ISO8601 format; %Y-%m-%dT%H:%M:%SZ.
The second value is the trace component calling the log. The component name will always be in brackets. Header structure is the same for all kv and plain lines, but is excluded from json-formatted lines.
Fingerprint: PING HANDLE FROM
lines are referred to and organized by their unique fingerprint pattern: RECEIVER VERB SUBJECT.
For json-formatted lines, this pattern will be present within the logged json objects as
"event": "receiver.subject.verb".
Details: 123.45.67.89:30303 7909d51011d8a153 252
All DETAIL values that may contain spaces are wrapped in quotes, eg. disconnect.reason="Disconnect requested".
If formatting is set to key-value, DETAILS will include owner.key=$SOMEVALUE, eg:
from.udp_address=123.45.67.89:30303 from.id=7909d51011d8a153 ping.bytes_transferred=252
An example configuration for parsing key-value logs using Filebeat with an ELK (Elasticsearch, Logstash, Kibana) stack might look something like this:
# filebeath.geth.mlog.json
filebeat.prospectors:
- input_type: log
paths:
# can also use wildcards, eg. *.log
- /Users/ia/Library/EthereumClassic/mlogs/geth.log
symlinks: true
output.logstash:
hosts: ["localhost:5043"]# logstash-kv.conf
input {
beats {
port => "5043"
}
}
filter {
date {
match => [ "logdate", "yyyy-MM-ddTHH:mm:ssZ"]
}
grok {
match => { "message" => "\[%{WORD:component}\] %{WORD:receiver} %{WORD:verb} %{WORD:subject}" }
}
mutate {
convert => {
"SERVER.PEER_COUNT" => "integer"
}
}
}
output {
stdout { }
elasticsearch {
hosts => "localhost:9200"
}
}Each line logged in JSON format contains a single JSON object, and is not prefixed by a timestamp or component prefix. For example:
{"event":"state.create.object","object.new":"string","object.prev":"string","ts":"2017-08-24T13:49:03.787138646-05:00"}Additional keys
Each JSON-formatted line contains two additional keys:
-
"event": the 'fingerprint' of the line event. This, for example, may be used as thejson.event_keyvalue for Logstash. -
"ts": the timestamp of the event. Note that this is the time at which the event was logged, not the time at which the line may be ingested by a log parsing program. The value will be in the form2017-08-10T15:20:11.294317237-05:00.
Flatness
The JSON line details should be as "flat" as possible; instead of presenting:
{"node": {"ip": "1234asdf", "port": 3333}}the line will prefer a format like:
{"node.ip": "1234asdf", "node.port": 3333}An example configuration for parsing JSON logs using Filebeat with an ELK (Elasticsearch, Logstash, Kibana) stack might look something like this:
# filebeat.geth.mlog.json.yml
filebeat.prospectors:
- input_type: log
paths:
- /Users/ia/Library/EthereumClassic/mlogs/geth.log
symlinks: true
json.message_key: event
json.keys_under_root: true
output.logstash:
hosts: ["localhost:5043"]# logstash-json.conf
input {
beats {
port => "5043"
}
}
output {
stdout { }
elasticsearch {
hosts => "localhost:9200"
}
}| Component | Description |
|---|---|
| client | The client component log client-session start and stop details. |
| discover | The discover component handles low-level peer discovery requests. |
| blockchain | The blockchain component tracks block and chain insertions into the chaindb during import and sync. |
| server | The server component tracks peer-to-peer registrations. |
| miner | The miner component tracks mining actions, including uncle and transaction commits. |
| state | The state component tracks address creation and balance changes. |
| txpool | The txpool component tracks the addition and validation of transactions. |
[state]
[blockchain]
[txpool]
[miner]
- miner.start.coinbase
- miner.stop.coinbase
- miner.commit_work.block
- miner.commit.uncle
- miner.commit.tx
- miner.mine.block
- miner.confirm_mined.block
[fetcher]
[discover]
- ping.handle.from
- ping.send.to
- pong.handle.from
- pong.send.to
- findnode.handle.from
- findnode.send.to
- neighbors.handle.from
- neighbors.send.to
[downloader]
[client]
[server]
Called once when a peer is added.
Key value:
2018/02/07 21:17:14 [server] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 SERVER ADD PEER server.peer_count=$INT peer.id=$STRING peer.remote_addr=$STRING peer.remote_version=$STRING
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"server","event":"server.add.peer","peer.id":"string","peer.remote_addr":"string","peer.remote_version":"string","server.peer_count":0,"ts":"2018-02-07T21:17:14.241165533+09:00"}Plain:
2018/02/07 21:17:14 [server] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 SERVER ADD PEER $INT $STRING $STRING $STRING
4 detail values:
-
server.peer_count: $INT -
peer.id: $STRING -
peer.remote_addr: $STRING -
peer.remote_version: $STRING
Called once when a peer is removed.
Key value:
2018/02/07 21:17:14 [server] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 SERVER REMOVE PEER server.peer_count=$INT peer.id=$STRING remove.reason=$QUOTEDSTRING
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"server","event":"server.remove.peer","peer.id":"string","remove.reason":"string with spaces","server.peer_count":0,"ts":"2018-02-07T21:17:14.241421388+09:00"}Plain:
2018/02/07 21:17:14 [server] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 SERVER REMOVE PEER $INT $STRING $QUOTEDSTRING
3 detail values:
-
server.peer_count: $INT -
peer.id: $STRING -
remove.reason: $QUOTEDSTRING
Called when the downloader registers a peer.
Key value:
2018/02/07 21:17:14 [downloader] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 DOWNLOADER REGISTER PEER peer.id=$STRING peer.version=$INT register.error=$STRING_OR_NULL
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"downloader","event":"downloader.register.peer","peer.id":"string","peer.version":0,"register.error":null,"ts":"2018-02-07T21:17:14.241470851+09:00"}Plain:
2018/02/07 21:17:14 [downloader] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 DOWNLOADER REGISTER PEER $STRING $INT $STRING_OR_NULL
3 detail values:
-
peer.id: $STRING -
peer.version: $INT -
register.error: $STRING_OR_NULL
Called when the downloader unregisters a peer.
Key value:
2018/02/07 21:17:14 [downloader] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 DOWNLOADER UNREGISTER PEER peer.id=$STRING unregister.error=$STRING_OR_NULL
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"downloader","event":"downloader.unregister.peer","peer.id":"string","ts":"2018-02-07T21:17:14.241522382+09:00","unregister.error":null}Plain:
2018/02/07 21:17:14 [downloader] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 DOWNLOADER UNREGISTER PEER $STRING $STRING_OR_NULL
2 detail values:
-
peer.id: $STRING -
unregister.error: $STRING_OR_NULL
Called at intervals to gather peer latency statistics. Estimates request round trip time.
RTT reports the estimated Request Round Trip time, confidence is measures from 0-1 (1 is ultimately confidenct), and TTL reports the Timeout Allowance for a single downloader request to finish within.
Key value:
2018/02/07 21:17:14 [downloader] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 DOWNLOADER TUNE QOS qos.rtt=$DURATION qos.confidence=$NUMBER qos.ttl=$DURATION
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"downloader","event":"downloader.tune.qos","qos.confidence":null,"qos.rtt":63042000000,"qos.ttl":63042000000,"ts":"2018-02-07T21:17:14.241584119+09:00"}Plain:
2018/02/07 21:17:14 [downloader] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 DOWNLOADER TUNE QOS $DURATION $NUMBER $DURATION
3 detail values:
-
qos.rtt: $DURATION -
qos.confidence: $NUMBER -
qos.ttl: $DURATION
Called when the geth client starts up.
Key value:
2018/02/07 21:17:14 [client] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 CLIENT START SESSION client.server_id=$STRING client.server_name=$STRING client.server_enode=$STRING client.server_ip=$STRING client.server_maxpeers=$INT client.config_chainname=$QUOTEDSTRING client.config_chainid=$INT client.config_network=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"client.config_chainid":0,"client.config_chainname":"string with spaces","client.config_network":0,"client.server_enode":"string","client.server_id":"string","client.server_ip":"string","client.server_maxpeers":0,"client.server_name":"string","component":"client","event":"client.start.session","ts":"2018-02-07T21:17:14.242021968+09:00"}Plain:
2018/02/07 21:17:14 [client] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 CLIENT START SESSION $STRING $STRING $STRING $STRING $INT $QUOTEDSTRING $INT $INT
8 detail values:
-
client.server_id: $STRING -
client.server_name: $STRING -
client.server_enode: $STRING -
client.server_ip: $STRING -
client.server_maxpeers: $INT -
client.config_chainname: $QUOTEDSTRING -
client.config_chainid: $INT -
client.config_network: $INT
Called when the geth client shuts down because of an interceptable signal, eg. SIGINT.
Key value:
2018/02/07 21:17:14 [client] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 CLIENT STOP SESSION client.server_id=$STRING client.server_name=$STRING client.server_enode=$STRING client.server_ip=$STRING client.server_maxpeers=$INT client.config_chainname=$QUOTEDSTRING client.config_chainid=$INT client.config_network=$INT stop.signal=$STRING stop.error=$STRING_OR_NULL client.duration=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"client.config_chainid":0,"client.config_chainname":"string with spaces","client.config_network":0,"client.duration":0,"client.server_enode":"string","client.server_id":"string","client.server_ip":"string","client.server_maxpeers":0,"client.server_name":"string","component":"client","event":"client.stop.session","stop.error":null,"stop.signal":"string","ts":"2018-02-07T21:17:14.24217435+09:00"}Plain:
2018/02/07 21:17:14 [client] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 CLIENT STOP SESSION $STRING $STRING $STRING $STRING $INT $QUOTEDSTRING $INT $INT $STRING $STRING_OR_NULL $INT
11 detail values:
-
client.server_id: $STRING -
client.server_name: $STRING -
client.server_enode: $STRING -
client.server_ip: $STRING -
client.server_maxpeers: $INT -
client.config_chainname: $QUOTEDSTRING -
client.config_chainid: $INT -
client.config_network: $INT -
stop.signal: $STRING -
stop.error: $STRING_OR_NULL -
client.duration: $INT
Called once when a valid transaction is added to tx pool. $TO.NAME will be the account address hex or '[NEW_CONTRACT]' in case of a contract.
Key value:
2018/02/07 21:17:14 [txpool] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 TXPOOL ADD TX tx.from=$STRING tx.to=$STRING tx.value=$BIGINT tx.hash=$STRING
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"txpool","event":"txpool.add.tx","ts":"2018-02-07T21:17:14.242309275+09:00","tx.from":"string","tx.hash":"string","tx.to":"string","tx.value":0}Plain:
2018/02/07 21:17:14 [txpool] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 TXPOOL ADD TX $STRING $STRING $BIGINT $STRING
4 detail values:
-
tx.from: $STRING -
tx.to: $STRING -
tx.value: $BIGINT -
tx.hash: $STRING
Called once when validating a single transaction. If transaction is invalid, TX.ERROR will be non-nil, otherwise it will be nil.
Key value:
2018/02/07 21:17:14 [txpool] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 TXPOOL VALIDATE TX tx.hash=$STRING tx.error=$STRING_OR_NULL
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"txpool","event":"txpool.validate.tx","ts":"2018-02-07T21:17:14.242379888+09:00","tx.error":null,"tx.hash":"string"}Plain:
2018/02/07 21:17:14 [txpool] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 TXPOOL VALIDATE TX $STRING $STRING_OR_NULL
2 detail values:
-
tx.hash: $STRING -
tx.error: $STRING_OR_NULL
Called once when the miner starts.
Key value:
2018/02/07 21:17:14 [miner] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER START COINBASE coinbase.address=$STRING miner.threads=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"coinbase.address":"string","component":"miner","event":"miner.start.coinbase","miner.threads":0,"ts":"2018-02-07T21:17:14.242420843+09:00"}Plain:
2018/02/07 21:17:14 [miner] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER START COINBASE $STRING $INT
2 detail values:
-
coinbase.address: $STRING -
miner.threads: $INT
Called once when the miner stops.
Key value:
2018/02/07 21:17:14 [miner] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER STOP COINBASE coinbase.address=$STRING miner.threads=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"coinbase.address":"string","component":"miner","event":"miner.stop.coinbase","miner.threads":0,"ts":"2018-02-07T21:17:14.242461223+09:00"}Plain:
2018/02/07 21:17:14 [miner] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER STOP COINBASE $STRING $INT
2 detail values:
-
coinbase.address: $STRING -
miner.threads: $INT
Called when the miner commits new work on a block.
Key value:
2018/02/07 21:17:14 [miner] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER COMMIT_WORK BLOCK block.number=$BIGINT commit_work.txs_count=$INT commit_work.uncles_count=$INT commit_work.time_elapsed=$DURATION
JSON:
{"block.number":0,"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"commit_work.time_elapsed":63042000000,"commit_work.txs_count":0,"commit_work.uncles_count":0,"component":"miner","event":"miner.commit_work.block","ts":"2018-02-07T21:17:14.242512506+09:00"}Plain:
2018/02/07 21:17:14 [miner] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER COMMIT_WORK BLOCK $BIGINT $INT $INT $DURATION
4 detail values:
-
block.number: $BIGINT -
commit_work.txs_count: $INT -
commit_work.uncles_count: $INT -
commit_work.time_elapsed: $DURATION
Called when the miner commits an uncle. If $COMMIT_UNCLE is non-nil, uncle is not committed.
Key value:
2018/02/07 21:17:14 [miner] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER COMMIT UNCLE uncle.block_number=$BIGINT uncle.hash=$STRING commit.error=$STRING_OR_NULL
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"commit.error":null,"component":"miner","event":"miner.commit.uncle","ts":"2018-02-07T21:17:14.242566404+09:00","uncle.block_number":0,"uncle.hash":"string"}Plain:
2018/02/07 21:17:14 [miner] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER COMMIT UNCLE $BIGINT $STRING $STRING_OR_NULL
3 detail values:
-
uncle.block_number: $BIGINT -
uncle.hash: $STRING -
commit.error: $STRING_OR_NULL
Called when the miner commits (or attempts to commit) a transaction. If $COMMIT.ERROR is non-nil, the transaction is not committed.
Key value:
2018/02/07 21:17:14 [miner] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER COMMIT TX commit.block_number=$BIGINT tx.hash=$STRING commit.error=$STRING
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"commit.block_number":0,"commit.error":"string","component":"miner","event":"miner.commit.tx","ts":"2018-02-07T21:17:14.242631348+09:00","tx.hash":"string"}Plain:
2018/02/07 21:17:14 [miner] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER COMMIT TX $BIGINT $STRING $STRING
3 detail values:
-
commit.block_number: $BIGINT -
tx.hash: $STRING -
commit.error: $STRING
Called when the miner has mined a block. $BLOCK.STATUS will be either 'stale' or 'wait_confirm'. $BLOCK.WAIT_CONFIRM is an integer specifying n blocks to wait for confirmation based on block depth, relevant only for when $BLOCK.STATUS is 'wait_confirm'.
Key value:
2018/02/07 21:17:14 [miner] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER MINE BLOCK block.number=$BIGINT block.hash=$STRING block.status=$STRING block.wait_confirm=$INT
JSON:
{"block.hash":"string","block.number":0,"block.status":"string","block.wait_confirm":0,"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"miner","event":"miner.mine.block","ts":"2018-02-07T21:17:14.24269249+09:00"}Plain:
2018/02/07 21:17:14 [miner] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER MINE BLOCK $BIGINT $STRING $STRING $INT
4 detail values:
-
block.number: $BIGINT -
block.hash: $STRING -
block.status: $STRING -
block.wait_confirm: $INT
Called once to confirm the miner has mined a block n blocks back, where n refers to the $BLOCK.WAIT_CONFIRM value from MINER MINE BLOCK. This is only a logging confirmation message, and is not related to work done.
Key value:
2018/02/07 21:17:14 [miner] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER CONFIRM_MINED BLOCK block.number=$INT
JSON:
{"block.number":0,"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"miner","event":"miner.confirm_mined.block","ts":"2018-02-07T21:17:14.242749411+09:00"}Plain:
2018/02/07 21:17:14 [miner] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 MINER CONFIRM_MINED BLOCK $INT
1 detail values:
-
block.number: $INT
Called when a block announcement is discarded.
Key value:
2018/02/07 21:17:14 [fetcher] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 FETCHER DISCARD ANNOUNCEMENT announcement.origin=$STRING announcement.number=$INT announcement.hash=$STRING announcement.distance=$INT
JSON:
{"announcement.distance":0,"announcement.hash":"string","announcement.number":0,"announcement.origin":"string","client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"fetcher","event":"fetcher.discard.announcement","ts":"2018-02-07T21:17:14.242785366+09:00"}Plain:
2018/02/07 21:17:14 [fetcher] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 FETCHER DISCARD ANNOUNCEMENT $STRING $INT $STRING $INT
4 detail values:
-
announcement.origin: $STRING -
announcement.number: $INT -
announcement.hash: $STRING -
announcement.distance: $INT
Called once for each received PING request from peer FROM.
Key value:
2018/02/07 21:17:14 [discover] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 PING HANDLE FROM from.udp_address=$STRING from.id=$STRING ping.bytes_transferred=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"discover","event":"ping.handle.from","from.id":"string","from.udp_address":"string","ping.bytes_transferred":0,"ts":"2018-02-07T21:17:14.242846116+09:00"}Plain:
2018/02/07 21:17:14 [discover] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 PING HANDLE FROM $STRING $STRING $INT
3 detail values:
-
from.udp_address: $STRING -
from.id: $STRING -
ping.bytes_transferred: $INT
Called once for each outgoing PING request to peer TO.
Key value:
2018/02/07 21:17:14 [discover] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 PING SEND TO to.udp_address=$STRING ping.bytes_transferred=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"discover","event":"ping.send.to","ping.bytes_transferred":0,"to.udp_address":"string","ts":"2018-02-07T21:17:14.243303242+09:00"}Plain:
2018/02/07 21:17:14 [discover] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 PING SEND TO $STRING $INT
2 detail values:
-
to.udp_address: $STRING -
ping.bytes_transferred: $INT
Called once for each received PONG request from peer FROM.
Key value:
2018/02/07 21:17:14 [discover] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 PONG HANDLE FROM from.udp_address=$STRING from.id=$STRING pong.bytes_transferred=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"discover","event":"pong.handle.from","from.id":"string","from.udp_address":"string","pong.bytes_transferred":0,"ts":"2018-02-07T21:17:14.243402623+09:00"}Plain:
2018/02/07 21:17:14 [discover] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 PONG HANDLE FROM $STRING $STRING $INT
3 detail values:
-
from.udp_address: $STRING -
from.id: $STRING -
pong.bytes_transferred: $INT
Called once for each outgoing PONG request to peer TO.
Key value:
2018/02/07 21:17:14 [discover] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 PONG SEND TO to.udp_address=$STRING pong.bytes_transferred=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"discover","event":"pong.send.to","pong.bytes_transferred":0,"to.udp_address":"string","ts":"2018-02-07T21:17:14.243531193+09:00"}Plain:
2018/02/07 21:17:14 [discover] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 PONG SEND TO $STRING $INT
2 detail values:
-
to.udp_address: $STRING -
pong.bytes_transferred: $INT
Called once for each received FIND_NODE request from peer FROM.
Key value:
2018/02/07 21:17:14 [discover] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 FINDNODE HANDLE FROM from.udp_address=$STRING from.id=$STRING findnode.bytes_transferred=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"discover","event":"findnode.handle.from","findnode.bytes_transferred":0,"from.id":"string","from.udp_address":"string","ts":"2018-02-07T21:17:14.243623443+09:00"}Plain:
2018/02/07 21:17:14 [discover] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 FINDNODE HANDLE FROM $STRING $STRING $INT
3 detail values:
-
from.udp_address: $STRING -
from.id: $STRING -
findnode.bytes_transferred: $INT
Called once for each received FIND_NODE request from peer FROM.
Key value:
2018/02/07 21:17:14 [discover] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 FINDNODE SEND TO to.udp_address=$STRING findnode.bytes_transferred=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"discover","event":"findnode.send.to","findnode.bytes_transferred":0,"to.udp_address":"string","ts":"2018-02-07T21:17:14.243732706+09:00"}Plain:
2018/02/07 21:17:14 [discover] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 FINDNODE SEND TO $STRING $INT
2 detail values:
-
to.udp_address: $STRING -
findnode.bytes_transferred: $INT
Called once for each received NEIGHBORS request from peer FROM.
Key value:
2018/02/07 21:17:14 [discover] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 NEIGHBORS HANDLE FROM from.udp_address=$STRING from.id=$STRING neighbors.bytes_transferred=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"discover","event":"neighbors.handle.from","from.id":"string","from.udp_address":"string","neighbors.bytes_transferred":0,"ts":"2018-02-07T21:17:14.243832316+09:00"}Plain:
2018/02/07 21:17:14 [discover] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 NEIGHBORS HANDLE FROM $STRING $STRING $INT
3 detail values:
-
from.udp_address: $STRING -
from.id: $STRING -
neighbors.bytes_transferred: $INT
Called once for each outgoing NEIGHBORS request to peer TO.
Key value:
2018/02/07 21:17:14 [discover] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 NEIGHBORS SEND TO to.udp_address=$STRING neighbors.bytes_transferred=$INT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"discover","event":"neighbors.send.to","neighbors.bytes_transferred":0,"to.udp_address":"string","ts":"2018-02-07T21:17:14.243945864+09:00"}Plain:
2018/02/07 21:17:14 [discover] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 NEIGHBORS SEND TO $STRING $INT
2 detail values:
-
to.udp_address: $STRING -
neighbors.bytes_transferred: $INT
Called once when a state object is created. $OBJECT.NEW is the address of the newly-created object. If there was an existing account with the same address, it is overwritten and its address returned as the $OBJECT.PREV value.
Key value:
2018/02/07 21:17:14 [state] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 STATE CREATE OBJECT object.new=$STRING object.prev=$STRING
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"state","event":"state.create.object","object.new":"string","object.prev":"string","ts":"2018-02-07T21:17:14.244045553+09:00"}Plain:
2018/02/07 21:17:14 [state] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 STATE CREATE OBJECT $STRING $STRING
2 detail values:
-
object.new: $STRING -
object.prev: $STRING
Called once when the balance of an account (state object) is added to.
Key value:
2018/02/07 21:17:14 [state] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 STATE ADD_BALANCE OBJECT object.address=$STRING object.nonce=$INT object.balance=$BIGINT add_balance.amount=$BIGINT
JSON:
{"add_balance.amount":0,"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"state","event":"state.add_balance.object","object.address":"string","object.balance":0,"object.nonce":0,"ts":"2018-02-07T21:17:14.244138376+09:00"}Plain:
2018/02/07 21:17:14 [state] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 STATE ADD_BALANCE OBJECT $STRING $INT $BIGINT $BIGINT
4 detail values:
-
object.address: $STRING -
object.nonce: $INT -
object.balance: $BIGINT -
add_balance.amount: $BIGINT
Called once when the balance of an account (state object) is subtracted from.
Key value:
2018/02/07 21:17:14 [state] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 STATE SUB_BALANCE OBJECT object.address=$STRING object.nonce=$INT object.balance=$BIGINT sub_balance.amount=$BIGINT
JSON:
{"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"state","event":"state.sub_balance.object","object.address":"string","object.balance":0,"object.nonce":0,"sub_balance.amount":0,"ts":"2018-02-07T21:17:14.244362517+09:00"}Plain:
2018/02/07 21:17:14 [state] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 STATE SUB_BALANCE OBJECT $STRING $INT $BIGINT $BIGINT
4 detail values:
-
object.address: $STRING -
object.nonce: $INT -
object.balance: $BIGINT -
sub_balance.amount: $BIGINT
Called when a single block written to the chain database. A STATUS of NONE means it was written without any abnormal chain event, such as a split.
Key value:
2018/02/07 21:17:14 [blockchain] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 BLOCKCHAIN WRITE BLOCK write.status=$STRING write.error=$STRING_OR_NULL block.number=$BIGINT block.hash=$STRING block.size=$INT64 block.transactions_count=$INT block.gas_used=$BIGINT block.coinbase=$STRING block.time=$BIGINT block.difficulty=$BIGINT block.uncles=$INT block.received_at=$BIGINT block.diff_parent_time=$BIGINT
JSON:
{"block.coinbase":"string","block.diff_parent_time":0,"block.difficulty":0,"block.gas_used":0,"block.hash":"string","block.number":0,"block.received_at":0,"block.size":null,"block.time":0,"block.transactions_count":0,"block.uncles":0,"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"blockchain","event":"blockchain.write.block","ts":"2018-02-07T21:17:14.244500562+09:00","write.error":null,"write.status":"string"}Plain:
2018/02/07 21:17:14 [blockchain] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 BLOCKCHAIN WRITE BLOCK $STRING $STRING_OR_NULL $BIGINT $STRING $INT64 $INT $BIGINT $STRING $BIGINT $BIGINT $INT $BIGINT $BIGINT
13 detail values:
-
write.status: $STRING -
write.error: $STRING_OR_NULL -
block.number: $BIGINT -
block.hash: $STRING -
block.size: $INT64 -
block.transactions_count: $INT -
block.gas_used: $BIGINT -
block.coinbase: $STRING -
block.time: $BIGINT -
block.difficulty: $BIGINT -
block.uncles: $INT -
block.received_at: $BIGINT -
block.diff_parent_time: $BIGINT
Called when a chain of blocks is inserted into the chain database.
Key value:
2018/02/07 21:17:14 [blockchain] client=source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 BLOCKCHAIN INSERT BLOCKS blocks.count=$INT blocks.queued=$INT blocks.ignored=$INT blocks.transactions_count=$INT blocks.last_number=$BIGINT blocks.first_hash=$STRING blocks.last_hash=$STRING insert.time=$DURATION
JSON:
{"blocks.count":0,"blocks.first_hash":"string","blocks.ignored":0,"blocks.last_hash":"string","blocks.last_number":0,"blocks.queued":0,"blocks.transactions_count":0,"client":{"v":"source-v4.2.2-25-g353496c","host":"mh","user":"ia","mid":"a2c2f59f","goos":"darwin","goarch":"amd64","pid":3958},"component":"blockchain","event":"blockchain.insert.blocks","insert.time":63042000000,"ts":"2018-02-07T21:17:14.244807172+09:00"}Plain:
2018/02/07 21:17:14 [blockchain] source-v4.2.2-25-g353496c_darwin_amd64_mh_ia_a2c2f59f_3958 BLOCKCHAIN INSERT BLOCKS $INT $INT $INT $INT $BIGINT $STRING $STRING $DURATION
8 detail values:
-
blocks.count: $INT -
blocks.queued: $INT -
blocks.ignored: $INT -
blocks.transactions_count: $INT -
blocks.last_number: $BIGINT -
blocks.first_hash: $STRING -
blocks.last_hash: $STRING -
insert.time: $DURATION
❤️ Stay Classy