Skip to content

Commit

Permalink
add metrics for process
Browse files Browse the repository at this point in the history
  • Loading branch information
forcodedancing committed Feb 28, 2022
1 parent 6ff1191 commit fcc70df
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 18 deletions.
2 changes: 2 additions & 0 deletions core/state_processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,7 @@ func (p *StateProcessor) Process(block *types.Block, statedb *state.StateDB, cfg
bloomProcessors := NewAsyncReceiptBloomGenerator(txNum)
statedb.MarkFullProcessed()

applyStart := time.Now()
// usually do have two tx, one for validator set contract, another for system reward contract.
systemTxs := make([]*types.Transaction, 0, 2)
for i, tx := range block.Transactions() {
Expand All @@ -438,6 +439,7 @@ func (p *StateProcessor) Process(block *types.Block, statedb *state.StateDB, cfg
commonTxs = append(commonTxs, tx)
receipts = append(receipts, receipt)
}
perf.RecordMPMetrics(perf.MpImportingProcessExecuteApply, applyStart)
bloomProcessors.Close()
perf.RecordMPMetrics(perf.MpImportingProcessExecute, executeStart)

Expand Down
40 changes: 22 additions & 18 deletions perf/main_process.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,16 @@ const (
MpMiningFinalize MpMetricsName = "MP_MINING_FINALIZE"
MpMiningWrite MpMetricsName = "MP_MINING_WRITE"

MpImportingTotalAll MpMetricsName = "MP_IMPORTING_TOTAL_ALL"
MpImportingTotal MpMetricsName = "MP_IMPORTING_TOTAL"
MpImportingVerifyHeader MpMetricsName = "MP_IMPORTING_VERIFY_HEADER"
MpImportingVerifyState MpMetricsName = "MP_IMPORTING_VERIFY_STATE"
MpImportingProcess MpMetricsName = "MP_IMPORTING_PROCESS"
MpImportingProcessPreload MpMetricsName = "MP_IMPORTING_PROCESS_PRELOAD"
MpImportingProcessExecute MpMetricsName = "MP_IMPORTING_PROCESS_EXECUTE"
MpImportingProcessFinalize MpMetricsName = "MP_IMPORTING_PROCESS_FINALIZE"
MpImportingCommit MpMetricsName = "MP_IMPORTING_COMMIT"
MpImportingTotalAll MpMetricsName = "MP_IMPORTING_TOTAL_ALL"
MpImportingTotal MpMetricsName = "MP_IMPORTING_TOTAL"
MpImportingVerifyHeader MpMetricsName = "MP_IMPORTING_VERIFY_HEADER"
MpImportingVerifyState MpMetricsName = "MP_IMPORTING_VERIFY_STATE"
MpImportingProcess MpMetricsName = "MP_IMPORTING_PROCESS"
MpImportingProcessPreload MpMetricsName = "MP_IMPORTING_PROCESS_PRELOAD"
MpImportingProcessExecute MpMetricsName = "MP_IMPORTING_PROCESS_EXECUTE"
MpImportingProcessExecuteApply MpMetricsName = "MP_IMPORTING_PROCESS_EXECUTE_APPLY"
MpImportingProcessFinalize MpMetricsName = "MP_IMPORTING_PROCESS_FINALIZE"
MpImportingCommit MpMetricsName = "MP_IMPORTING_COMMIT"

MpPropagationTotal MpMetricsName = "MP_PROPAGATION_TOTAL"
MpPropagationSend MpMetricsName = "MP_PROPAGATION_SEND"
Expand All @@ -52,15 +53,16 @@ var (
miningWriteTimer = metrics.NewRegisteredTimer("mp/mining/write", nil)

//block importing related metrics
importingTotalAllCounter = metrics.NewRegisteredCounter("mp/importing/total/all", nil)
importingTotalTimer = metrics.NewRegisteredTimer("mp/importing/total", nil)
importingVerifyHeaderTimer = metrics.NewRegisteredTimer("mp/importing/verify/header", nil)
importingVerifyStateTimer = metrics.NewRegisteredTimer("mp/importing/verify/state", nil)
importingProcessTimer = metrics.NewRegisteredTimer("mp/importing/process", nil)
importingProcessPreloadTimer = metrics.NewRegisteredTimer("mp/importing/process/preload", nil)
importingProcessExecuteTimer = metrics.NewRegisteredTimer("mp/importing/process/execute", nil)
importingProcessFinalizeTimer = metrics.NewRegisteredTimer("mp/importing/process/finalize", nil)
importingCommitTimer = metrics.NewRegisteredTimer("mp/importing/commit", nil)
importingTotalAllCounter = metrics.NewRegisteredCounter("mp/importing/total/all", nil)
importingTotalTimer = metrics.NewRegisteredTimer("mp/importing/total", nil)
importingVerifyHeaderTimer = metrics.NewRegisteredTimer("mp/importing/verify/header", nil)
importingVerifyStateTimer = metrics.NewRegisteredTimer("mp/importing/verify/state", nil)
importingProcessTimer = metrics.NewRegisteredTimer("mp/importing/process", nil)
importingProcessPreloadTimer = metrics.NewRegisteredTimer("mp/importing/process/preload", nil)
importingProcessExecuteTimer = metrics.NewRegisteredTimer("mp/importing/process/execute", nil)
importingProcessExecuteApplyTimer = metrics.NewRegisteredTimer("mp/importing/process/execute/apply", nil)
importingProcessFinalizeTimer = metrics.NewRegisteredTimer("mp/importing/process/finalize", nil)
importingCommitTimer = metrics.NewRegisteredTimer("mp/importing/commit", nil)

//block importing, block mining, p2p overall metrics
propagationTotalTimer = metrics.NewRegisteredTimer("mp/propagation/total", nil)
Expand Down Expand Up @@ -112,6 +114,8 @@ func RecordMPMetrics(metricsName MpMetricsName, start time.Time) {
recordTimer(importingProcessPreloadTimer, start)
case MpImportingProcessExecute:
recordTimer(importingProcessExecuteTimer, start)
case MpImportingProcessExecuteApply:
recordTimer(importingProcessExecuteApplyTimer, start)
case MpImportingProcessFinalize:
recordTimer(importingProcessFinalizeTimer, start)
case MpImportingCommit:
Expand Down

0 comments on commit fcc70df

Please sign in to comment.