clusteringpb

package
v0.0.0-...-04fcbae Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_go_chromium_org_luci_analysis_internal_clustering_proto_clusters_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_internal_clustering_proto_failure_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Chunk

type Chunk struct {
	Failures []*Failure `protobuf:"bytes,1,rep,name=failures,proto3" json:"failures,omitempty"`
	// contains filtered or unexported fields
}

Chunk is a set of unexpected test failures which are processed together for efficiency. Serialised and stored in GCS.

func (*Chunk) Descriptor deprecated

func (*Chunk) Descriptor() ([]byte, []int)

Deprecated: Use Chunk.ProtoReflect.Descriptor instead.

func (*Chunk) GetFailures

func (x *Chunk) GetFailures() []*Failure

func (*Chunk) ProtoMessage

func (*Chunk) ProtoMessage()

func (*Chunk) ProtoReflect

func (x *Chunk) ProtoReflect() protoreflect.Message

func (*Chunk) Reset

func (x *Chunk) Reset()

func (*Chunk) String

func (x *Chunk) String() string

type ChunkClusters

type ChunkClusters struct {

	// The types of clusters in this proto.
	ClusterTypes []*ClusterType `protobuf:"bytes,1,rep,name=cluster_types,json=clusterTypes,proto3" json:"cluster_types,omitempty"`
	// The identifiers of the clusters referenced in this proto.
	ReferencedClusters []*ReferencedCluster `protobuf:"bytes,2,rep,name=referenced_clusters,json=referencedClusters,proto3" json:"referenced_clusters,omitempty"`
	// The clusters of test results in the chunk. This is a list, so the first
	// TestResultClusters message is for first test result in the chunk,
	// the second message is for the second test result, and so on.
	ResultClusters []*TestResultClusters `protobuf:"bytes,3,rep,name=result_clusters,json=resultClusters,proto3" json:"result_clusters,omitempty"`
	// contains filtered or unexported fields
}

Represents the clusters a chunk of test results are included in.

func (*ChunkClusters) Descriptor deprecated

func (*ChunkClusters) Descriptor() ([]byte, []int)

Deprecated: Use ChunkClusters.ProtoReflect.Descriptor instead.

func (*ChunkClusters) GetClusterTypes

func (x *ChunkClusters) GetClusterTypes() []*ClusterType

func (*ChunkClusters) GetReferencedClusters

func (x *ChunkClusters) GetReferencedClusters() []*ReferencedCluster

func (*ChunkClusters) GetResultClusters

func (x *ChunkClusters) GetResultClusters() []*TestResultClusters

func (*ChunkClusters) ProtoMessage

func (*ChunkClusters) ProtoMessage()

func (*ChunkClusters) ProtoReflect

func (x *ChunkClusters) ProtoReflect() protoreflect.Message

func (*ChunkClusters) Reset

func (x *ChunkClusters) Reset()

func (*ChunkClusters) String

func (x *ChunkClusters) String() string

type ClusterType

type ClusterType struct {

	// The algorithm used to create the cluster, e.g. "reason-0.1" for reason-based
	// clustering or "rule-0.1" for clusters based on failure association rules.
	// If specific algorithm versions are deprecated, this will allow us to target
	// cluster references for deletion.
	Algorithm string `protobuf:"bytes,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"`
	// contains filtered or unexported fields
}

Defines a type of cluster.

func (*ClusterType) Descriptor deprecated

func (*ClusterType) Descriptor() ([]byte, []int)

Deprecated: Use ClusterType.ProtoReflect.Descriptor instead.

func (*ClusterType) GetAlgorithm

func (x *ClusterType) GetAlgorithm() string

func (*ClusterType) ProtoMessage

func (*ClusterType) ProtoMessage()

func (*ClusterType) ProtoReflect

func (x *ClusterType) ProtoReflect() protoreflect.Message

func (*ClusterType) Reset

func (x *ClusterType) Reset()

