Browse Source

Merge pull request #94 from tendermint/tm-bench-improvements

[tm-bench] small fixes and improv.
pull/1943/head
Anton Kaliaev 7 years ago
committed by GitHub
parent
commit
a7d695408a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 4 deletions
  1. +13
    -2
      tm-bench/main.go
  2. +4
    -2
      tm-bench/transacter.go

+ 13
- 2
tm-bench/main.go View File

@ -102,7 +102,7 @@ Examples:
timeStop := time.Now()
logger.Info("Time stopped", "t", timeStop)
stats := calculateStatistics(client, minHeight, timeStart, timeStop)
stats := calculateStatistics(client, minHeight, timeStart, timeStop, duration)
printStatistics(stats, outputFormat)
@ -119,7 +119,7 @@ func latestBlockHeight(client tmrpc.Client) int64 {
return status.SyncInfo.LatestBlockHeight
}
func calculateStatistics(client tmrpc.Client, minHeight int64, timeStart, timeStop time.Time) *statistics {
func calculateStatistics(client tmrpc.Client, minHeight int64, timeStart, timeStop time.Time, duration int) *statistics {
stats := &statistics{
BlocksThroughput: metrics.NewHistogram(metrics.NewUniformSample(1000)),
TxsThroughput: metrics.NewHistogram(metrics.NewUniformSample(1000)),
@ -134,7 +134,18 @@ func calculateStatistics(client tmrpc.Client, minHeight int64, timeStart, timeSt
numBlocksPerSec := make(map[int64]int64)
numTxsPerSec := make(map[int64]int64)
// because during some seconds blocks won't be created...
for i := int64(0); i < int64(duration); i++ {
numBlocksPerSec[i] = 0
numTxsPerSec[i] = 0
}
for _, blockMeta := range info.BlockMetas {
// check if block was created after timeStart
if blockMeta.Header.Time.Before(timeStart) {
continue
}
// check if block was created before timeStop
if blockMeta.Header.Time.After(timeStop) {
break


+ 4
- 2
tm-bench/transacter.go View File

@ -168,7 +168,7 @@ func (t *transacter) sendLoop(connIndex int) {
Params: rawParamsJSON,
})
if err != nil {
fmt.Printf("%v. Try reducing the connections count and increasing the rate.\n", errors.Wrap(err, "txs send failed"))
fmt.Fprintf(os.Stderr, "%v. Try reducing the connections count and increasing the rate.\n", errors.Wrap(err, "txs send failed"))
os.Exit(1)
}
@ -176,7 +176,9 @@ func (t *transacter) sendLoop(connIndex int) {
}
timeToSend := time.Now().Sub(startTime)
time.Sleep(time.Second - timeToSend)
if timeToSend < 1*time.Second {
time.Sleep(time.Second - timeToSend)
}
logger.Info(fmt.Sprintf("sent %d transactions", t.Rate), "took", timeToSend)
case <-pingsTicker.C:
// go-rpc server closes the connection in the absence of pings


Loading…
Cancel
Save