Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClusterConfig ¶
type ClusterConfig struct { ProjectID string Zone string ClusterName string PodName string ImageSourceName string ImageName string Bucket string Dockerfile string }
ClusterConfig is configuration for starting single GKE cluster for profiling agent test case.
type GCETestRunner ¶
type GCETestRunner struct { TestRunner ComputeService *compute.Service }
GCETestRunner supports testing a profiling agent on GCE.
func (*GCETestRunner) DeleteInstance ¶
func (tr *GCETestRunner) DeleteInstance(ctx context.Context, inst *InstanceConfig) error
DeleteInstance deletes an instance with project id, name, and zone matched by inst.
func (*GCETestRunner) PollForSerialOutput ¶
func (tr *GCETestRunner) PollForSerialOutput(ctx context.Context, inst *InstanceConfig, finishString string) error
PollForSerialOutput polls serial port 2 of the GCE instance specified by inst and returns when the finishString appears in the serial output of the instance, or when the context times out.
func (*GCETestRunner) StartInstance ¶
func (tr *GCETestRunner) StartInstance(ctx context.Context, inst *InstanceConfig) error
StartInstance starts a GCE Instance with name, zone, and projectId specified by the inst, and which runs the startup script specified in inst.
type GKETestRunner ¶
type GKETestRunner struct { TestRunner ContainerService *container.Service StorageClient *storage.Client Dockerfile string }
GKETestRunner supports testing a profiling agent on GKE.
func (*GKETestRunner) DeleteClusterAndImage ¶
func (tr *GKETestRunner) DeleteClusterAndImage(ctx context.Context, cfg *ClusterConfig) []error
DeleteClusterAndImage deletes cluster and images used to create cluster.
func (*GKETestRunner) PollPodLog ¶
func (tr *GKETestRunner) PollPodLog(ctx context.Context, kubernetesClient *kubernetes.Client, podName, finishString string) error
PollPodLog polls the log of the kubernetes client and returns when the finishString appears in the log, or when the context times out.
func (*GKETestRunner) StartAndDeployCluster ¶
func (tr *GKETestRunner) StartAndDeployCluster(ctx context.Context, cfg *ClusterConfig) error
StartAndDeployCluster creates image needed for cluster, then starts and deploys to cluster.
type InstanceConfig ¶
type InstanceConfig struct { ProjectID string Zone string Name string StartupScript string MachineType string }
InstanceConfig is configuration for starting single GCE instance for profiling agent test case.
type ProfileData ¶
type ProfileData struct { Samples []int32 `json:"samples"` SampleMetrics interface{} `json:"sampleMetrics"` DefaultMetricType string `json:"defaultMetricType"` TreeNodes interface{} `json:"treeNodes"` Functions functionArray `json:"functions"` SourceFiles interface{} `json:"sourceFiles"` }
ProfileData has data of a single profile.
type ProfileResponse ¶
type ProfileResponse struct { Profile ProfileData `json:"profile"` NumProfiles int32 `json:"numProfiles"` Deployments []interface{} `json:"deployments"` }
ProfileResponse contains the response produced when querying profile server.
func (*ProfileResponse) HasFunction ¶
func (pr *ProfileResponse) HasFunction(functionName string) error
HasFunction returns nil if the function is present, or, if the function is not present, and error providing more details why the function is not present.
type TestRunner ¶
TestRunner has common elements used for testing profiling agents on a range of environments.
func (*TestRunner) QueryProfiles ¶
func (tr *TestRunner) QueryProfiles(projectID, service, startTime, endTime, profileType string) (ProfileResponse, error)
QueryProfiles retrieves profiles of a specific type, from a specific time range, associated with a particular service and project.