func (*ClusterType) String

func (x *ClusterType) String() string

type Failure

type Failure struct {

	// The identity of the test result, as defined by the source system.
	TestResultId *v1.TestResultId `protobuf:"bytes,1,opt,name=test_result_id,json=testResultId,proto3" json:"test_result_id,omitempty"`
	// Timestamp representing the start of the data retention period. This acts
	// as the partitioning key in time/date-partitioned tables.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// The one-based index of this failure within the chunk. Assigned by
	// LUCI Analysis ingestion.
	ChunkIndex int64 `protobuf:"varint,3,opt,name=chunk_index,json=chunkIndex,proto3" json:"chunk_index,omitempty"`
	// Security realm of the test result.
	// For test results from ResultDB, this must be set. The format is
	// "{LUCI_PROJECT}:{REALM_SUFFIX}", for example "chromium:ci".
	Realm string `protobuf:"bytes,4,opt,name=realm,proto3" json:"realm,omitempty"`
	// The unique identifier of the test.
	// For test results from ResultDB, see luci.resultdb.v1.TestResult.test_id.
	TestId string `protobuf:"bytes,5,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// key:value pairs to specify the way of running a particular test.
	// e.g. a specific bucket, builder and a test suite.
	Variant *v1.Variant `protobuf:"bytes,6,opt,name=variant,proto3" json:"variant,omitempty"`
	// Metadata key value pairs for this test result.
	// It might describe this particular execution or the test case.
	// A key can be repeated.
	Tags []*v1.StringPair `protobuf:"bytes,25,rep,name=tags,proto3" json:"tags,omitempty"`
	// Hash of the variant.
	// hex(sha256(”.join(sorted('%s:%s\n' for k, v in variant.items())))).
	VariantHash string `protobuf:"bytes,7,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// A failure reason describing why the test failed.
	FailureReason *v1.FailureReason `protobuf:"bytes,8,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
	// The bug tracking component corresponding to this test case, as identified
	// by the test results system. If no information is available, this is
	// unset.
	BugTrackingComponent *v1.BugTrackingComponent `protobuf:"bytes,9,opt,name=bug_tracking_component,json=bugTrackingComponent,proto3" json:"bug_tracking_component,omitempty"`
	// The point in time when the test case started to execute.
	StartTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// The amount of time the test case took to execute.
	Duration *durationpb.Duration `protobuf:"bytes,11,opt,name=duration,proto3" json:"duration,omitempty"`
	// The exonerations applied to the test verdict.
	// An empty list indicates the test verdict this test result was a part of
	// was not exonerated.
	Exonerations []*TestExoneration `protobuf:"bytes,26,rep,name=exonerations,proto3" json:"exonerations,omitempty"`
	// The presubmit run the test result was a part of (if any).
	PresubmitRun *PresubmitRun `protobuf:"bytes,27,opt,name=presubmit_run,json=presubmitRun,proto3" json:"presubmit_run,omitempty"`
	// The status of the build that contained this test result. Can be used
	// to filter incomplete results (e.g. where build was cancelled or had
	// an infra failure). Can also be used to filter builds with incomplete
	// exonerations (e.g. build succeeded but some tests not exonerated).
	// This is the build corresponding to ingested_invocation_id.
	BuildStatus v1.BuildStatus `` /* 130-byte string literal not displayed */
	// Whether the build was critical to a presubmit run succeeding.
	// If the build was not part of a presubmit run, this is unset.
	BuildCritical *bool `protobuf:"varint,29,opt,name=build_critical,json=buildCritical,proto3,oneof" json:"build_critical,omitempty"`
	// The unsubmitted changelists that were tested (if any).
	// Changelists are sorted in ascending (host, change, patchset) order.
	// Up to 10 changelists are captured.
	Changelists []*v1.Changelist `protobuf:"bytes,23,rep,name=changelists,proto3" json:"changelists,omitempty"`
	// The invocation from which this test result was ingested. This is
	// the top-level invocation that was ingested, an "invocation" being
	// a container of test results as identified by the source test result
	// system.
	//
	// For ResultDB, LUCI Analysis ingests invocations corresponding to
	// buildbucket builds.
	//
	// All test results ingested from the same invocation (i.e. with the
	// same ingested_invocation_id) will have the same partition time.
	IngestedInvocationId string `protobuf:"bytes,14,opt,name=ingested_invocation_id,json=ingestedInvocationId,proto3" json:"ingested_invocation_id,omitempty"`
	// The zero-based index for this test result, in the sequence of the
	// ingested invocation's results for this test variant. Within the sequence,
	// test results are ordered by start_time and then by test result ID.
	// The first test result is 0, the last test result is
	// ingested_invocation_result_count - 1.
	IngestedInvocationResultIndex int64 `` /* 154-byte string literal not displayed */
	// The number of test results having this test variant in the ingested
	// invocation.
	IngestedInvocationResultCount int64 `` /* 154-byte string literal not displayed */
	// Is the ingested invocation blocked by this test variant? This is
	// only true if all (non-skipped) test results for this test variant
	// (in the ingested invocation) are unexpected failures.
	//
	// Exoneration does not factor into this value; check exonerations
	// to see if the impact of this ingested invocation being blocked was
	// mitigated by exoneration.
	IsIngestedInvocationBlocked bool `` /* 148-byte string literal not displayed */
	// The identifier of the test run the test ran in. Test results in different
	// test runs are generally considered independent as they should be unable
	// to leak state to one another.
	//
	// In Chrome and Chrome OS, a test run logically corresponds to a swarming
	// task that runs tests, but this ID is not necessarily the ID of that
	// task, but rather any other ID that is unique per such task.
	//
	// If test result system is ResultDB, this is the ID of the ResultDB
	// invocation the test result was immediately contained within, not including
	// any "invocations/" prefix.
	TestRunId string `protobuf:"bytes,18,opt,name=test_run_id,json=testRunId,proto3" json:"test_run_id,omitempty"`
	// The zero-based index for this test result, in the sequence of results
	// having this test variant and test run. Within the sequence, test
	// results are ordered by start_time and then by test result ID.
	// The first test result is 0, the last test result is
	// test_run_result_count - 1.
	TestRunResultIndex int64 `protobuf:"varint,19,opt,name=test_run_result_index,json=testRunResultIndex,proto3" json:"test_run_result_index,omitempty"`
	// The number of test results having this test variant and test run.
	TestRunResultCount int64 `protobuf:"varint,20,opt,name=test_run_result_count,json=testRunResultCount,proto3" json:"test_run_result_count,omitempty"`
	// Is the test run blocked by this test variant? This is only true if all
	// (non-skipped) test results for this test variant (in the test run)
	// are unexpected failures.
	//
	// Exoneration does not factor into this value; check exonerations
	// to see if the impact of this test run being blocked was
	// mitigated by exoneration.
	IsTestRunBlocked bool `protobuf:"varint,21,opt,name=is_test_run_blocked,json=isTestRunBlocked,proto3" json:"is_test_run_blocked,omitempty"`
	// The code sources tested, if known.
	Sources *v1.Sources `protobuf:"bytes,30,opt,name=sources,proto3" json:"sources,omitempty"`
	// The gardener rotations the build is a part of. Corresponds to the
	// `sheriff_rotations` field of the build input properties.
	BuildGardenerRotations []string `` /* 130-byte string literal not displayed */
	// Information about the test variant-branch the result is from.
	TestVariantBranch *TestVariantBranch `protobuf:"bytes,32,opt,name=test_variant_branch,json=testVariantBranch,proto3" json:"test_variant_branch,omitempty"`
	// contains filtered or unexported fields
}

LUCI Analysis internal representation of an unexpected test failure.

func (*Failure) Descriptor deprecated

func (*Failure) Descriptor() ([]byte, []int)

Deprecated: Use Failure.ProtoReflect.Descriptor instead.

func (*Failure) GetBugTrackingComponent

func (x *Failure) GetBugTrackingComponent() *v1.BugTrackingComponent

func (*Failure) GetBuildCritical

func (x *Failure) GetBuildCritical() bool

func (*Failure) GetBuildGardenerRotations

func (x *Failure) GetBuildGardenerRotations() []string

func (*Failure) GetBuildStatus

func (x *Failure) GetBuildStatus() v1.BuildStatus

func (*Failure) GetChangelists

func (x *Failure) GetChangelists() []*v1.Changelist

func (*Failure) GetChunkIndex

func (x *Failure) GetChunkIndex() int64

func (*Failure) GetDuration

func (x *Failure) GetDuration() *durationpb.Duration

func (*Failure) GetExonerations

func (x *Failure) GetExonerations() []*TestExoneration

func (*Failure) GetFailureReason

func (x *Failure) GetFailureReason() *v1.FailureReason

func (*Failure) GetIngestedInvocationId

func (x *Failure) GetIngestedInvocationId() string

func (*Failure) GetIngestedInvocationResultCount

func (x *Failure) GetIngestedInvocationResultCount() int64

func (*Failure) GetIngestedInvocationResultIndex

func (x *Failure) GetIngestedInvocationResultIndex() int64

func (*Failure) GetIsIngestedInvocationBlocked

func (x *Failure) GetIsIngestedInvocationBlocked() bool

func (*Failure) GetIsTestRunBlocked

func (x *Failure) GetIsTestRunBlocked() bool

func (*Failure) GetPartitionTime

func (x *Failure) GetPartitionTime() *timestamppb.Timestamp

func (*Failure) GetPresubmitRun

func (x *Failure) GetPresubmitRun() *PresubmitRun

func (*Failure) GetRealm

func (x *Failure) GetRealm() string

func (*Failure) GetSources

func (x *Failure) GetSources() *v1.Sources

func (*Failure) GetStartTime

func (x *Failure) GetStartTime() *timestamppb.Timestamp

func (*Failure) GetTags

func (x *Failure) GetTags() []*v1.StringPair

func (*Failure) GetTestId

func (x *Failure) GetTestId() string

func (*Failure) GetTestResultId

func (x *Failure) GetTestResultId() *v1.TestResultId

func (*Failure) GetTestRunId

func (x *Failure) GetTestRunId() string

func (*Failure) GetTestRunResultCount

func (x *Failure) GetTestRunResultCount() int64

func (*Failure) GetTestRunResultIndex

func (x *Failure) GetTestRunResultIndex() int64

func (*Failure) GetTestVariantBranch

func (x *Failure) GetTestVariantBranch() *TestVariantBranch

func (*Failure) GetVariant

func (x *Failure) GetVariant() *v1.Variant

func (*Failure) GetVariantHash

func (x *Failure) GetVariantHash() string

func (*Failure) ProtoMessage

func (*Failure) ProtoMessage()

func (*Failure) ProtoReflect

func (x *Failure) ProtoReflect() protoreflect.Message

func (*Failure) Reset

func (x *Failure) Reset()

func (*Failure) String

func (x *Failure) String() string

type PresubmitRun

type PresubmitRun struct {

	// Identity of the presubmit run that contains this test result.
	// This should be unique per "CQ+1"/"CQ+2" attempt on gerrit.
	//
	// One presumbit run MAY have many ingested invocation IDs (e.g. for its
	// various tryjobs), but every ingested invocation ID only ever has one
	// presubmit run ID (if any).
	//
	// All test results for the same presubmit run will have one
	// partition_time.
	//
	// If the test result was not collected as part of a presubmit run,
	// this is unset.
	PresubmitRunId *v1.PresubmitRunId `protobuf:"bytes,1,opt,name=presubmit_run_id,json=presubmitRunId,proto3" json:"presubmit_run_id,omitempty"`
	// The owner of the presubmit run (if any).
	// This is the owner of the CL on which CQ+1/CQ+2 was clicked
	// (even in case of presubmit run with multiple CLs).
	// There is scope for this field to become an email address if privacy
	// approval is obtained, until then it is "automation" (for automation
	// service accounts) and "user" otherwise.
	Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"`
	// The mode of the presubmit run. E.g. DRY_RUN, FULL_RUN, QUICK_DRY_RUN.
	Mode v1.PresubmitRunMode `protobuf:"varint,3,opt,name=mode,proto3,enum=luci.analysis.v1.PresubmitRunMode" json:"mode,omitempty"`
	// The presubmit run's ending status. E.g. SUCCESS, FAILURE, CANCELED.
	Status v1.PresubmitRunStatus `protobuf:"varint,4,opt,name=status,proto3,enum=luci.analysis.v1.PresubmitRunStatus" json:"status,omitempty"`
	// contains filtered or unexported fields
}

