test: add the loadtime tool (Backport #9342) (#9358)

* test: add the loadtime tool (#9342)

This pull request adds the loadtime tool. This tool leverages the tm-load-test framework. Using the framework means that the only real logic that needs to be written is the logic for Tx generation. The framework does the rest.

The tool writes a set of metadata into the transaction, including the current transaction rate, number of connections, specified size of the transaction, and the current time.

* lint
This commit is contained in:
William Banfield
2022-09-02 13:04:29 -04:00
committed by GitHub
parent 29c5a062d2
commit f573d3d2a6
11 changed files with 680 additions and 14 deletions
+17
View File
@@ -0,0 +1,17 @@
syntax = "proto3";
package loadtime.payload;
option go_package = "github.com/tendermint/tendermint/test/loadtime/payload";
import "google/protobuf/timestamp.proto";
// Payload is the structure of the loadtime transaction. Proto has a compact
// encoded representation, making it ideal for the loadtime usecase which aims to
// keep the generated transactions small.
message Payload {
uint64 connections = 1;
uint64 rate = 2;
uint64 size = 3;
google.protobuf.Timestamp time = 4;
bytes padding = 5;
}