Documentation ¶
Index ¶
- Variables
- func HTTPDataLossMetric(outputPeriod time.Duration) *pb.MetricSpec
- func HTTPHealthChecks(namespace string, includePxL bool) []*pb.HealthCheck
- func HTTPLoadApplicationOverheadExperiment(numConnections int, targetRPS int, metricPeriod time.Duration) *pb.ExperimentSpec
- func HTTPLoadTestExperiment(numConnections int, targetRPS int, metricPeriod time.Duration, ...) *pb.ExperimentSpec
- func HTTPLoadTestWorkload(numConns int, targetRPS int, doPxLHealthCheck bool) *pb.WorkloadSpec
- func HeapMetrics(period time.Duration) *pb.MetricSpec
- func K8ssandraExperiment(metricPeriod time.Duration, predeployDur time.Duration, dur time.Duration) *pb.ExperimentSpec
- func K8ssandraWorkload() *pb.WorkloadSpec
- func KafkaExperiment(metricPeriod time.Duration, predeployDur time.Duration, dur time.Duration) *pb.ExperimentSpec
- func KafkaWorkload() *pb.WorkloadSpec
- func OnlineBoutiqueExperiment(metricPeriod time.Duration, predeployDur time.Duration, dur time.Duration) *pb.ExperimentSpec
- func OnlineBoutiqueWorkload() *pb.WorkloadSpec
- func ProcessStatsMetrics(period time.Duration) *pb.MetricSpec
- func ProtocolLoadtestPromMetrics(scrapePeriod time.Duration) *pb.MetricSpec
- func SockShopExperiment(metricPeriod time.Duration, predeployDur time.Duration, dur time.Duration) *pb.ExperimentSpec
- func SockShopWorkload() *pb.WorkloadSpec
- func VizierHealthChecks() []*pb.HealthCheck
- func VizierWorkload() *pb.WorkloadSpec
- type ExperimentSuite
Constants ¶
This section is empty.
Variables ¶
var DefaultCluster = &pb.ClusterSpec{ NumNodes: 1, Node: &pb.NodeSpec{ MachineType: `n2-standard-4`, }, }
DefaultCluster is the default ClusterSpec all experiments currently use.
var ExperimentSuiteRegistry = map[string]ExperimentSuite{
"nightly": nightlyExperimentSuite,
"http-grid": httpGridSuite,
"k8ssandra": k8ssandraExperimentSuite,
}
ExperimentSuiteRegistry contains all the ExperimentSuite, keyed by name.
Functions ¶
func HTTPDataLossMetric ¶
func HTTPDataLossMetric(outputPeriod time.Duration) *pb.MetricSpec
HTTPDataLossMetric adds a metric that tracks HTTP data loss based on the `X-Px-Seq-Id` header.
func HTTPHealthChecks ¶
func HTTPHealthChecks(namespace string, includePxL bool) []*pb.HealthCheck
HTTPHealthChecks returns a healthcheck based on the existence of http_events in Pixie for a given namespace.
func HTTPLoadApplicationOverheadExperiment ¶
func HTTPLoadApplicationOverheadExperiment( numConnections int, targetRPS int, metricPeriod time.Duration, ) *pb.ExperimentSpec
HTTPLoadApplicationOverheadExperiment is an experiment that runs a simple client/server http loadtest, measuring pixie's impact on the application's performance.
func HTTPLoadTestExperiment ¶
func HTTPLoadTestExperiment( numConnections int, targetRPS int, metricPeriod time.Duration, predeployDur time.Duration, dur time.Duration, ) *pb.ExperimentSpec
HTTPLoadTestExperiment is an experiment that runs a simple client/server http loadtest.
func HTTPLoadTestWorkload ¶
func HTTPLoadTestWorkload(numConns int, targetRPS int, doPxLHealthCheck bool) *pb.WorkloadSpec
HTTPLoadTestWorkload returns the WorkloadSpec to deploy a simple client/server http loadtest (see src/e2e_test/protocol_loadtest)
func HeapMetrics ¶
func HeapMetrics(period time.Duration) *pb.MetricSpec
HeapMetrics collects metrics around heap usage and amount of data stored in the table store.
func K8ssandraExperiment ¶
func K8ssandraExperiment( metricPeriod time.Duration, predeployDur time.Duration, dur time.Duration, ) *pb.ExperimentSpec
Perf test for px-k8ssandra
func K8ssandraWorkload ¶
func K8ssandraWorkload() *pb.WorkloadSpec
func KafkaExperiment ¶
func KafkaExperiment( metricPeriod time.Duration, predeployDur time.Duration, dur time.Duration, ) *pb.ExperimentSpec
KafkaExperiment is an experiment that runs the kafka demo workload.
func KafkaWorkload ¶
func KafkaWorkload() *pb.WorkloadSpec
KafkaWorkload returns the WorkloadSpec to deploy the kafka demo.
func OnlineBoutiqueExperiment ¶
func OnlineBoutiqueExperiment( metricPeriod time.Duration, predeployDur time.Duration, dur time.Duration, ) *pb.ExperimentSpec
OnlineBoutiqueExperiment is an experiment that runs all of online boutique as a workload.
func OnlineBoutiqueWorkload ¶
func OnlineBoutiqueWorkload() *pb.WorkloadSpec
OnlineBoutiqueWorkload returns the WorkloadSpec to deploy online boutique.
func ProcessStatsMetrics ¶
func ProcessStatsMetrics(period time.Duration) *pb.MetricSpec
ProcessStatsMetrics adds a metric spec that collects process stats such as rss,vsize, and cpu_usage.
func ProtocolLoadtestPromMetrics ¶
func ProtocolLoadtestPromMetrics(scrapePeriod time.Duration) *pb.MetricSpec
ProtocolLoadtestPromMetrics adds metrics that scrapes prometheus metrics from the protocol loadtest server, collecting process data (cpu usage, rss, vsize).
func SockShopExperiment ¶
func SockShopExperiment( metricPeriod time.Duration, predeployDur time.Duration, dur time.Duration, ) *pb.ExperimentSpec
SockShopExperiment is an experiment that runs all of sock shop as a workload.
func SockShopWorkload ¶
func SockShopWorkload() *pb.WorkloadSpec
SockShopWorkload returns the WorkloadSpec to deploy sock shop.
func VizierHealthChecks ¶
func VizierHealthChecks() []*pb.HealthCheck
VizierHealthChecks returns the healthchecks for a vizier workload.
func VizierWorkload ¶
func VizierWorkload() *pb.WorkloadSpec
VizierWorkload returns the workload spec to deploy Vizier.
Types ¶
type ExperimentSuite ¶
type ExperimentSuite func() map[string]*pb.ExperimentSpec
ExperimentSuite is a group of experiments, represented as a function that returns multiple named experiment specs.