-
Notifications
You must be signed in to change notification settings - Fork 165
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. In order to use this flag to disable components, use a single!
prefix before listing components to be excluded from the default list, eg.--mlog-components=!discover,server
disables only the discover and server components, leaving the rest enabled. 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:
-rw-r--r-- 1 ia staff 22K Mar 6 13:39 geth.mlog.yANl.20180306-133841.90181.log
-rw-r--r-- 1 ia staff 17K Mar 6 13:52 geth.mlog.xjrm.20180306-135219.92948.log
-rw-r--r-- 1 ia staff 44M Mar 7 13:43 geth.mlog.UXKo.20180307-133949.19013.log
-rw-r--r-- 1 ia staff 4.0M Mar 8 00:35 geth.mlog.XVlB.20180308-003542.55744.log
-rw-r--r-- 1 ia staff 4.0M Mar 8 00:36 geth.mlog.XVlB.20180308-003628.56020.log
lrwxr-xr-x 1 ia staff 40 Mar 8 00:36 geth.log -> geth.mlog.XVlB.20180308-003644.56179.log
-rw-r--r-- 1 ia staff 4.0M Mar 8 00:36 geth.mlog.XVlB.20180308-003644.56179.log
Log files are automatically rotated when they reach approximately 3 megabytes in size, and a new file is generated each time geth is started.
In the example above, XVlB
and UXKo
are "session" identifiers. A new session identifier is created each time geth starts, and the session identifier value is included in each log line.
A line is the result of a single event in the go-ethereum protocol.
There are three available formats:
- Plain
- Key-value (aka kv): default
- JSON
Lines are organized with a common structure: 2018/03/13 22:36:48 [fetcher] session=itoi FETCHER DISCARD ANNOUNCEMENT announcement.origin=$STRING announcement.number=$INT announcement.hash=$STRING announcement.distance=$INT
$DATE $TIME [$cmp] RECEIVER VERB SUBJECT <SESSION_ID> $RECEIVER:DETAIL $RECEIVER:DETAIL $SUBJECT:DETAIL $SUBJECT:DETAIL
where the number and types of details vary for different lines.
For example:
2018/03/13 22:40:35 [miner] REMOTE_AGENT SUBMIT WORK session=ksJR work.nonce=$INT work.mix_digest=$STRING work.hash=$STRING work.exists=$BOOL
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 <SESSION_ID>
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"
.
The session id can be used to deduce the identity
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:
{"component":"miner","event":"remote_agent.submit.work","session":"ksJR","ts":"2018-03-13T22:40:35.211296749+09:00","work.exists":true,"work.hash":"string","work.mix_digest":"string","work.nonce":0}
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_key
value 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 |
---|---|
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. |
headerchain | The headerchain component tracks header chain insertions into the chaindb during import and sync. Compared to blockchain component, it is useful when analyzing --fast sync progress. |
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. |
client | The client component is called once on startup and once on a catchable shutdown. On start, client and environment information is provided. |
wire | The wire component describes the DEVp2p protocol processes for establishing peer connections and sending and requesting block data. |
[headerchain]
[txpool]
[wire]
- wire.send.status
- wire.receive.status
- wire.send.newblockhashes
- wire.receive.newblockhashes
- wire.send.txs
- wire.receive.txs
- wire.send.getblockheaders
- wire.receive.getblockheaders
- wire.send.blockheaders
- wire.receive.blockheaders
- wire.send.getblockbodies
- wire.receive.getblockbodies
- wire.send.newblock
- wire.receive.newblock
- wire.send.getnodedata
- wire.receive.getnodedata
- wire.send.nodedata
- wire.receive.nodedata
- wire.send.getreceipts
- wire.receive.getreceipts
- wire.send.receipts
- wire.receive.receipts
- wire.receive.invalid
[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
[state]
[blockchain]
[client]
[miner]
- miner.start.coinbase
- miner.stop.coinbase
- miner.commit_work.block
- miner.commit.uncle
- miner.commit.tx
- miner.mine.block
- miner.confirm_mined.block
- remote_agent.submit.work
[server]
[downloader]
- downloader.register.peer
- downloader.unregister.peer
- downloader.tune.qos
- downloader.start.sync
- downloader.stop.sync
[fetcher]
Called once when a peer is added.
Key value:
2018/03/13 22:49:16 [server] SERVER ADD PEER session=DmHw server.peer_count=$INT peer.id=$STRING peer.remote_addr=$STRING peer.remote_version=$STRING
JSON:
{"component":"server","event":"server.add.peer","peer.id":"string","peer.remote_addr":"string","peer.remote_version":"string","server.peer_count":0,"session":"DmHw","ts":"2018-03-13T22:49:16.215917743+09:00"}
Plain:
2018/03/13 22:49:16 [server] SERVER ADD PEER DmHw $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/03/13 22:49:16 [server] SERVER REMOVE PEER session=DmHw server.peer_count=$INT peer.id=$STRING remove.reason=$QUOTEDSTRING
JSON:
{"component":"server","event":"server.remove.peer","peer.id":"string","remove.reason":"string with spaces","server.peer_count":0,"session":"DmHw","ts":"2018-03-13T22:49:16.216132884+09:00"}
Plain:
2018/03/13 22:49:16 [server] SERVER REMOVE PEER DmHw $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/03/13 22:49:16 [downloader] DOWNLOADER REGISTER PEER session=DmHw peer.id=$STRING peer.version=$INT register.error=$STRING_OR_NULL
JSON:
{"component":"downloader","event":"downloader.register.peer","peer.id":"string","peer.version":0,"register.error":null,"session":"DmHw","ts":"2018-03-13T22:49:16.216190528+09:00"}
Plain:
2018/03/13 22:49:16 [downloader] DOWNLOADER REGISTER PEER DmHw $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/03/13 22:49:16 [downloader] DOWNLOADER UNREGISTER PEER session=DmHw peer.id=$STRING unregister.error=$STRING_OR_NULL
JSON:
{"component":"downloader","event":"downloader.unregister.peer","peer.id":"string","session":"DmHw","ts":"2018-03-13T22:49:16.216232257+09:00","unregister.error":null}
Plain:
2018/03/13 22:49:16 [downloader] DOWNLOADER UNREGISTER PEER DmHw $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/03/13 22:49:16 [downloader] DOWNLOADER TUNE QOS session=DmHw qos.rtt=$DURATION qos.confidence=$NUMBER qos.ttl=$DURATION
JSON:
{"component":"downloader","event":"downloader.tune.qos","qos.confidence":null,"qos.rtt":63042000000,"qos.ttl":63042000000,"session":"DmHw","ts":"2018-03-13T22:49:16.216268577+09:00"}
Plain:
2018/03/13 22:49:16 [downloader] DOWNLOADER TUNE QOS DmHw $DURATION $NUMBER $DURATION
3 detail values:
-
qos.rtt
: $DURATION -
qos.confidence
: $NUMBER -
qos.ttl
: $DURATION
Called when the downloader initiates synchronisation with a peer.
Key value:
2018/03/13 22:49:16 [downloader] DOWNLOADER START SYNC session=DmHw downloader.mode=$STRING sync.peer_id=$STRING sync.peer_name=$STRING sync.peer_version=$NUMBER sync.hash=$STRING sync.td=$BIGINT
JSON:
{"component":"downloader","downloader.mode":"string","event":"downloader.start.sync","session":"DmHw","sync.hash":"string","sync.peer_id":"string","sync.peer_name":"string","sync.peer_version":null,"sync.td":0,"ts":"2018-03-13T22:49:16.216326651+09:00"}
Plain:
2018/03/13 22:49:16 [downloader] DOWNLOADER START SYNC DmHw $STRING $STRING $STRING $NUMBER $STRING $BIGINT
6 detail values:
-
downloader.mode
: $STRING -
sync.peer_id
: $STRING -
sync.peer_name
: $STRING -
sync.peer_version
: $NUMBER -
sync.hash
: $STRING -
sync.td
: $BIGINT
Called when the downloader terminates synchronisation with a peer. If ERROR is null, synchronisation was sucessful.
Key value:
2018/03/13 22:49:16 [downloader] DOWNLOADER STOP SYNC session=DmHw downloader.mode=$STRING sync.peer_id=$STRING sync.peer_name=$STRING sync.peer_version=$NUMBER sync.peer_hash=$STRING sync.peer_td=$BIGINT sync.pivot=$NUMBER sync.origin=$NUMBER sync.height=$NUMBER sync.elapsed=$DURATION sync.err=$STRING_OR_NULL
JSON:
{"component":"downloader","downloader.mode":"string","event":"downloader.stop.sync","session":"DmHw","sync.elapsed":63042000000,"sync.err":null,"sync.height":null,"sync.origin":null,"sync.peer_hash":"string","sync.peer_id":"string","sync.peer_name":"string","sync.peer_td":0,"sync.peer_version":null,"sync.pivot":null,"ts":"2018-03-13T22:49:16.21640055+09:00"}
Plain:
2018/03/13 22:49:16 [downloader] DOWNLOADER STOP SYNC DmHw $STRING $STRING $STRING $NUMBER $STRING $BIGINT $NUMBER $NUMBER $NUMBER $DURATION $STRING_OR_NULL
11 detail values:
-
downloader.mode
: $STRING -
sync.peer_id
: $STRING -
sync.peer_name
: $STRING -
sync.peer_version
: $NUMBER -
sync.peer_hash
: $STRING -
sync.peer_td
: $BIGINT -
sync.pivot
: $NUMBER -
sync.origin
: $NUMBER -
sync.height
: $NUMBER -
sync.elapsed
: $DURATION -
sync.err
: $STRING_OR_NULL
Called when a block announcement is discarded.
Key value:
2018/03/13 22:49:16 [fetcher] FETCHER DISCARD ANNOUNCEMENT session=DmHw 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","component":"fetcher","event":"fetcher.discard.announcement","session":"DmHw","ts":"2018-03-13T22:49:16.216495951+09:00"}
Plain:
2018/03/13 22:49:16 [fetcher] FETCHER DISCARD ANNOUNCEMENT DmHw $STRING $INT $STRING $INT
4 detail values:
-
announcement.origin
: $STRING -
announcement.number
: $INT -
announcement.hash
: $STRING -
announcement.distance
: $INT
Called once when the miner starts.
Key value:
2018/03/13 22:49:16 [miner] MINER START COINBASE session=DmHw coinbase.address=$STRING miner.threads=$INT
JSON:
{"coinbase.address":"string","component":"miner","event":"miner.start.coinbase","miner.threads":0,"session":"DmHw","ts":"2018-03-13T22:49:16.216546001+09:00"}
Plain:
2018/03/13 22:49:16 [miner] MINER START COINBASE DmHw $STRING $INT
2 detail values:
-
coinbase.address
: $STRING -
miner.threads
: $INT
Called once when the miner stops.
Key value:
2018/03/13 22:49:16 [miner] MINER STOP COINBASE session=DmHw coinbase.address=$STRING miner.threads=$INT
JSON:
{"coinbase.address":"string","component":"miner","event":"miner.stop.coinbase","miner.threads":0,"session":"DmHw","ts":"2018-03-13T22:49:16.216581074+09:00"}
Plain:
2018/03/13 22:49:16 [miner] MINER STOP COINBASE DmHw $STRING $INT
2 detail values:
-
coinbase.address
: $STRING -
miner.threads
: $INT
Called when the miner commits new work on a block.
Key value:
2018/03/13 22:49:16 [miner] MINER COMMIT_WORK BLOCK session=DmHw block.number=$BIGINT commit_work.txs_count=$INT commit_work.uncles_count=$INT commit_work.time_elapsed=$DURATION
JSON:
{"block.number":0,"commit_work.time_elapsed":63042000000,"commit_work.txs_count":0,"commit_work.uncles_count":0,"component":"miner","event":"miner.commit_work.block","session":"DmHw","ts":"2018-03-13T22:49:16.216622787+09:00"}
Plain:
2018/03/13 22:49:16 [miner] MINER COMMIT_WORK BLOCK DmHw $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/03/13 22:49:16 [miner] MINER COMMIT UNCLE session=DmHw uncle.block_number=$BIGINT uncle.hash=$STRING commit.error=$STRING_OR_NULL
JSON:
{"commit.error":null,"component":"miner","event":"miner.commit.uncle","session":"DmHw","ts":"2018-03-13T22:49:16.216669913+09:00","uncle.block_number":0,"uncle.hash":"string"}
Plain:
2018/03/13 22:49:16 [miner] MINER COMMIT UNCLE DmHw $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/03/13 22:49:16 [miner] MINER COMMIT TX session=DmHw commit.block_number=$BIGINT tx.hash=$STRING commit.error=$STRING
JSON:
{"commit.block_number":0,"commit.error":"string","component":"miner","event":"miner.commit.tx","session":"DmHw","ts":"2018-03-13T22:49:16.216711317+09:00","tx.hash":"string"}
Plain:
2018/03/13 22:49:16 [miner] MINER COMMIT TX DmHw $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/03/13 22:49:16 [miner] MINER MINE BLOCK session=DmHw 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,"component":"miner","event":"miner.mine.block","session":"DmHw","ts":"2018-03-13T22:49:16.216793655+09:00"}
Plain:
2018/03/13 22:49:16 [miner] MINER MINE BLOCK DmHw $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/03/13 22:49:16 [miner] MINER CONFIRM_MINED BLOCK session=DmHw block.number=$INT
JSON:
{"block.number":0,"component":"miner","event":"miner.confirm_mined.block","session":"DmHw","ts":"2018-03-13T22:49:16.216848548+09:00"}
Plain:
2018/03/13 22:49:16 [miner] MINER CONFIRM_MINED BLOCK DmHw $INT
1 detail values:
-
block.number
: $INT
Called when a remote agent submits work to the miner. Note that this method only acknowledges that work was indeed submitted, but does not confirm nor deny that the PoW was correct.
Key value:
2018/03/13 22:49:16 [miner] REMOTE_AGENT SUBMIT WORK session=DmHw work.nonce=$INT work.mix_digest=$STRING work.hash=$STRING work.exists=$BOOL
JSON:
{"component":"miner","event":"remote_agent.submit.work","session":"DmHw","ts":"2018-03-13T22:49:16.216885476+09:00","work.exists":true,"work.hash":"string","work.mix_digest":"string","work.nonce":0}
Plain:
2018/03/13 22:49:16 [miner] REMOTE_AGENT SUBMIT WORK DmHw $INT $STRING $STRING $BOOL
4 detail values:
-
work.nonce
: $INT -
work.mix_digest
: $STRING -
work.hash
: $STRING -
work.exists
: $BOOL
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/03/13 22:49:16 [state] STATE CREATE OBJECT session=DmHw object.new=$STRING object.prev=$STRING
JSON:
{"component":"state","event":"state.create.object","object.new":"string","object.prev":"string","session":"DmHw","ts":"2018-03-13T22:49:16.216935462+09:00"}
Plain:
2018/03/13 22:49:16 [state] STATE CREATE OBJECT DmHw $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/03/13 22:49:16 [state] STATE ADD_BALANCE OBJECT session=DmHw object.address=$STRING object.nonce=$INT object.balance=$BIGINT add_balance.amount=$BIGINT
JSON:
{"add_balance.amount":0,"component":"state","event":"state.add_balance.object","object.address":"string","object.balance":0,"object.nonce":0,"session":"DmHw","ts":"2018-03-13T22:49:16.21697696+09:00"}
Plain:
2018/03/13 22:49:16 [state] STATE ADD_BALANCE OBJECT DmHw $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/03/13 22:49:16 [state] STATE SUB_BALANCE OBJECT session=DmHw object.address=$STRING object.nonce=$INT object.balance=$BIGINT sub_balance.amount=$BIGINT
JSON:
{"component":"state","event":"state.sub_balance.object","object.address":"string","object.balance":0,"object.nonce":0,"session":"DmHw","sub_balance.amount":0,"ts":"2018-03-13T22:49:16.217022258+09:00"}
Plain:
2018/03/13 22:49:16 [state] STATE SUB_BALANCE OBJECT DmHw $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 is 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/03/13 22:49:16 [blockchain] BLOCKCHAIN WRITE BLOCK session=DmHw 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,"component":"blockchain","event":"blockchain.write.block","session":"DmHw","ts":"2018-03-13T22:49:16.217079047+09:00","write.error":null,"write.status":"string"}
Plain:
2018/03/13 22:49:16 [blockchain] BLOCKCHAIN WRITE BLOCK DmHw $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/03/13 22:49:16 [blockchain] BLOCKCHAIN INSERT BLOCKS session=DmHw 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,"component":"blockchain","event":"blockchain.insert.blocks","insert.time":63042000000,"session":"DmHw","ts":"2018-03-13T22:49:16.217214043+09:00"}
Plain:
2018/03/13 22:49:16 [blockchain] BLOCKCHAIN INSERT BLOCKS DmHw $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
Called when the geth client starts up.
Key value:
2018/03/13 22:49:16 [client] CLIENT START SESSION session=DmHw 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 client.mlog_components=$STRING client.identity=$OBJECT
JSON:
{"client.config_chainid":0,"client.config_chainname":"string with spaces","client.config_network":0,"client.identity":{"version":"whilei.v5.1.0+68-f6d3f79[branch=master,commit=Merge-pull-request-#504-from-ethereumproject/pr/mlog-extended-with-sync-points,built=Mar/13Tue-22:40:18]","host":"mh","user":"ia","machineid":"a2c2f59f","goos":"darwin","goarch":"amd64","goversion":"go1.9.2","pid":44929,"session":"DmHw","start":"2018-03-13T22:49:16.119044456+09:00"},"client.mlog_components":"string","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","session":"DmHw","ts":"2018-03-13T22:49:16.217299242+09:00"}
Plain:
2018/03/13 22:49:16 [client] CLIENT START SESSION DmHw $STRING $STRING $STRING $STRING $INT $QUOTEDSTRING $INT $INT $STRING $OBJECT
10 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 -
client.mlog_components
: $STRING -
client.identity
: $OBJECT
Called when the geth client shuts down because of an interceptable signal, eg. SIGINT.
Key value:
2018/03/13 22:49:16 [client] CLIENT STOP SESSION session=DmHw 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 client.mlog_components=$STRING client.identity=$OBJECT stop.signal=$STRING stop.error=$STRING_OR_NULL client.duration=$INT
JSON:
{"client.config_chainid":0,"client.config_chainname":"string with spaces","client.config_network":0,"client.duration":0,"client.identity":{"version":"whilei.v5.1.0+68-f6d3f79[branch=master,commit=Merge-pull-request-#504-from-ethereumproject/pr/mlog-extended-with-sync-points,built=Mar/13Tue-22:40:18]","host":"mh","user":"ia","machineid":"a2c2f59f","goos":"darwin","goarch":"amd64","goversion":"go1.9.2","pid":44929,"session":"DmHw","start":"2018-03-13T22:49:16.119044456+09:00"},"client.mlog_components":"string","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","session":"DmHw","stop.error":null,"stop.signal":"string","ts":"2018-03-13T22:49:16.217445635+09:00"}
Plain:
2018/03/13 22:49:16 [client] CLIENT STOP SESSION DmHw $STRING $STRING $STRING $STRING $INT $QUOTEDSTRING $INT $INT $STRING $OBJECT $STRING $STRING_OR_NULL $INT
13 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 -
client.mlog_components
: $STRING -
client.identity
: $OBJECT -
stop.signal
: $STRING -
stop.error
: $STRING_OR_NULL -
client.duration
: $INT
Called when a single header is written to the chain header database. A STATUS of NONE means it was written without any abnormal chain event, such as a split.
Key value:
2018/03/13 22:49:16 [headerchain] HEADERCHAIN WRITE HEADER session=DmHw write.status=$STRING write.error=$STRING_OR_NULL header.number=$BIGINT header.hash=$STRING header.gas_used=$BIGINT header.coinbase=$STRING header.time=$BIGINT header.difficulty=$BIGINT header.diff_parent_time=$BIGINT
JSON:
{"component":"headerchain","event":"headerchain.write.header","header.coinbase":"string","header.diff_parent_time":0,"header.difficulty":0,"header.gas_used":0,"header.hash":"string","header.number":0,"header.time":0,"session":"DmHw","ts":"2018-03-13T22:49:16.217566336+09:00","write.error":null,"write.status":"string"}
Plain:
2018/03/13 22:49:16 [headerchain] HEADERCHAIN WRITE HEADER DmHw $STRING $STRING_OR_NULL $BIGINT $STRING $BIGINT $STRING $BIGINT $BIGINT $BIGINT
9 detail values:
-
write.status
: $STRING -
write.error
: $STRING_OR_NULL -
header.number
: $BIGINT -
header.hash
: $STRING -
header.gas_used
: $BIGINT -
header.coinbase
: $STRING -
header.time
: $BIGINT -
header.difficulty
: $BIGINT -
header.diff_parent_time
: $BIGINT
Called when a chain of headers is inserted into the chain header database.
Key value:
2018/03/13 22:49:16 [headerchain] HEADERCHAIN INSERT HEADERS session=DmHw headers.count=$INT headers.ignored=$INT headers.last_number=$BIGINT headers.first_hash=$STRING headers.last_hash=$STRING insert.time=$DURATION
JSON:
{"component":"headerchain","event":"headerchain.insert.headers","headers.count":0,"headers.first_hash":"string","headers.ignored":0,"headers.last_hash":"string","headers.last_number":0,"insert.time":63042000000,"session":"DmHw","ts":"2018-03-13T22:49:16.21765718+09:00"}
Plain:
2018/03/13 22:49:16 [headerchain] HEADERCHAIN INSERT HEADERS DmHw $INT $INT $BIGINT $STRING $STRING $DURATION
6 detail values:
-
headers.count
: $INT -
headers.ignored
: $INT -
headers.last_number
: $BIGINT -
headers.first_hash
: $STRING -
headers.last_hash
: $STRING -
insert.time
: $DURATION
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/03/13 22:49:16 [txpool] TXPOOL ADD TX session=DmHw tx.from=$STRING tx.to=$STRING tx.value=$BIGINT tx.hash=$STRING
JSON:
{"component":"txpool","event":"txpool.add.tx","session":"DmHw","ts":"2018-03-13T22:49:16.217731396+09:00","tx.from":"string","tx.hash":"string","tx.to":"string","tx.value":0}
Plain:
2018/03/13 22:49:16 [txpool] TXPOOL ADD TX DmHw $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/03/13 22:49:16 [txpool] TXPOOL VALIDATE TX session=DmHw tx.hash=$STRING tx.size=$QUOTEDSTRING tx.data_size=$QUOTEDSTRING tx.nonce=$INT tx.gas=$BIGINT tx.gas_price=$BIGINT tx.valid=$BOOL tx.error=$STRING_OR_NULL
JSON:
{"component":"txpool","event":"txpool.validate.tx","session":"DmHw","ts":"2018-03-13T22:49:16.217787374+09:00","tx.data_size":"string with spaces","tx.error":null,"tx.gas":0,"tx.gas_price":0,"tx.hash":"string","tx.nonce":0,"tx.size":"string with spaces","tx.valid":true}
Plain:
2018/03/13 22:49:16 [txpool] TXPOOL VALIDATE TX DmHw $STRING $QUOTEDSTRING $QUOTEDSTRING $INT $BIGINT $BIGINT $BOOL $STRING_OR_NULL
8 detail values:
-
tx.hash
: $STRING -
tx.size
: $QUOTEDSTRING -
tx.data_size
: $QUOTEDSTRING -
tx.nonce
: $INT -
tx.gas
: $BIGINT -
tx.gas_price
: $BIGINT -
tx.valid
: $BOOL -
tx.error
: $STRING_OR_NULL
Called once for each outgoing StatusMsg (handshake) message.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND STATUS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.protocol_version=$INT msg.network_id=$INT msg.td=$BIGINT msg.head_block_hash=$STRING msg.genesis_block_hash=$STRING
JSON:
{"component":"wire","event":"wire.send.status","msg.genesis_block_hash":"string","msg.head_block_hash":"string","msg.network_id":0,"msg.protocol_version":0,"msg.td":0,"session":"DmHw","ts":"2018-03-13T22:49:16.21786782+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND STATUS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT $INT $BIGINT $STRING $STRING
12 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.protocol_version
: $INT -
msg.network_id
: $INT -
msg.td
: $BIGINT -
msg.head_block_hash
: $STRING -
msg.genesis_block_hash
: $STRING
Called once for each incoming StatusMsg (handshake) message.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE STATUS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.protocol_version=$INT msg.network_id=$INT msg.td=$BIGINT msg.head_block_hash=$STRING msg.genesis_block_hash=$STRING
JSON:
{"component":"wire","event":"wire.receive.status","msg.genesis_block_hash":"string","msg.head_block_hash":"string","msg.network_id":0,"msg.protocol_version":0,"msg.td":0,"session":"DmHw","ts":"2018-03-13T22:49:16.217977833+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE STATUS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT $INT $BIGINT $STRING $STRING
12 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.protocol_version
: $INT -
msg.network_id
: $INT -
msg.td
: $BIGINT -
msg.head_block_hash
: $STRING -
msg.genesis_block_hash
: $STRING
Called once for each outgoing SendNewBlockHashesMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND NEWBLOCKHASHES session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT msg.first_hash=$STRING msg.first_number=$INT
JSON:
{"component":"wire","event":"wire.send.newblockhashes","msg.first_hash":"string","msg.first_number":0,"msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.218088757+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND NEWBLOCKHASHES DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT $STRING $INT
10 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT -
msg.first_hash
: $STRING -
msg.first_number
: $INT
Called once for each incoming SendNewBlockHashesMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE NEWBLOCKHASHES session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT msg.first_hash=$STRING msg.first_number=$INT
JSON:
{"component":"wire","event":"wire.receive.newblockhashes","msg.first_hash":"string","msg.first_number":0,"msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.218188986+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE NEWBLOCKHASHES DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT $STRING $INT
10 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT -
msg.first_hash
: $STRING -
msg.first_number
: $INT
Called once for each outgoing TxsMessage message.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND TXS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT
JSON:
{"component":"wire","event":"wire.send.txs","msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.218287255+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND TXS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT
8 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT
Called once for each incoming TxsMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE TXS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT
JSON:
{"component":"wire","event":"wire.receive.txs","msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.21836504+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE TXS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT
8 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT
Called once for each outgoing GetBlockHeadersMsg message. Note that origin value will be EITHER hash OR origin.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND GETBLOCKHEADERS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.origin_hash=$STRING msg.origin_number=$INT msg.amount=$INT msg.skip=$INT msg.reverse=$BOOL
JSON:
{"component":"wire","event":"wire.send.getblockheaders","msg.amount":0,"msg.origin_hash":"string","msg.origin_number":0,"msg.reverse":true,"msg.skip":0,"session":"DmHw","ts":"2018-03-13T22:49:16.218446401+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND GETBLOCKHEADERS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $STRING $INT $INT $INT $BOOL
12 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.origin_hash
: $STRING -
msg.origin_number
: $INT -
msg.amount
: $INT -
msg.skip
: $INT -
msg.reverse
: $BOOL
Called once for each incoming GetBlockHeadersMsg message. Note that origin value will be EITHER hash OR origin.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE GETBLOCKHEADERS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.origin_hash=$STRING msg.origin_number=$INT msg.amount=$INT msg.skip=$INT msg.reverse=$BOOL
JSON:
{"component":"wire","event":"wire.receive.getblockheaders","msg.amount":0,"msg.origin_hash":"string","msg.origin_number":0,"msg.reverse":true,"msg.skip":0,"session":"DmHw","ts":"2018-03-13T22:49:16.218540766+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE GETBLOCKHEADERS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $STRING $INT $INT $INT $BOOL
12 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.origin_hash
: $STRING -
msg.origin_number
: $INT -
msg.amount
: $INT -
msg.skip
: $INT -
msg.reverse
: $BOOL
Called once for each outgoing BlockHeadersMsg message. Note that origin value will be EITHER hash or origin.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND BLOCKHEADERS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT msg.first_hash=$STRING msg.first_number=$INT
JSON:
{"component":"wire","event":"wire.send.blockheaders","msg.first_hash":"string","msg.first_number":0,"msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.218745082+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND BLOCKHEADERS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT $STRING $INT
10 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT -
msg.first_hash
: $STRING -
msg.first_number
: $INT
Called once for each incoming BlockHeadersMsg message. Note that origin value will be EITHER hash or origin.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE BLOCKHEADERS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT msg.first_hash=$STRING msg.first_number=$INT
JSON:
{"component":"wire","event":"wire.receive.blockheaders","msg.first_hash":"string","msg.first_number":0,"msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.218913071+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE BLOCKHEADERS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT $STRING $INT
10 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT -
msg.first_hash
: $STRING -
msg.first_number
: $INT
Called once for each outgoing GetBlockBodiesMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND GETBLOCKBODIES session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT msg.first_hash=$STRING
JSON:
{"component":"wire","event":"wire.send.getblockbodies","msg.first_hash":"string","msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.219047189+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND GETBLOCKBODIES DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT $STRING
9 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT -
msg.first_hash
: $STRING
Called once for each incoming GetBlockBodiesMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE GETBLOCKBODIES session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT
JSON:
{"component":"wire","event":"wire.receive.getblockbodies","msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.21913469+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE GETBLOCKBODIES DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT
8 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT
Called once for each outgoing NewBlockMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND NEWBLOCK session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.block_hash=$STRING msg.block_number=$INT msg.td=$BIGINT
JSON:
{"component":"wire","event":"wire.send.newblock","msg.block_hash":"string","msg.block_number":0,"msg.td":0,"session":"DmHw","ts":"2018-03-13T22:49:16.21921748+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND NEWBLOCK DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $STRING $INT $BIGINT
10 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.block_hash
: $STRING -
msg.block_number
: $INT -
msg.td
: $BIGINT
Called once for each incoming NewBlockMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE NEWBLOCK session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.block_hash=$STRING msg.block_number=$INT msg.td=$BIGINT
JSON:
{"component":"wire","event":"wire.receive.newblock","msg.block_hash":"string","msg.block_number":0,"msg.td":0,"session":"DmHw","ts":"2018-03-13T22:49:16.219332803+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE NEWBLOCK DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $STRING $INT $BIGINT
10 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.block_hash
: $STRING -
msg.block_number
: $INT -
msg.td
: $BIGINT
Called once for each outgoing GetNodeDataMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND GETNODEDATA session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT msg.first_hash=$STRING
JSON:
{"component":"wire","event":"wire.send.getnodedata","msg.first_hash":"string","msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.219435315+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND GETNODEDATA DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT $STRING
9 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT -
msg.first_hash
: $STRING
Called once for each incoming GetNodeDataMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE GETNODEDATA session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT
JSON:
{"component":"wire","event":"wire.receive.getnodedata","msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.219875633+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE GETNODEDATA DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT
8 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT
Called once for each outgoing NodeDataMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND NODEDATA session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT
JSON:
{"component":"wire","event":"wire.send.nodedata","msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.220087227+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND NODEDATA DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT
8 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT
Called once for each incoming NodeDataMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE NODEDATA session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT
JSON:
{"component":"wire","event":"wire.receive.nodedata","msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.220291204+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE NODEDATA DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT
8 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT
Called once for each outgoing GetReceiptsMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND GETRECEIPTS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT msg.first_hash=$STRING
JSON:
{"component":"wire","event":"wire.send.getreceipts","msg.first_hash":"string","msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.220514312+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND GETRECEIPTS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT $STRING
9 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT -
msg.first_hash
: $STRING
Called once for each incoming GetReceiptsMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE GETRECEIPTS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$STRING
JSON:
{"component":"wire","event":"wire.receive.getreceipts","msg.len_items":"string","session":"DmHw","ts":"2018-03-13T22:49:16.220716126+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE GETRECEIPTS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $STRING
8 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $STRING
Called once for each outgoing ReceiptsMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE SEND RECEIPTS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$INT
JSON:
{"component":"wire","event":"wire.send.receipts","msg.len_items":0,"session":"DmHw","ts":"2018-03-13T22:49:16.220910202+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE SEND RECEIPTS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $INT
8 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $INT
Called once for each incoming ReceiptsMsg message.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE RECEIPTS session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL msg.len_items=$STRING
JSON:
{"component":"wire","event":"wire.receive.receipts","msg.len_items":"string","session":"DmHw","ts":"2018-03-13T22:49:16.221170444+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE RECEIPTS DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL $STRING
8 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL -
msg.len_items
: $STRING
Called once for each incoming wire message that is invalid.
Key value:
2018/03/13 22:49:16 [wire] WIRE RECEIVE INVALID session=DmHw wire.code=$INT wire.size=$INT wire.name=$STRING wire.remote_id=$STRING wire.remote_addr=$STRING wire.remote_version=$INT wire.error=$STRING_OR_NULL
JSON:
{"component":"wire","event":"wire.receive.invalid","session":"DmHw","ts":"2018-03-13T22:49:16.221379834+09:00","wire.code":0,"wire.error":null,"wire.name":"string","wire.remote_addr":"string","wire.remote_id":"string","wire.remote_version":0,"wire.size":0}
Plain:
2018/03/13 22:49:16 [wire] WIRE RECEIVE INVALID DmHw $INT $INT $STRING $STRING $STRING $INT $STRING_OR_NULL
7 detail values:
-
wire.code
: $INT -
wire.size
: $INT -
wire.name
: $STRING -
wire.remote_id
: $STRING -
wire.remote_addr
: $STRING -
wire.remote_version
: $INT -
wire.error
: $STRING_OR_NULL
Called once for each received PING request from peer FROM.
Key value:
2018/03/13 22:49:16 [discover] PING HANDLE FROM session=DmHw from.udp_address=$STRING from.id=$STRING ping.bytes_transferred=$INT
JSON:
{"component":"discover","event":"ping.handle.from","from.id":"string","from.udp_address":"string","ping.bytes_transferred":0,"session":"DmHw","ts":"2018-03-13T22:49:16.221554896+09:00"}
Plain:
2018/03/13 22:49:16 [discover] PING HANDLE FROM DmHw $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/03/13 22:49:16 [discover] PING SEND TO session=DmHw to.udp_address=$STRING ping.bytes_transferred=$INT
JSON:
{"component":"discover","event":"ping.send.to","ping.bytes_transferred":0,"session":"DmHw","to.udp_address":"string","ts":"2018-03-13T22:49:16.221679622+09:00"}
Plain:
2018/03/13 22:49:16 [discover] PING SEND TO DmHw $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/03/13 22:49:16 [discover] PONG HANDLE FROM session=DmHw from.udp_address=$STRING from.id=$STRING pong.bytes_transferred=$INT
JSON:
{"component":"discover","event":"pong.handle.from","from.id":"string","from.udp_address":"string","pong.bytes_transferred":0,"session":"DmHw","ts":"2018-03-13T22:49:16.221801058+09:00"}
Plain:
2018/03/13 22:49:16 [discover] PONG HANDLE FROM DmHw $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/03/13 22:49:16 [discover] PONG SEND TO session=DmHw to.udp_address=$STRING pong.bytes_transferred=$INT
JSON:
{"component":"discover","event":"pong.send.to","pong.bytes_transferred":0,"session":"DmHw","to.udp_address":"string","ts":"2018-03-13T22:49:16.22191796+09:00"}
Plain:
2018/03/13 22:49:16 [discover] PONG SEND TO DmHw $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/03/13 22:49:16 [discover] FINDNODE HANDLE FROM session=DmHw from.udp_address=$STRING from.id=$STRING findnode.bytes_transferred=$INT
JSON:
{"component":"discover","event":"findnode.handle.from","findnode.bytes_transferred":0,"from.id":"string","from.udp_address":"string","session":"DmHw","ts":"2018-03-13T22:49:16.222028127+09:00"}
Plain:
2018/03/13 22:49:16 [discover] FINDNODE HANDLE FROM DmHw $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/03/13 22:49:16 [discover] FINDNODE SEND TO session=DmHw to.udp_address=$STRING findnode.bytes_transferred=$INT
JSON:
{"component":"discover","event":"findnode.send.to","findnode.bytes_transferred":0,"session":"DmHw","to.udp_address":"string","ts":"2018-03-13T22:49:16.222155141+09:00"}
Plain:
2018/03/13 22:49:16 [discover] FINDNODE SEND TO DmHw $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/03/13 22:49:16 [discover] NEIGHBORS HANDLE FROM session=DmHw from.udp_address=$STRING from.id=$STRING neighbors.bytes_transferred=$INT
JSON:
{"component":"discover","event":"neighbors.handle.from","from.id":"string","from.udp_address":"string","neighbors.bytes_transferred":0,"session":"DmHw","ts":"2018-03-13T22:49:16.222346933+09:00"}
Plain:
2018/03/13 22:49:16 [discover] NEIGHBORS HANDLE FROM DmHw $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/03/13 22:49:16 [discover] NEIGHBORS SEND TO session=DmHw to.udp_address=$STRING neighbors.bytes_transferred=$INT
JSON:
{"component":"discover","event":"neighbors.send.to","neighbors.bytes_transferred":0,"session":"DmHw","to.udp_address":"string","ts":"2018-03-13T22:49:16.2224648+09:00"}
Plain:
2018/03/13 22:49:16 [discover] NEIGHBORS SEND TO DmHw $STRING $INT
2 detail values:
-
to.udp_address
: $STRING -
neighbors.bytes_transferred
: $INT
❤️ Stay Classy