Knative performance tests are tests geared towards producing useful performance metrics of the knative system. As such they can choose to take a blackbox point-of-view of the system and use it just like an end-user might see it. They can also go more whiteboxy to narrow down the components under test.
Knative uses vegeta to generate HTTP load. It can be configured to generate load at a predefined rate. Officially it supports constant rate and sine rate, but if you want to generate load at a different rate, you can write your own pacer by implementing Pacer interface. Custom pacer implementations used in Knative tests are under pacers.
Knative uses mako for benchmarking. It provides a set of tools for metrics data storage, charting, statistical aggregation and performance regression analysis. To use it to create a benchmark for Knative and run it continuously, please refer to Benchmarks.md.
- func ProbeTargetTillReady(target string, duration time.Duration) error
- func TearDown(client *Client, names test.ResourceNames, logf logging.FormatLogger)
- func WaitForScaleToZero(ctx context.Context, namespace string, selector labels.Selector, ...) error
- type Client
Enable monitoring components
This section is empty.
func ProbeTargetTillReady ¶ added in v0.10.0
ProbeTargetTillReady will probe the target once per second for the given duration, until it's ready or error happens
TearDown cleans up resources used