Capturing profiles
?> This feature was first made available in Testground v0.5.4 + sdk-go v0.2.8.
Profiling is a powerful way to understand how the code under test behaves under the hood. Different programming languages support different types of profiles. For example, Go supports these types:
CPU profiles.
Heaps and allocs profiles.
Goroutine, threads, mutex and block profiles.
Refer to the pprof
package godocs for more information.
Testground has first-class support for capturing profiles continuously throughout the test execution, and it's very versatile:
You can choose to profile all test run instances, or just a subset of them (per group).
You can choose which profile types to record.
You can set the sampling interval or frequency of capture for snapshot-type profiles (e.g. goroutine, heap, etc. profiles in go).
?> Success Because profiling is a language feature, Testground delegates the capture to the corresponding SDK by sending the profiling requirements for each instance inside the TEST_CAPTURE_PROFILES
� env variable.
The profiles are written to the output path for each instance, and are available in the output bundle generated by testground collect
or the testground run --collect
flag.
Enabling profiles
You can enable profiles by setting the profiling settings under the run configuration.
To enable profiling globally
composition.toml
To enable profiling in a single group
composition.toml
Last updated