LUCI Analysis internal representation of a presubmit run (e.g. LUCI CV Run).

func (*PresubmitRun) Descriptor deprecated

func (*PresubmitRun) Descriptor() ([]byte, []int)

Deprecated: Use PresubmitRun.ProtoReflect.Descriptor instead.

func (*PresubmitRun) GetMode

func (x *PresubmitRun) GetMode() v1.PresubmitRunMode

func (*PresubmitRun) GetOwner

func (x *PresubmitRun) GetOwner() string

func (*PresubmitRun) GetPresubmitRunId

func (x *PresubmitRun) GetPresubmitRunId() *v1.PresubmitRunId

func (*PresubmitRun) GetStatus

func (x *PresubmitRun) GetStatus() v1.PresubmitRunStatus

func (*PresubmitRun) ProtoMessage

func (*PresubmitRun) ProtoMessage()

func (*PresubmitRun) ProtoReflect

func (x *PresubmitRun) ProtoReflect() protoreflect.Message

func (*PresubmitRun) Reset

func (x *PresubmitRun) Reset()

func (*PresubmitRun) String

func (x *PresubmitRun) String() string

type ReferencedCluster

type ReferencedCluster struct {

	// The type of the referenced cluster, represented by an index
	// into the cluster_types list of ChunkClusters.
	TypeRef int64 `protobuf:"varint,1,opt,name=type_ref,json=typeRef,proto3" json:"type_ref,omitempty"`
	// The identifier of the referenced cluster (up to 16 bytes).
	ClusterId []byte `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	// contains filtered or unexported fields
}

Represents a reference to a cluster.

func (*ReferencedCluster) Descriptor deprecated

func (*ReferencedCluster) Descriptor() ([]byte, []int)

Deprecated: Use ReferencedCluster.ProtoReflect.Descriptor instead.

func (*ReferencedCluster) GetClusterId

func (x *ReferencedCluster) GetClusterId() []byte

func (*ReferencedCluster) GetTypeRef

func (x *ReferencedCluster) GetTypeRef() int64

func (*ReferencedCluster) ProtoMessage

func (*ReferencedCluster) ProtoMessage()

func (*ReferencedCluster) ProtoReflect

func (x *ReferencedCluster) ProtoReflect() protoreflect.Message

func (*ReferencedCluster) Reset

func (x *ReferencedCluster) Reset()

func (*ReferencedCluster) String

func (x *ReferencedCluster) String() string

type TestExoneration

type TestExoneration struct {

	// The machine-readable reason for the exoneration.
	Reason v1.ExonerationReason `protobuf:"varint,1,opt,name=reason,proto3,enum=luci.analysis.v1.ExonerationReason" json:"reason,omitempty"`
	// contains filtered or unexported fields
}

LUCI Analysis internal representation of a test exoneration.

func (*TestExoneration) Descriptor deprecated

func (*TestExoneration) Descriptor() ([]byte, []int)

Deprecated: Use TestExoneration.ProtoReflect.Descriptor instead.

func (*TestExoneration) GetReason

func (x *TestExoneration) GetReason() v1.ExonerationReason

func (*TestExoneration) ProtoMessage

func (*TestExoneration) ProtoMessage()

func (*TestExoneration) ProtoReflect

func (x *TestExoneration) ProtoReflect() protoreflect.Message

func (*TestExoneration) Reset

func (x *TestExoneration) Reset()

func (*TestExoneration) String

func (x *TestExoneration) String() string

type TestResultClusters

type TestResultClusters struct {

	// The clusters the test result is a member of. Clusters are identified by
	// their index in the referenced_clusters list.
	ClusterRefs []int64 `protobuf:"varint,1,rep,packed,name=cluster_refs,json=clusterRefs,proto3" json:"cluster_refs,omitempty"`
	// contains filtered or unexported fields
}

Represents the clusters a test result is included in.

func (*TestResultClusters) Descriptor deprecated

func (*TestResultClusters) Descriptor() ([]byte, []int)

Deprecated: Use TestResultClusters.ProtoReflect.Descriptor instead.

func (*TestResultClusters) GetClusterRefs

func (x *TestResultClusters) GetClusterRefs() []int64

func (*TestResultClusters) ProtoMessage

func (*TestResultClusters) ProtoMessage()

func (*TestResultClusters) ProtoReflect

func (x *TestResultClusters) ProtoReflect() protoreflect.Message

func (*TestResultClusters) Reset

func (x *TestResultClusters) Reset()

func (*TestResultClusters) String

func (x *TestResultClusters) String() string

type TestVariantBranch

type TestVariantBranch struct {

	// The number of flaky verdicts in the preceding 24 hours. A verdict
	// is considered flaky for this count if it has both expected and
	// unexpected test results (excluding skips). Whether the verdict
	// was exonerated is irrelevant.
	FlakyVerdicts_24H int64 `protobuf:"varint,1,opt,name=flaky_verdicts_24h,json=flakyVerdicts24h,proto3" json:"flaky_verdicts_24h,omitempty"`
	// The number of unexpected verdicts in the preceding 24 hours. A verdict
	// is unexpected for this count if has only unexpected test results
	// (excluding skips). Whether the verdict was exonerated is irrelevant.
	UnexpectedVerdicts_24H int64 `` /* 127-byte string literal not displayed */
	// The total number of verdicts in the preceding 24 hours, excluding
	// verdicts with only skipped test results.
	TotalVerdicts_24H int64 `protobuf:"varint,3,opt,name=total_verdicts_24h,json=totalVerdicts24h,proto3" json:"total_verdicts_24h,omitempty"`
	// contains filtered or unexported fields
}

Statistics about the (test,variant,ref) the verdict is from.

func (*TestVariantBranch) Descriptor deprecated

func (*TestVariantBranch) Descriptor() ([]byte, []int)

Deprecated: Use TestVariantBranch.ProtoReflect.Descriptor instead.

func (*TestVariantBranch) GetFlakyVerdicts_24H

func (x *TestVariantBranch) GetFlakyVerdicts_24H() int64

func (*TestVariantBranch) GetTotalVerdicts_24H

func (x *TestVariantBranch) GetTotalVerdicts_24H() int64

func (*TestVariantBranch) GetUnexpectedVerdicts_24H

func (x *TestVariantBranch) GetUnexpectedVerdicts_24H() int64

func (*TestVariantBranch) ProtoMessage

func (*TestVariantBranch) ProtoMessage()

func (*TestVariantBranch) ProtoReflect

func (x *TestVariantBranch) ProtoReflect() protoreflect.Message

func (*TestVariantBranch) Reset

func (x *TestVariantBranch) Reset()

func (*TestVariantBranch) String

func (x *TestVariantBranch) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL