perf: improve performance and modify some abci#287
Conversation
|
|
* chore: use default db backend among the available ones * chore: bump up iavl, tm-db
* fix: error handling after check tx * fix: typo * chore: (mempool) remove postCheck and impl reserve * chore: fix tests * chore: revise log (remove checkTx.Code) * chore: add `CONTRACT` for `mem.proxyAppConn.CheckTxAsync()` * chore: revise numTxs, txsBytes for `ErrMempoolIsFull` in reserve() * chore: revise to remove redundant `isFull()` * fix: remove tx from cache when `app errors` or `failed to reserve` * Revert "chore: revise to remove redundant `isFull()`" This reverts commit 55990ec.
…schia#219) * fix: revise to call Begin/EndRecheck even though `mem.Size()` is 0 * chore: revise local_client.go * fix: lint error * chore: recheckTxs() just return if mem.Size() == 0
* feat: impl checkTxAsyncReactor() (Finschia#168) * fix: tests * fix: lint errors
…a#226) * chore: revise abci.Client, Async() interfaces * chore: regen mock w/ mockery 2.7.4 * fix: lint error * fix: test_race * mempool.Flush() flushes all txs from mempool so it should get `Lock()` instead of `RLock()`
* chore: remove iavl dependency * chore: fix lint error
The build tag makes disable go implementation of secp256k1. Cause there is no C implementation, a build error will occur when using tag `libsecp256k1`.
* perf: optimize checking the txs size * ci: add GOPRIVATE to workflows * test: add a unit test * fix: fix lint errors
* perf: do not flush wal when receive consensus msgs
776ea2e to
50cffac
Compare
Codecov Report
@@ Coverage Diff @@
## main #287 +/- ##
==========================================
+ Coverage 61.18% 62.65% +1.47%
==========================================
Files 272 272
Lines 29988 30166 +178
==========================================
+ Hits 18347 18900 +553
+ Misses 9963 9546 -417
- Partials 1678 1720 +42
|
| DurationCommitRechecking: discard.NewHistogram(), | ||
| DurationWaitingForNewRound: discard.NewHistogram(), | ||
|
|
||
| DurationGaugeProposal: discard.NewGauge(), |
There was a problem hiding this comment.
About variable name: Why is Gauge added only to variable names whose type is Gauge? For example, it doesn't seem to be attached to Histgram type variables.
There was a problem hiding this comment.
There are DurationProposal and DurationGaugeProposal. Grafana needs a histogram, and Gauge is comfortable when investigating in person, so I put both.
| Subsystem: MetricsSubsystem, | ||
| Name: "duration_proposal_block_receiving", | ||
| Help: "Duration of receiving all proposal block parts", | ||
| Name: "duration_commit_committing", |
There was a problem hiding this comment.
About variable names: Looking at the original code, it seems good to compose it with the words that explain Help. Isn't it duration_committing_updated_state instead of duration_commit_committing?
There was a problem hiding this comment.
I'm sorry but this is hard to change. Grafana is using this name. This is what happened when I made the name more hierarchical.
There was a problem hiding this comment.
Where is the name used in Grafana?
There was a problem hiding this comment.
Thank you! I dont know user name and password ^^;.
Description
I bound each commit hash and corresponding PR of ebony branch.
50cffac
#273
162c63c
#264
ceec05b
#256
1a500f9
#246
720052e
#229
0ed36c7
#226 fix
1413661
#228
e47f13d
#226
4417941
#225
7da95d6
#224
94c8980
#223
1221fe7
#221
05becb8
#219
800cab3
#217
7ea6e35
"tendermint -> ostracon"
39067a6
#213, key name
5c8e180
#213, TM->OC
877e670
#213, modify tm-db interface
04c5f31
#212
dce3c03
#201
1cf27a5
"fix: use line/tm-db instead of tendermint/tm-db"
727f843
#199
208ceef
#199
Please add a description of the changes that this PR introduces and the files that
are the most critical to review.
Closes: #XXX