Skip to content

Implement Performance Testing Binary for tapd Instances  #469

@positiveblue

Description

@positiveblue

Develop a binary for performance testing which can execute load tests against "real" tapd instances.

The tests need to be able to run in our infrastructure (regtest) and locally. For that, the perf tests need to be decoupled of the environment using dependency injection (tap rpc clients, chain interactions,...)

The binary is responsible for:

  • Setup Phase: Load generic configuration from a file, allowing command-line flag overrides. Configuration includes test selection, create rpc clients for the main tapd instances (Alice and Bob), Prometheus configuration, etc.

  • Test Execution:
    - set up phase for the specifc test (create more clients, load file data, etc..)
    - record metrics for the current execution
    - execute test logic

  • Shutdown: push test metrics to prometheus push gateway (some of them may be needed to be pulled from the tapd instances itself)

The binary will be compiled using go test -c, and custom configuration for specific tests will be loaded from a separate path.

Acceptance Criteria:

  • Ability to load and override configurations.
  • Execution of tests on tapd interfaces. <= Using mintBatchStressTest as show case
  • Collection and pushing of metrics. <= can be added in a follow up PR

Part of #433

Metadata

Metadata

Labels

Type

No type

Projects

Status

✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions