Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
e02883c0
Unverified
Commit
e02883c0
authored
Feb 28, 2017
by
Péter Szilágyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
core, log: track field length and pad to align
parent
e588e0ca
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
10 deletions
+32
-10
blockchain.go
core/blockchain.go
+5
-5
headerchain.go
core/headerchain.go
+2
-2
format.go
log/format.go
+25
-3
No files found.
core/blockchain.go
View file @
e02883c0
...
...
@@ -798,8 +798,8 @@ func (self *BlockChain) InsertReceiptChain(blockChain types.Blocks, receiptChain
// Report some public statistics so the user has a clue what's going on
last
:=
blockChain
[
len
(
blockChain
)
-
1
]
log
.
Info
(
"Imported new block receipts"
,
"count"
,
stats
.
processed
,
"
number"
,
last
.
Number
(),
"hash"
,
last
.
Hash
(
),
"
elapsed"
,
common
.
PrettyDuration
(
time
.
Since
(
start
)
),
"ignored"
,
stats
.
ignored
)
log
.
Info
(
"Imported new block receipts"
,
"count"
,
stats
.
processed
,
"
elapsed"
,
common
.
PrettyDuration
(
time
.
Since
(
start
)
),
"
number"
,
last
.
Number
(),
"hash"
,
last
.
Hash
(
),
"ignored"
,
stats
.
ignored
)
return
0
,
nil
}
...
...
@@ -1054,9 +1054,9 @@ func (st *insertStats) report(chain []*types.Block, index int) {
txs
=
countTransactions
(
chain
[
st
.
lastIndex
:
index
+
1
])
)
context
:=
[]
interface
{}{
"blocks"
,
st
.
processed
,
"
number"
,
end
.
Number
(),
"hash"
,
end
.
Hash
(),
"txs"
,
txs
,
"
mgas"
,
float64
(
st
.
usedGas
)
/
1000000
,
"elapsed"
,
common
.
PrettyDuration
(
elapsed
),
"
mgasps"
,
float64
(
st
.
usedGas
)
*
1000
/
float64
(
elapsed
),
"blocks"
,
st
.
processed
,
"
txs"
,
txs
,
"mgas"
,
float64
(
st
.
usedGas
)
/
1000000
,
"
elapsed"
,
common
.
PrettyDuration
(
elapsed
),
"mgasps"
,
float64
(
st
.
usedGas
)
*
1000
/
float64
(
elapsed
),
"
number"
,
end
.
Number
(),
"hash"
,
end
.
Hash
(
),
}
if
st
.
queued
>
0
{
context
=
append
(
context
,
[]
interface
{}{
"queued"
,
st
.
queued
}
...
)
...
...
core/headerchain.go
View file @
e02883c0
...
...
@@ -330,8 +330,8 @@ func (hc *HeaderChain) InsertHeaderChain(chain []*types.Header, checkFreq int, w
}
// Report some public statistics so the user has a clue what's going on
last
:=
chain
[
len
(
chain
)
-
1
]
log
.
Info
(
"Imported new block headers"
,
"count"
,
stats
.
processed
,
"
number"
,
last
.
Number
,
"hash"
,
last
.
Hash
(
),
"
elapsed"
,
common
.
PrettyDuration
(
time
.
Since
(
start
)
),
"ignored"
,
stats
.
ignored
)
log
.
Info
(
"Imported new block headers"
,
"count"
,
stats
.
processed
,
"
elapsed"
,
common
.
PrettyDuration
(
time
.
Since
(
start
)
),
"
number"
,
last
.
Number
,
"hash"
,
last
.
Hash
(
),
"ignored"
,
stats
.
ignored
)
return
0
,
nil
}
...
...
log/format.go
View file @
e02883c0
...
...
@@ -10,6 +10,7 @@ import (
"sync"
"sync/atomic"
"time"
"unicode/utf8"
)
const
(
...
...
@@ -43,6 +44,13 @@ var locationEnabled uint32
// padded to to aid in alignment.
var
locationLength
uint32
// fieldPadding is a global map with maximum field value lengths seen until now
// to allow padding log contexts in a bit smarter way.
var
fieldPadding
=
make
(
map
[
string
]
int
)
// fieldPaddingLock is a global mutex protecting the field padding map.
var
fieldPaddingLock
sync
.
RWMutex
type
Format
interface
{
Format
(
r
*
Record
)
[]
byte
}
...
...
@@ -163,15 +171,29 @@ func logfmt(buf *bytes.Buffer, ctx []interface{}, color int, term bool) {
}
// XXX: we should probably check that all of your key bytes aren't invalid
fieldPaddingLock
.
RLock
()
padding
:=
fieldPadding
[
k
]
fieldPaddingLock
.
RUnlock
()
length
:=
utf8
.
RuneCountInString
(
v
)
if
padding
<
length
{
padding
=
length
fieldPaddingLock
.
Lock
()
fieldPadding
[
k
]
=
padding
fieldPaddingLock
.
Unlock
()
}
if
color
>
0
{
fmt
.
Fprintf
(
buf
,
"
\x1b
[%dm%s
\x1b
[0m=
%s"
,
color
,
k
,
v
)
fmt
.
Fprintf
(
buf
,
"
\x1b
[%dm%s
\x1b
[0m=
"
,
color
,
k
)
}
else
{
buf
.
WriteString
(
k
)
buf
.
WriteByte
(
'='
)
buf
.
WriteString
(
v
)
}
buf
.
WriteString
(
v
)
if
i
<
len
(
ctx
)
-
2
{
buf
.
Write
(
bytes
.
Repeat
([]
byte
{
' '
},
padding
-
length
))
}
}
buf
.
WriteByte
(
'\n'
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment