Skip to content

Add functionality to enable request parameter determinism #16

@cjonas9

Description

@cjonas9

What problem does your feature solve?

Currently, request bodies for data-dependent endpoints are probabilistically generated from seed data, with the intent that requests will uniformly represent real RPC traffic. While this is good for general-purpose load testing patterns, it makes it challenging/impossible to exercise specific request shapes, edge cases/"unhappy paths" intentionally. This feature would enable request determinism in some unspecified capacity.

What would you like to see?

There'll need to be a considerable amount of design consideration put into this, but ideally, blaster would have a mechanism to deterministically map requests/input data to endpoints. There's a number of ways to go about this; initial ones that come to mind are:

  • seeding request generation: for a given seed, the same request sequence is generated run to run
    • extremely low overhead to implement as random functions already have seeded variants, but may be difficult to use to exercise specific request patterns
  • hard-coded request body seeding
    • requires users to provide correctly specified inputs
  • replay capabilities: allow users to record specific request sequences and replay them repeatedly
    • potentially difficult user experience

What alternatives are there?

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    performance-pod-scrumBoard items for performance pod work (anything related to load testing or adjacent work)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions