bqpb

package
v0.0.0-...-efe69f1 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 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_proto_bq_clustered_failure_row_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_bq_failure_association_rules_history_row_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_bq_failure_attribute_row_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_bq_grouped_changepoint_row_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_bq_test_result_row_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_bq_test_variant_branch_row_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_bq_test_verdict_row_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ClusteredFailureRow

type ClusteredFailureRow struct {

	// The LUCI project that the test failure belongs to.
	Project string `protobuf:"bytes,39,opt,name=project,proto3" json:"project,omitempty"`
	// The clustering algorithm which clustered the test failure.
	ClusterAlgorithm string `protobuf:"bytes,1,opt,name=cluster_algorithm,json=clusterAlgorithm,proto3" json:"cluster_algorithm,omitempty"`
	// The algorithm-defined cluster ID. Together with the cluster algorithm,
	// this uniquely defines a cluster the test failure was clustered into.
	//
	// Note that each test failure may appear in multiple clusters (due to
	// the presence of multiple clustering algorithms), but each clustering
	// algorithm may only cluster the test result into one cluster.
	//
	// Note that the cluster ID is split over two fields (cluster_algorithm,
	// cluster_id), rather than as one field with a record type, so that
	// BigQuery clustering can be defined over the ID (not possible if a
	// record type was used).
	ClusterId string `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	// The test results system from which the test originated.
	//
	// Currently, the only valid value is "resultdb".
	TestResultSystem string `protobuf:"bytes,3,opt,name=test_result_system,json=testResultSystem,proto3" json:"test_result_system,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,21,opt,name=ingested_invocation_id,json=ingestedInvocationId,proto3" json:"ingested_invocation_id,omitempty"`
	// The identity of the test result in the test results system. Together
	// with the test results system and the ingested invocation ID, this uniquely
	// identifies the failure that was clustered.
	//
	// In some test result systems (e.g. ResultDB), a test result might be
	// included in multiple invocations. Where this occurs, the test result may be
	// ingested by LUCI Analysis multiple times, once for each top-level
	// invocation it appears in. The same test result may have different
	// attributes (e.g. presubmit_run_owner) depending on which top-level
	// invocation it is ingested under.
	//
	// For test results in ResultDB, the format is:
	// "invocations/{INVOCATION_ID}/tests/{URL_ESCAPED_TEST_ID}/results/{RESULT_ID}"
	// Where INVOCATION_ID, URL_ESCAPED_TEST_ID and RESULT_ID are values
	// defined in ResultDB.
	//
	// Note that the test result ID is split over three fields
	// (test_result_system, ingested_invocation_id, test_result_id), rather than
	// as one field with a record type, so that BigQuery clustering can be defined
	// over the ID (not possible if a record type was used).
	TestResultId string `protobuf:"bytes,4,opt,name=test_result_id,json=testResultId,proto3" json:"test_result_id,omitempty"`
	// Last Updated defines the version of test result-cluster inclusion status,
	// as represented by this row. During its lifetime, due to changing
	// failure association rules and clustering algorithm revisions, the
	// clusters a test result is in may be updated.
	//
	// To achieve deletion in an append-optimised datastore like BigQuery,
	// a new row will be exported for a given (cluster_algorithm, cluster_id,
	// test_result_system, ingested_invocation_id, test_result_id) tuple with a
	// later last_updated time that changes the is_included and/or
	// is_included_with_high_priority fields. A scheduled query periodically
	// purges superseded rows, to avoid excessive growth in the table.
	//
	// Clients should filter the rows they read to ensure they only use the
	// rows with the latest last_updated time.
	//
	// The following is the definition of a view that correctly uses
	// the last updated time column to query the table:
	//
	//	SELECT
	//	  ARRAY_AGG(cf ORDER BY last_updated DESC LIMIT 1)[OFFSET(0)] as row
	//	FROM clustered_failures cf
	//	-- Recommended: Apply restriction on partitions (e.g. last 14 days) as
	//	-- desired.
	//	-- WHERE partition_time >= TIMESTAMP_SUB(@as_at_time, INTERVAL 14 DAY)
	//	GROUP BY project, cluster_algorithm, cluster_id, test_result_system, ingested_invocation_id, test_result_id
	//	HAVING row.is_included
	//
	// This is based on the query design in [1].
	// [1]: https://cloud.google.com/blog/products/bigquery/performing-large-scale-mutations-in-bigquery
	LastUpdated *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
	// The test result partition time identifies the beginning of the test
	// result retention period, and corresponds to the time the ingested
	// invocation was created in Spanner.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// Whether the test result is included in the cluster. Set to false if
	// the test result has been removed from the cluster.
	// False values appear in BigQuery as NULL.
	IsIncluded bool `protobuf:"varint,7,opt,name=is_included,json=isIncluded,proto3" json:"is_included,omitempty"`
	// Whether the test result is included in the cluster with high priority.
	// True if either:
	//  1. this cluster is a bug cluster (i.e. cluster defined by failure
	//     association rule), OR
	//  2. this cluster is a suggested cluster, and the test result is NOT
	//     also in a bug cluster.
	//
	// False values appear in BigQuery as NULL.
	IsIncludedWithHighPriority bool `` /* 146-byte string literal not displayed */
	// The chunk this failure was processed and stored in. Assigned by
	// LUCI Analysis ingestion.
	ChunkId string `protobuf:"bytes,9,opt,name=chunk_id,json=chunkId,proto3" json:"chunk_id,omitempty"`
	// The zero-based index of this failure within the chunk. Assigned by
	// LUCI Analysis ingestion.
	ChunkIndex int64 `protobuf:"varint,10,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,11,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,12,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.
	// For ResultDB, this is the known field.
	Variant []*v1.StringPair `protobuf:"bytes,13,rep,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,32,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,14,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// A failure reason describing why the test failed.
	FailureReason *v1.FailureReason `protobuf:"bytes,15,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,16,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,17,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// The amount of time the test case took to execute, in seconds.
	Duration float64 `protobuf:"fixed64,18,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 []*ClusteredFailureRow_TestExoneration `protobuf:"bytes,33,rep,name=exonerations,proto3" json:"exonerations,omitempty"`
	// 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,20,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.
	PresubmitRunOwner string `protobuf:"bytes,29,opt,name=presubmit_run_owner,json=presubmitRunOwner,proto3" json:"presubmit_run_owner,omitempty"`
	// The mode of the presubmit run (if any).
	// E.g. DRY_RUN, FULL_RUN, QUICK_DRY_RUN.
	// If this test result does not relate to a presubmit run, this field
	// is left as its default value (""). In BigQuery, this results in a
	// NULL value.
	PresubmitRunMode string `protobuf:"bytes,34,opt,name=presubmit_run_mode,json=presubmitRunMode,proto3" json:"presubmit_run_mode,omitempty"`
	// The presubmit run's ending status.
	// Notionally luci.analysis.v1.PresubmitRunStatus, but string so that
	// we can chop off the "PRESUBMIT_RUN_STATUS_" prefix and have
	// only the status, e.g. SUCCESS, FAILURE, CANCELED.
	// If this test result does not relate to a presubmit run, this field
	// is left as its default value (""). In BigQuery, this results in a
	// NULL value.
	PresubmitRunStatus string `protobuf:"bytes,35,opt,name=presubmit_run_status,json=presubmitRunStatus,proto3" json:"presubmit_run_status,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.
	// Notionally luci.analysis.v1.BuildStatus, but string so that we can chop
	// off the BUILD_STATUS_ prefix that would otherwise appear on every value.
	BuildStatus string `protobuf:"bytes,36,opt,name=build_status,json=buildStatus,proto3" json:"build_status,omitempty"`
	// Whether the build was critical to a presubmit run succeeding.
	// If the build did not relate presubmit run (i.e. because it was a tryjob
	// for a presubmit run), this is false.
	// Note that both possible false values (from the build is not critical
	// or because the build was not part of a presubmit run) appear in
	// BigQuery as NULL.
	// You can identify which of these cases applies by
	// checking if presubmit_run_id is populated.
	BuildCritical bool `protobuf:"varint,37,opt,name=build_critical,json=buildCritical,proto3" json:"build_critical,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 is_exonerated
	// 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,25,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,26,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,27,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 is_exonerated
	// to see if the impact of this test run being blocked was
	// mitigated by exoneration.
	IsTestRunBlocked bool `protobuf:"varint,28,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,40,opt,name=sources,proto3" json:"sources,omitempty"`
	// The branch in source control that was tested, if known.
	// For example, the `refs/heads/main` branch in the `chromium/src` repo
	// hosted by `chromium.googlesource.com`.
	// This is a subset of the information in the `sources` field.
	SourceRef *v1.SourceRef `protobuf:"bytes,41,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	// Hash of the source_ref field, as 16 lowercase hexadecimal characters.
	// Can be used to uniquely identify a branch in a source code
	// version control system.
	SourceRefHash string `protobuf:"bytes,42,opt,name=source_ref_hash,json=sourceRefHash,proto3" json:"source_ref_hash,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 *ClusteredFailureRow_TestVariantBranch `protobuf:"bytes,44,opt,name=test_variant_branch,json=testVariantBranch,proto3" json:"test_variant_branch,omitempty"`
	// contains filtered or unexported fields
}

ClusteredFailureRow represents a row in a BigQuery table for a clustered test failure.

func (*ClusteredFailureRow) Descriptor deprecated

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

Deprecated: Use ClusteredFailureRow.ProtoReflect.Descriptor instead.

func (*ClusteredFailureRow) GetBugTrackingComponent

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

func (*ClusteredFailureRow) GetBuildCritical

func (x *ClusteredFailureRow) GetBuildCritical() bool

func (*ClusteredFailureRow) GetBuildGardenerRotations

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

func (*ClusteredFailureRow) GetBuildStatus

func (x *ClusteredFailureRow) GetBuildStatus() string

func (*ClusteredFailureRow) GetChunkId

func (x *ClusteredFailureRow) GetChunkId() string

func (*ClusteredFailureRow) GetChunkIndex

func (x *ClusteredFailureRow) GetChunkIndex() int64

func (*ClusteredFailureRow) GetClusterAlgorithm

func (x *ClusteredFailureRow) GetClusterAlgorithm() string

func (*ClusteredFailureRow) GetClusterId

func (x *ClusteredFailureRow) GetClusterId() string

func (*ClusteredFailureRow) GetDuration

func (x *ClusteredFailureRow) GetDuration() float64

func (*ClusteredFailureRow) GetExonerations

func (*ClusteredFailureRow) GetFailureReason

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

func (*ClusteredFailureRow) GetIngestedInvocationId

func (x *ClusteredFailureRow) GetIngestedInvocationId() string

func (*ClusteredFailureRow) GetIngestedInvocationResultCount

func (x *ClusteredFailureRow) GetIngestedInvocationResultCount() int64

func (*ClusteredFailureRow) GetIngestedInvocationResultIndex

func (x *ClusteredFailureRow) GetIngestedInvocationResultIndex() int64

func (*ClusteredFailureRow) GetIsIncluded

func (x *ClusteredFailureRow) GetIsIncluded() bool

func (*ClusteredFailureRow) GetIsIncludedWithHighPriority

func (x *ClusteredFailureRow) GetIsIncludedWithHighPriority() bool

func (*ClusteredFailureRow) GetIsIngestedInvocationBlocked

func (x *ClusteredFailureRow) GetIsIngestedInvocationBlocked() bool

func (*ClusteredFailureRow) GetIsTestRunBlocked

func (x *ClusteredFailureRow) GetIsTestRunBlocked() bool

func (*ClusteredFailureRow) GetLastUpdated

func (x *ClusteredFailureRow) GetLastUpdated() *timestamppb.Timestamp

func (*ClusteredFailureRow) GetPartitionTime

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

func (*ClusteredFailureRow) GetPresubmitRunId

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

func (*ClusteredFailureRow) GetPresubmitRunMode

func (x *ClusteredFailureRow) GetPresubmitRunMode() string

func (*ClusteredFailureRow) GetPresubmitRunOwner

func (x *ClusteredFailureRow) GetPresubmitRunOwner() string

func (*ClusteredFailureRow) GetPresubmitRunStatus

func (x *ClusteredFailureRow) GetPresubmitRunStatus() string

func (*ClusteredFailureRow) GetProject

func (x *ClusteredFailureRow) GetProject() string

func (*ClusteredFailureRow) GetRealm

func (x *ClusteredFailureRow) GetRealm() string

func (*ClusteredFailureRow) GetSourceRef

func (x *ClusteredFailureRow) GetSourceRef() *v1.SourceRef

func (*ClusteredFailureRow) GetSourceRefHash

func (x *ClusteredFailureRow) GetSourceRefHash() string

func (*ClusteredFailureRow) GetSources

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

func (*ClusteredFailureRow) GetStartTime

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

func (*ClusteredFailureRow) GetTags

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

func (*ClusteredFailureRow) GetTestId

func (x *ClusteredFailureRow) GetTestId() string

func (*ClusteredFailureRow) GetTestResultId

func (x *ClusteredFailureRow) GetTestResultId() string

func (*ClusteredFailureRow) GetTestResultSystem

func (x *ClusteredFailureRow) GetTestResultSystem() string

func (*ClusteredFailureRow) GetTestRunId

func (x *ClusteredFailureRow) GetTestRunId() string

func (*ClusteredFailureRow) GetTestRunResultCount

func (x *ClusteredFailureRow) GetTestRunResultCount() int64

func (*ClusteredFailureRow) GetTestRunResultIndex

func (x *ClusteredFailureRow) GetTestRunResultIndex() int64

func (*ClusteredFailureRow) GetTestVariantBranch

func (*ClusteredFailureRow) GetVariant

func (x *ClusteredFailureRow) GetVariant() []*v1.StringPair

func (*ClusteredFailureRow) GetVariantHash

func (x *ClusteredFailureRow) GetVariantHash() string

func (*ClusteredFailureRow) ProtoMessage

func (*ClusteredFailureRow) ProtoMessage()

func (*ClusteredFailureRow) ProtoReflect

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

func (*ClusteredFailureRow) Reset

func (x *ClusteredFailureRow) Reset()

func (*ClusteredFailureRow) String

func (x *ClusteredFailureRow) String() string

type ClusteredFailureRow_TestExoneration

type ClusteredFailureRow_TestExoneration struct {

	// Machine-readable reasons describing why the test failure was exonerated
	// (if any).
	Reason v1.ExonerationReason `protobuf:"varint,1,opt,name=reason,proto3,enum=luci.analysis.v1.ExonerationReason" json:"reason,omitempty"`
	// contains filtered or unexported fields
}

func (*ClusteredFailureRow_TestExoneration) Descriptor deprecated

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

Deprecated: Use ClusteredFailureRow_TestExoneration.ProtoReflect.Descriptor instead.

func (*ClusteredFailureRow_TestExoneration) GetReason

func (*ClusteredFailureRow_TestExoneration) ProtoMessage

func (*ClusteredFailureRow_TestExoneration) ProtoMessage()

func (*ClusteredFailureRow_TestExoneration) ProtoReflect

func (*ClusteredFailureRow_TestExoneration) Reset

func (*ClusteredFailureRow_TestExoneration) String

type ClusteredFailureRow_TestVariantBranch

type ClusteredFailureRow_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 considered 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
}

Information about the (test,variant,source ref) the verdict is from. Source ref refers to the source branch that was tested, see `source_ref`.

func (*ClusteredFailureRow_TestVariantBranch) Descriptor deprecated

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

Deprecated: Use ClusteredFailureRow_TestVariantBranch.ProtoReflect.Descriptor instead.

func (*ClusteredFailureRow_TestVariantBranch) GetFlakyVerdicts_24H

func (x *ClusteredFailureRow_TestVariantBranch) GetFlakyVerdicts_24H() int64

func (*ClusteredFailureRow_TestVariantBranch) GetTotalVerdicts_24H

func (x *ClusteredFailureRow_TestVariantBranch) GetTotalVerdicts_24H() int64

func (*ClusteredFailureRow_TestVariantBranch) GetUnexpectedVerdicts_24H

func (x *ClusteredFailureRow_TestVariantBranch) GetUnexpectedVerdicts_24H() int64

func (*ClusteredFailureRow_TestVariantBranch) ProtoMessage

func (*ClusteredFailureRow_TestVariantBranch) ProtoMessage()

func (*ClusteredFailureRow_TestVariantBranch) ProtoReflect

func (*ClusteredFailureRow_TestVariantBranch) Reset

func (*ClusteredFailureRow_TestVariantBranch) String

type FailureAssociationRulesHistoryRow

type FailureAssociationRulesHistoryRow struct {

	// The resource name of the failure association rule.
	// Can be used to refer to this rule, e.g. in Rules.Get RPC.
	// Format: projects/{project}/rules/{rule_id}.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The LUCI Project this bug belongs to.
	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
	// The unique identifier for the rule. This rule_id corresponds to the cluster_id
	// in the clustered_failures table.
	RuleId string `protobuf:"bytes,3,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"`
	// The rule predicate, defining which failures are being associated.
	RuleDefinition string `protobuf:"bytes,4,opt,name=rule_definition,json=ruleDefinition,proto3" json:"rule_definition,omitempty"`
	// The last time either rule_definition or is_active is changed.
	PredicateLastUpdateTime *timestamppb.Timestamp `` /* 134-byte string literal not displayed */
	// The system and the id of where the bug is tracked.
	Bug *FailureAssociationRulesHistoryRow_Bug `protobuf:"bytes,6,opt,name=bug,proto3" json:"bug,omitempty"`
	// Whether the bug must still be updated by LUCI Analysis, and whether
	// failures should still be matched against this rule.
	IsActive bool `protobuf:"varint,7,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
	// Whether this rule should manage the priority and verified status
	// of the associated bug based on the impact of the cluster defined
	// by this rule.
	IsManagingBug bool `protobuf:"varint,8,opt,name=is_managing_bug,json=isManagingBug,proto3" json:"is_managing_bug,omitempty"`
	// Indicates whether we should update the priority of the bug
	// that is associated with this rule based on the cluster's impact.
	// This toggle has must have no effect if the is_managing_bug toggle is off.
	IsManagingBugPriority bool `` /* 129-byte string literal not displayed */
	// Tracks when the field is_managing_bug_priority was last updated.
	IsManagingBugPriorityLastUpdateTime *timestamppb.Timestamp `` /* 177-byte string literal not displayed */
	// This suggested cluster this rule was created from.
	// Until re-clustering is complete (and the residual impact of the source
	// cluster has reduced to zero), source_cluster.algorithm and source_cluster.id
	// tell bug filing to ignore the source suggested cluster when
	// determining whether new bugs need to be filed.
	SourceCluster *v1.ClusterId `protobuf:"bytes,11,opt,name=source_cluster,json=sourceCluster,proto3" json:"source_cluster,omitempty"`
	// Bug management state. System controlled data.
	BugManagementState *v1.BugManagementState `protobuf:"bytes,12,opt,name=bug_management_state,json=bugManagementState,proto3" json:"bug_management_state,omitempty"`
	// The time the rule was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// The last time an auditable field was updated. An auditable field
	// is any field other than a system controlled data field.
	LastAuditableUpdateTime *timestamppb.Timestamp `` /* 135-byte string literal not displayed */
	// The last time the rule was updated.
	LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"`
	// The time the entry was exported to bigquery table.
	ExportedTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=exported_time,json=exportedTime,proto3" json:"exported_time,omitempty"`
	// contains filtered or unexported fields
}

BigQuery representation of a failure association rule. NextID: 16.

func (*FailureAssociationRulesHistoryRow) Descriptor deprecated

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

Deprecated: Use FailureAssociationRulesHistoryRow.ProtoReflect.Descriptor instead.

func (*FailureAssociationRulesHistoryRow) GetBug

func (*FailureAssociationRulesHistoryRow) GetBugManagementState

func (x *FailureAssociationRulesHistoryRow) GetBugManagementState() *v1.BugManagementState

func (*FailureAssociationRulesHistoryRow) GetCreateTime

func (*FailureAssociationRulesHistoryRow) GetExportedTime

func (*FailureAssociationRulesHistoryRow) GetIsActive

func (x *FailureAssociationRulesHistoryRow) GetIsActive() bool

func (*FailureAssociationRulesHistoryRow) GetIsManagingBug

func (x *FailureAssociationRulesHistoryRow) GetIsManagingBug() bool

func (*FailureAssociationRulesHistoryRow) GetIsManagingBugPriority

func (x *FailureAssociationRulesHistoryRow) GetIsManagingBugPriority() bool

func (*FailureAssociationRulesHistoryRow) GetIsManagingBugPriorityLastUpdateTime

func (x *FailureAssociationRulesHistoryRow) GetIsManagingBugPriorityLastUpdateTime() *timestamppb.Timestamp

func (*FailureAssociationRulesHistoryRow) GetLastAuditableUpdateTime

func (x *FailureAssociationRulesHistoryRow) GetLastAuditableUpdateTime() *timestamppb.Timestamp

func (*FailureAssociationRulesHistoryRow) GetLastUpdateTime

func (*FailureAssociationRulesHistoryRow) GetName

func (*FailureAssociationRulesHistoryRow) GetPredicateLastUpdateTime

func (x *FailureAssociationRulesHistoryRow) GetPredicateLastUpdateTime() *timestamppb.Timestamp

func (*FailureAssociationRulesHistoryRow) GetProject

func (x *FailureAssociationRulesHistoryRow) GetProject() string

func (*FailureAssociationRulesHistoryRow) GetRuleDefinition

func (x *FailureAssociationRulesHistoryRow) GetRuleDefinition() string

func (*FailureAssociationRulesHistoryRow) GetRuleId

func (*FailureAssociationRulesHistoryRow) GetSourceCluster

func (x *FailureAssociationRulesHistoryRow) GetSourceCluster() *v1.ClusterId

func (*FailureAssociationRulesHistoryRow) ProtoMessage

func (*FailureAssociationRulesHistoryRow) ProtoMessage()

func (*FailureAssociationRulesHistoryRow) ProtoReflect

func (*FailureAssociationRulesHistoryRow) Reset

func (*FailureAssociationRulesHistoryRow) String

type FailureAssociationRulesHistoryRow_Bug

type FailureAssociationRulesHistoryRow_Bug struct {

	// system is the bug tracking system containing the bug the failures are
	// associated with. The only supported values are 'monorail' and 'buganizer'.
	System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"`
	// id is the identifier of the bug the failures are associated with, as
	// identified by the bug tracking system itself. For monorail, the scheme is
	// {project}/{numeric_id}, for buganizer, the scheme is {numeric_id}.
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func (*FailureAssociationRulesHistoryRow_Bug) Descriptor deprecated

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

Deprecated: Use FailureAssociationRulesHistoryRow_Bug.ProtoReflect.Descriptor instead.

func (*FailureAssociationRulesHistoryRow_Bug) GetId

func (*FailureAssociationRulesHistoryRow_Bug) GetSystem

func (*FailureAssociationRulesHistoryRow_Bug) ProtoMessage

func (*FailureAssociationRulesHistoryRow_Bug) ProtoMessage()

func (*FailureAssociationRulesHistoryRow_Bug) ProtoReflect

func (*FailureAssociationRulesHistoryRow_Bug) Reset

func (*FailureAssociationRulesHistoryRow_Bug) String

type FailureAttributeRow

type FailureAttributeRow struct {

	// The LUCI project that the test failure belongs to.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The test results system from which the test originated.
	//
	// Currently, the only valid value is "resultdb".
	TestResultSystem string `protobuf:"bytes,2,opt,name=test_result_system,json=testResultSystem,proto3" json:"test_result_system,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,3,opt,name=ingested_invocation_id,json=ingestedInvocationId,proto3" json:"ingested_invocation_id,omitempty"`
	// The identity of the test result in the test results system. Together
	// with the test results sytstem, this uniquely identifies the test result
	// that was clustered.
	//
	// For test results in ResultDB, the format is:
	// "invocations/{INVOCATION_ID}/tests/{URL_ESCAPED_TEST_ID}/results/{RESULT_ID}"
	// Where INVOCATION_ID, URL_ESCAPED_TEST_ID and RESULT_ID are values
	// defined in ResultDB.
	//
	// Note that the test result ID is split over two fields (test_result_system,
	// test_result_id), rather than as one field with a record type, so that
	// BigQuery clustering can be defined over the ID (not possible if a
	// record type was used).
	TestResultId string `protobuf:"bytes,4,opt,name=test_result_id,json=testResultId,proto3" json:"test_result_id,omitempty"`
	// The test result partition time identifies the beginning of the test
	// result retention period, and is equal to the time the ingested invocation
	// was created in Spanner.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// The number of test runs that filtered out the test due to this failure.
	//
	// Conceptually, a test scheduler may decide to filter out certain tests when
	// it sees the tests failed in some places. This field records the number of
	// test runs that filerterd out the test due to this failure. The exact
	// attribution rule (to determine which failures triggered the test filtering)
	// is up to the implementation.
	//
	// For now, this field records the number of skipped runs caused by
	// go/cros-test-filtering, and the attribution rule is defined in
	// go/attribute-test-filtering-events-to-failures.
	AttributedFilteredRunCount int64 `` /* 144-byte string literal not displayed */
	// contains filtered or unexported fields
}

FailureAttributeRow represents a row in a BigQuery table, `failure_attrbiutes`, that records the additional attributes of a test failure. Next ID: 7.

func (*FailureAttributeRow) Descriptor deprecated

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

Deprecated: Use FailureAttributeRow.ProtoReflect.Descriptor instead.

func (*FailureAttributeRow) GetAttributedFilteredRunCount

func (x *FailureAttributeRow) GetAttributedFilteredRunCount() int64

func (*FailureAttributeRow) GetIngestedInvocationId

func (x *FailureAttributeRow) GetIngestedInvocationId() string

func (*FailureAttributeRow) GetPartitionTime

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

func (*FailureAttributeRow) GetProject

func (x *FailureAttributeRow) GetProject() string

func (*FailureAttributeRow) GetTestResultId

func (x *FailureAttributeRow) GetTestResultId() string

func (*FailureAttributeRow) GetTestResultSystem

func (x *FailureAttributeRow) GetTestResultSystem() string

func (*FailureAttributeRow) ProtoMessage

func (*FailureAttributeRow) ProtoMessage()

func (*FailureAttributeRow) ProtoReflect

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

func (*FailureAttributeRow) Reset

func (x *FailureAttributeRow) Reset()

func (*FailureAttributeRow) String

func (x *FailureAttributeRow) String() string

type GroupedChangepointRow

type GroupedChangepointRow struct {

	// The LUCI Project. E.g. "chromium".
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The identity of the test.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Hash of the variant, as 16 lowercase hexadecimal characters.
	// E.g. "96c68dc946ab4068".
	VariantHash string `protobuf:"bytes,3,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// Hash of the source branch, as 16 lowercase hexadecimal characters.
	RefHash string `protobuf:"bytes,4,opt,name=ref_hash,json=refHash,proto3" json:"ref_hash,omitempty"`
	// Describes one specific way of running the test, e.g. a specific bucket,
	// builder and a test suite.
	//
	// This will be encoded as a JSON object like
	// {"builder":"linux-rel","os":"Ubuntu-18.04",...}
	// to take advantage of BigQuery's JSON support, so that the query will only
	// be billed for the variant keys it reads.
	//
	// In the protocol buffer, it must be a string as per
	// https://cloud.google.com/bigquery/docs/write-api#data_type_conversions
	Variant string `protobuf:"bytes,5,opt,name=variant,proto3" json:"variant,omitempty"`
	// The branch in source control.
	Ref *v1.SourceRef `protobuf:"bytes,6,opt,name=ref,proto3" json:"ref,omitempty"`
	// Unexpected source verdict rate after this changepoint.
	UnexpectedSourceVerdictRate float64 `` /* 148-byte string literal not displayed */
	// Unexpected source verdict rate of the segment before this changepoint.
	PreviousUnexpectedSourceVerdictRate float64 `` /* 174-byte string literal not displayed */
	// This nominal end position of the segment before this changepoint.
	PreviousNominalEndPosition int64 `` /* 144-byte string literal not displayed */
	// The nominal start position of the segment after this changepoint.
	// In other words, the nominal position of this changepoint.
	StartPosition int64 `protobuf:"varint,10,opt,name=start_position,json=startPosition,proto3" json:"start_position,omitempty"`
	// The lower bound of the changepoint position in a 99% two-tailed
	// confidence interval. Inclusive.
	StartPositionLowerBound_99Th int64 `` /* 150-byte string literal not displayed */
	// The upper bound of the changepoint position in a 99% two-tailed
	// confidence interval. Inclusive.
	StartPositionUpperBound_99Th int64 `` /* 150-byte string literal not displayed */
	// The nominal start hour of the segment after this changepoint.
	// In other words, the nominal hour of this changepoint.
	StartHour *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=start_hour,json=startHour,proto3" json:"start_hour,omitempty"`
	// start_hour_week is a timestamp representing the start of a week (Sunday at 00:00:00 AM UTC)
	// A week in this context refers to the period from Sunday 00:00:00 AM UTC (inclusive)
	// to the following Sunday 00:00:00 AM UTC (exclusive).
	StartHourWeek *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=start_hour_week,json=startHourWeek,proto3" json:"start_hour_week,omitempty"`
	// Ranking of the test ID within the LUCI project, sorted alphabetically by test ID.
	TestIdNum int64 `protobuf:"varint,15,opt,name=test_id_num,json=testIdNum,proto3" json:"test_id_num,omitempty"`
	// Identifier of the changepoint group.
	// Rows belong to the same changepoint group if they have the same version and group_id.
	// This identifier is a concatenation of the lexicographically smallest
	// (project, test_id, variant_hash, ref_hash, start_position) tuple within this group.
	GroupId string `protobuf:"bytes,16,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
	// Server timestamp for the version of grouping used.
	// All rows exported in the same task share the same version.
	// This field is used to identify the latest grouped changepoint rows.
	Version *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

Represents a grouped changepoint of a test variant on a source branch at a point in time.

func (*GroupedChangepointRow) Descriptor deprecated

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

Deprecated: Use GroupedChangepointRow.ProtoReflect.Descriptor instead.

func (*GroupedChangepointRow) GetGroupId

func (x *GroupedChangepointRow) GetGroupId() string

func (*GroupedChangepointRow) GetPreviousNominalEndPosition

func (x *GroupedChangepointRow) GetPreviousNominalEndPosition() int64

func (*GroupedChangepointRow) GetPreviousUnexpectedSourceVerdictRate

func (x *GroupedChangepointRow) GetPreviousUnexpectedSourceVerdictRate() float64

func (*GroupedChangepointRow) GetProject

func (x *GroupedChangepointRow) GetProject() string

func (*GroupedChangepointRow) GetRef

func (x *GroupedChangepointRow) GetRef() *v1.SourceRef

func (*GroupedChangepointRow) GetRefHash

func (x *GroupedChangepointRow) GetRefHash() string

func (*GroupedChangepointRow) GetStartHour

func (x *GroupedChangepointRow) GetStartHour() *timestamppb.Timestamp

func (*GroupedChangepointRow) GetStartHourWeek

func (x *GroupedChangepointRow) GetStartHourWeek() *timestamppb.Timestamp

func (*GroupedChangepointRow) GetStartPosition

func (x *GroupedChangepointRow) GetStartPosition() int64

func (*GroupedChangepointRow) GetStartPositionLowerBound_99Th

func (x *GroupedChangepointRow) GetStartPositionLowerBound_99Th() int64

func (*GroupedChangepointRow) GetStartPositionUpperBound_99Th

func (x *GroupedChangepointRow) GetStartPositionUpperBound_99Th() int64

func (*GroupedChangepointRow) GetTestId

func (x *GroupedChangepointRow) GetTestId() string

func (*GroupedChangepointRow) GetTestIdNum

func (x *GroupedChangepointRow) GetTestIdNum() int64

func (*GroupedChangepointRow) GetUnexpectedSourceVerdictRate

func (x *GroupedChangepointRow) GetUnexpectedSourceVerdictRate() float64

func (*GroupedChangepointRow) GetVariant

func (x *GroupedChangepointRow) GetVariant() string

func (*GroupedChangepointRow) GetVariantHash

func (x *GroupedChangepointRow) GetVariantHash() string

func (*GroupedChangepointRow) GetVersion

func (x *GroupedChangepointRow) GetVersion() *timestamppb.Timestamp

func (*GroupedChangepointRow) ProtoMessage

func (*GroupedChangepointRow) ProtoMessage()

func (*GroupedChangepointRow) ProtoReflect

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

func (*GroupedChangepointRow) Reset

func (x *GroupedChangepointRow) Reset()

func (*GroupedChangepointRow) String

func (x *GroupedChangepointRow) String() string

type Segment

type Segment struct {

	// If set, means the segment commenced with a changepoint.
	// If unset, means the segment began with the beginning of recorded
	// history for the segment. (All recorded history for a test variant branch
	// is deleted after 90 days of no results, so this means there were
	// no results for at least 90 days before the segment.)
	HasStartChangepoint bool `protobuf:"varint,1,opt,name=has_start_changepoint,json=hasStartChangepoint,proto3" json:"has_start_changepoint,omitempty"`
	// The nominal commit position at which the segment starts (inclusive).
	// Guaranteed to be strictly greater than the end_position of the
	// chronologically previous segment (if any).
	// If this segment has a starting changepoint, this is the nominal position
	// of the changepoint (when the new test behaviour started).
	// If this segment does not have a starting changepoint, this is the
	// simply the first commit position in the known history of the test.
	StartPosition int64 `protobuf:"varint,2,opt,name=start_position,json=startPosition,proto3" json:"start_position,omitempty"`
	// The lower bound of the starting changepoint position in a 99% two-tailed
	// confidence interval. Inclusive.
	// Only set if has_start_changepoint is set.
	StartPositionLowerBound_99Th int64 `` /* 149-byte string literal not displayed */
	// The upper bound of the starting changepoint position in a 99% two-tailed
	// confidence interval. Inclusive.
	// Only set if has_start_changepoint is set.
	// When has_start_changepoint is set, the following invariant holds:
	// previous_segment.start_position <= start_position_lower_bound_99th <= start_position <= start_position_upper_bound_99th
	// where previous_segment refers to the chronologically previous segment.
	StartPositionUpperBound_99Th int64 `` /* 149-byte string literal not displayed */
	// The earliest hour a test verdict at the indicated start_position
	// was recorded. Gives an approximate upper bound on the timestamp the
	// changepoint occurred, for systems which need to filter by date.
	StartHour *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=start_hour,json=startHour,proto3" json:"start_hour,omitempty"`
	// The nominal commit position at which the segment ends (inclusive).
	// This is either the last recorded commit position in the test history
	// (for this test variant branch), or the position of the last verdict
	// seen before the next detected changepoint.
	EndPosition int64 `protobuf:"varint,6,opt,name=end_position,json=endPosition,proto3" json:"end_position,omitempty"`
	// The latest hour a test verdict at the indicated end_position
	// was recorded. Gives an approximate lower bound on the  timestamp
	// the changepoint occurred, for systems which need to filter by date.
	EndHour *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=end_hour,json=endHour,proto3" json:"end_hour,omitempty"`
	// Total number of test results/runs/verdicts in the segment.
	Counts *Segment_Counts `protobuf:"bytes,8,opt,name=counts,proto3" json:"counts,omitempty"`
	// contains filtered or unexported fields
}

Represents a period in history where the test had a consistent failure and flake rate. Segments are separated by changepoints. Each segment captures information about the changepoint which started it.

func (*Segment) Descriptor deprecated

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

Deprecated: Use Segment.ProtoReflect.Descriptor instead.

func (*Segment) GetCounts

func (x *Segment) GetCounts() *Segment_Counts

func (*Segment) GetEndHour

func (x *Segment) GetEndHour() *timestamppb.Timestamp

func (*Segment) GetEndPosition

func (x *Segment) GetEndPosition() int64

func (*Segment) GetHasStartChangepoint

func (x *Segment) GetHasStartChangepoint() bool

func (*Segment) GetStartHour

func (x *Segment) GetStartHour() *timestamppb.Timestamp

func (*Segment) GetStartPosition

func (x *Segment) GetStartPosition() int64

func (*Segment) GetStartPositionLowerBound_99Th

func (x *Segment) GetStartPositionLowerBound_99Th() int64

func (*Segment) GetStartPositionUpperBound_99Th

func (x *Segment) GetStartPositionUpperBound_99Th() int64

func (*Segment) ProtoMessage

func (*Segment) ProtoMessage()

func (*Segment) ProtoReflect

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

func (*Segment) Reset

func (x *Segment) Reset()

func (*Segment) String

func (x *Segment) String() string

type Segment_Counts

type Segment_Counts struct {

	// The number of unexpected non-skipped test results.
	UnexpectedResults int64 `protobuf:"varint,1,opt,name=unexpected_results,json=unexpectedResults,proto3" json:"unexpected_results,omitempty"`
	// The total number of non-skipped test results.
	TotalResults int64 `protobuf:"varint,2,opt,name=total_results,json=totalResults,proto3" json:"total_results,omitempty"`
	// The number of expected passed test results.
	ExpectedPassedResults int64 `` /* 128-byte string literal not displayed */
	// The number of expected failed test results.
	ExpectedFailedResults int64 `` /* 128-byte string literal not displayed */
	// The number of expected crashed test results.
	ExpectedCrashedResults int64 `` /* 131-byte string literal not displayed */
	// The number of expected aborted test results.
	ExpectedAbortedResults int64 `` /* 131-byte string literal not displayed */
	// The number of unexpected passed test results.
	UnexpectedPassedResults int64 `` /* 134-byte string literal not displayed */
	// The number of unexpected failed test results.
	UnexpectedFailedResults int64 `` /* 134-byte string literal not displayed */
	// The number of unexpected crashed test results.
	UnexpectedCrashedResults int64 `` /* 137-byte string literal not displayed */
	// The number of unexpected aborted test results.
	UnexpectedAbortedResults int64 `` /* 137-byte string literal not displayed */
	// The number of test runs which had an unexpected test result but were
	// not retried.
	UnexpectedUnretriedRuns int64 `` /* 133-byte string literal not displayed */
	// The number of test run which had an unexpected test result, were
	// retried, and still contained only unexpected test results.
	UnexpectedAfterRetryRuns int64 `` /* 138-byte string literal not displayed */
	// The number of test runs which had an unexpected test result, were
	// retried, and eventually recorded an expected test result.
	FlakyRuns int64 `protobuf:"varint,5,opt,name=flaky_runs,json=flakyRuns,proto3" json:"flaky_runs,omitempty"`
	// The total number of test runs.
	TotalRuns int64 `protobuf:"varint,6,opt,name=total_runs,json=totalRuns,proto3" json:"total_runs,omitempty"`
	// The number of source verdicts with only unexpected test results.
	// A source verdict refers to all test results at a commit position.
	UnexpectedVerdicts int64 `protobuf:"varint,7,opt,name=unexpected_verdicts,json=unexpectedVerdicts,proto3" json:"unexpected_verdicts,omitempty"`
	// The number of source verdicts with a mix of expected and unexpected test results.
	// A source verdict refers to all test results at a commit position.
	// As such, is a signal of either in- or cross- build flakiness.
	FlakyVerdicts int64 `protobuf:"varint,8,opt,name=flaky_verdicts,json=flakyVerdicts,proto3" json:"flaky_verdicts,omitempty"`
	// The total number of source verdicts.
	// A source verdict refers to all test results at a commit position.
	// As such, this is also the total number of source positions with
	// test results in the segment.
	TotalVerdicts int64 `protobuf:"varint,9,opt,name=total_verdicts,json=totalVerdicts,proto3" json:"total_verdicts,omitempty"`
	// contains filtered or unexported fields
}

Counts of test results, runs and verdicts over a time period. Includes only test results for submitted code changes. This is defined as: (1) where the code under test was already submitted when the test ran

(e.g. postsubmit builders)

(2) where the code under test was not submitted at the time the test ran,

but was submitted immediately after (e.g. because the tests ran as part
of a tryjob, the presubmit run the tryjob was triggered by succeeded,
and submitted code as a result).
Currently, when test results lead to CL submission via recycled CQ runs,
they are not counted.

Next ID: 18

func (*Segment_Counts) Descriptor deprecated

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

Deprecated: Use Segment_Counts.ProtoReflect.Descriptor instead.

func (*Segment_Counts) GetExpectedAbortedResults

func (x *Segment_Counts) GetExpectedAbortedResults() int64

func (*Segment_Counts) GetExpectedCrashedResults

func (x *Segment_Counts) GetExpectedCrashedResults() int64

func (*Segment_Counts) GetExpectedFailedResults

func (x *Segment_Counts) GetExpectedFailedResults() int64

func (*Segment_Counts) GetExpectedPassedResults

func (x *Segment_Counts) GetExpectedPassedResults() int64

func (*Segment_Counts) GetFlakyRuns

func (x *Segment_Counts) GetFlakyRuns() int64

func (*Segment_Counts) GetFlakyVerdicts

func (x *Segment_Counts) GetFlakyVerdicts() int64

func (*Segment_Counts) GetTotalResults

func (x *Segment_Counts) GetTotalResults() int64

func (*Segment_Counts) GetTotalRuns

func (x *Segment_Counts) GetTotalRuns() int64

func (*Segment_Counts) GetTotalVerdicts

func (x *Segment_Counts) GetTotalVerdicts() int64

func (*Segment_Counts) GetUnexpectedAbortedResults

func (x *Segment_Counts) GetUnexpectedAbortedResults() int64

func (*Segment_Counts) GetUnexpectedAfterRetryRuns

func (x *Segment_Counts) GetUnexpectedAfterRetryRuns() int64

func (*Segment_Counts) GetUnexpectedCrashedResults

func (x *Segment_Counts) GetUnexpectedCrashedResults() int64

func (*Segment_Counts) GetUnexpectedFailedResults

func (x *Segment_Counts) GetUnexpectedFailedResults() int64

func (*Segment_Counts) GetUnexpectedPassedResults

func (x *Segment_Counts) GetUnexpectedPassedResults() int64

func (*Segment_Counts) GetUnexpectedResults

func (x *Segment_Counts) GetUnexpectedResults() int64

func (*Segment_Counts) GetUnexpectedUnretriedRuns

func (x *Segment_Counts) GetUnexpectedUnretriedRuns() int64

func (*Segment_Counts) GetUnexpectedVerdicts

func (x *Segment_Counts) GetUnexpectedVerdicts() int64

func (*Segment_Counts) ProtoMessage

func (*Segment_Counts) ProtoMessage()

func (*Segment_Counts) ProtoReflect

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

func (*Segment_Counts) Reset

func (x *Segment_Counts) Reset()

func (*Segment_Counts) String

func (x *Segment_Counts) String() string

type TestResultRow

type TestResultRow struct {

	// The LUCI Project. E.g. "chromium".
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// Is a unique identifier of the test in a LUCI project.
	// Refer to TestResult.test_id for details.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Describes one specific way of running the test,
	// e.g. a specific bucket, builder and a test suite.
	//
	// This will be encoded as a JSON object like
	// {"builder":"linux-rel","os":"Ubuntu-18.04",...}
	// to take advantage of BigQuery's JSON support, so that
	// the query will only be billed for the variant
	// keys it reads.
	//
	// In the protocol buffer, it must be a string as per
	// https://cloud.google.com/bigquery/docs/write-api#data_type_conversions
	Variant string `protobuf:"bytes,3,opt,name=variant,proto3" json:"variant,omitempty"`
	// A hash of the variant, encoded as lowercase hexadecimal characters.
	// The computation is an implementation detail of ResultDB.
	VariantHash string `protobuf:"bytes,4,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// Invocation is the ResultDB invocation marked is_export_root
	// that the test result is being exported under.
	//
	// Note: The test result may not have been directly uploaded to
	// this invocation, but rather one of its included invocations.
	// See `parent`.
	Invocation *TestResultRow_InvocationRecord `protobuf:"bytes,5,opt,name=invocation,proto3" json:"invocation,omitempty"`
	// Partition_time is used to partition the table.
	// It is the time when exported invocation was created in Spanner.
	// Note: it is NOT the time when the row is inserted into BigQuery table.
	// https://cloud.google.com/bigquery/docs/creating-column-partitions#limitations
	// mentions "The partitioning column must be a top-level field."
	// So we keep this column here instead of adding the CreateTime to InvocationRecord.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// Parent contains info of the result's immediate parent invocation.
	Parent *TestResultRow_ParentInvocationRecord `protobuf:"bytes,7,opt,name=parent,proto3" json:"parent,omitempty"`
	// The global identifier of a test result in ResultDB.
	// Format:
	// "invocations/{INVOCATION_ID}/tests/{URL_ESCAPED_TEST_ID}/results/{RESULT_ID}".
	Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
	// Identifies a test result in a given invocation and test id.
	ResultId string `protobuf:"bytes,9,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"`
	// Expected is a flag indicating whether the result of test case execution is
	// expected. Refer to TestResult.Expected for details.
	Expected bool `protobuf:"varint,10,opt,name=expected,proto3" json:"expected,omitempty"`
	// Status of the test result.
	Status v1.TestResultStatus `protobuf:"varint,11,opt,name=status,proto3,enum=luci.analysis.v1.TestResultStatus" json:"status,omitempty"`
	// A human-readable explanation of the result, in HTML.
	// MUST be sanitized before rendering in the browser.
	SummaryHtml string `protobuf:"bytes,12,opt,name=summary_html,json=summaryHtml,proto3" json:"summary_html,omitempty"`
	// The point in time when the test case started to execute.
	StartTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// Duration of the test case execution in seconds.
	DurationSecs float64 `protobuf:"fixed64,14,opt,name=duration_secs,json=durationSecs,proto3" json:"duration_secs,omitempty"`
	// Tags contains metadata for this test result.
	// It might describe this particular execution or the test case.
	Tags []*v1.StringPair `protobuf:"bytes,15,rep,name=tags,proto3" json:"tags,omitempty"`
	// Information about failed tests.
	// e.g. the assertion failure message.
	FailureReason *v1.FailureReason `protobuf:"bytes,16,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
	// Reasoning behind a test skip, in machine-readable form.
	// Only set when status is SKIP.
	// It is the string representation of luci.analysis.v1.SkipReason when
	// specified and "" when the skip reason is unspecified.
	SkipReason string `protobuf:"bytes,17,opt,name=skip_reason,json=skipReason,proto3" json:"skip_reason,omitempty"`
	// Arbitrary JSON object that contains structured, domain-specific properties
	// of the test result. Stored here stringified as this is the only protocol
	// buffer type that maps to the JSON BigQuery type:
	// https://cloud.google.com/bigquery/docs/write-api#data_type_conversions
	Properties string `protobuf:"bytes,18,opt,name=properties,proto3" json:"properties,omitempty"`
	// The code sources tested. Obtained from one of the verdict's test results.
	// If the invocation which contained the test result
	// specified that code sources directly, this is those sources.
	// If the code sources were marked as are inherited from the including
	// invocation, this is the resolved code sources (if they could be resolved).
	// Unset otherwise.
	Sources *v1.Sources `protobuf:"bytes,19,opt,name=sources,proto3" json:"sources,omitempty"`
	// The branch in source control that was tested, if known.
	// For example, the `refs/heads/main` branch in the `chromium/src` repo
	// hosted by `chromium.googlesource.com`.
	// This is a subset of the information in the `sources` field.
	SourceRef *v1.SourceRef `protobuf:"bytes,20,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	// Hash of the source_ref field, as 16 lowercase hexadecimal characters.
	// Can be used to uniquely identify a branch in a source code
	// version control system.
	SourceRefHash string `protobuf:"bytes,21,opt,name=source_ref_hash,json=sourceRefHash,proto3" json:"source_ref_hash,omitempty"`
	// Metadata of the test case,
	// e.g. the original test name and test location.
	TestMetadata *v1.TestMetadata `protobuf:"bytes,22,opt,name=test_metadata,json=testMetadata,proto3" json:"test_metadata,omitempty"`
	// The time when the server started inserting the row into the BigQuery
	// table.
	//
	// While this is approximately the same as the time the row became visible in the
	// BigQuery table, it will not match exactly due factors such as:
	// - RPC latency,
	// - server processing delay,
	// - server clock drift.
	// For these reasons, a row with a later insert_time may actually have
	// been visible before a row with an earlier insert_time.
	//
	// If you require timestamping that lines up with table visiblity, e.g.
	// for incremental extracts, you may better off using the APPENDS Table-valued
	// function that is part of the BigQuery change history feature:
	// https://cloud.google.com/bigquery/docs/change-history
	InsertTime *timestamppb.Timestamp `protobuf:"bytes,23,opt,name=insert_time,json=insertTime,proto3" json:"insert_time,omitempty"`
	// contains filtered or unexported fields
}

Represents a test result exported to BigQuery.

A test result is the outcome of a single execution of a test variant (a way of running a test) in an invocation (a container of test results, such as a build).

BigQuery tables using this schema will use the following settings:

  • Partition by TIMESTAMP_TRUNC(partition_time, DAY), retain data for 510 days.
  • Cluster by project, test_id.

NextId: 24

func (*TestResultRow) Descriptor deprecated

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

Deprecated: Use TestResultRow.ProtoReflect.Descriptor instead.

func (*TestResultRow) GetDurationSecs

func (x *TestResultRow) GetDurationSecs() float64

func (*TestResultRow) GetExpected

func (x *TestResultRow) GetExpected() bool

func (*TestResultRow) GetFailureReason

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

func (*TestResultRow) GetInsertTime

func (x *TestResultRow) GetInsertTime() *timestamppb.Timestamp

func (*TestResultRow) GetInvocation

func (x *TestResultRow) GetInvocation() *TestResultRow_InvocationRecord

func (*TestResultRow) GetName

func (x *TestResultRow) GetName() string

func (*TestResultRow) GetParent

func (*TestResultRow) GetPartitionTime

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

func (*TestResultRow) GetProject

func (x *TestResultRow) GetProject() string

func (*TestResultRow) GetProperties

func (x *TestResultRow) GetProperties() string

func (*TestResultRow) GetResultId

func (x *TestResultRow) GetResultId() string

func (*TestResultRow) GetSkipReason

func (x *TestResultRow) GetSkipReason() string

func (*TestResultRow) GetSourceRef

func (x *TestResultRow) GetSourceRef() *v1.SourceRef

func (*TestResultRow) GetSourceRefHash

func (x *TestResultRow) GetSourceRefHash() string

func (*TestResultRow) GetSources

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

func (*TestResultRow) GetStartTime

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

func (*TestResultRow) GetStatus

func (x *TestResultRow) GetStatus() v1.TestResultStatus

func (*TestResultRow) GetSummaryHtml

func (x *TestResultRow) GetSummaryHtml() string

func (*TestResultRow) GetTags

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

func (*TestResultRow) GetTestId

func (x *TestResultRow) GetTestId() string

func (*TestResultRow) GetTestMetadata

func (x *TestResultRow) GetTestMetadata() *v1.TestMetadata

func (*TestResultRow) GetVariant

func (x *TestResultRow) GetVariant() string

func (*TestResultRow) GetVariantHash

func (x *TestResultRow) GetVariantHash() string

func (*TestResultRow) ProtoMessage

func (*TestResultRow) ProtoMessage()

func (*TestResultRow) ProtoReflect

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

func (*TestResultRow) Reset

func (x *TestResultRow) Reset()

func (*TestResultRow) String

func (x *TestResultRow) String() string

type TestResultRow_InvocationRecord

type TestResultRow_InvocationRecord struct {

	// The ID of the invocation.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The LUCI Realm the invocation exists under.
	// For example, "chromium:try".
	Realm string `protobuf:"bytes,2,opt,name=realm,proto3" json:"realm,omitempty"`
	// contains filtered or unexported fields
}

func (*TestResultRow_InvocationRecord) Descriptor deprecated

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

Deprecated: Use TestResultRow_InvocationRecord.ProtoReflect.Descriptor instead.

func (*TestResultRow_InvocationRecord) GetId

func (*TestResultRow_InvocationRecord) GetRealm

func (x *TestResultRow_InvocationRecord) GetRealm() string

func (*TestResultRow_InvocationRecord) ProtoMessage

func (*TestResultRow_InvocationRecord) ProtoMessage()

func (*TestResultRow_InvocationRecord) ProtoReflect

func (*TestResultRow_InvocationRecord) Reset

func (x *TestResultRow_InvocationRecord) Reset()

func (*TestResultRow_InvocationRecord) String

type TestResultRow_ParentInvocationRecord

type TestResultRow_ParentInvocationRecord struct {

	// The ID of the invocation.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Tags represents Invocation-level string key-value pairs.
	// A key can be repeated.
	Tags []*v1.StringPair `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
	// The LUCI Realm the invocation exists under.
	// For example, "chromium:try".
	Realm string `protobuf:"bytes,3,opt,name=realm,proto3" json:"realm,omitempty"`
	// Arbitrary JSON object that contains structured, domain-specific properties
	// of the invocation. Stored here stringified as this is the only protocol
	// buffer type that maps to the JSON BigQuery type:
	// https://cloud.google.com/bigquery/docs/write-api#data_type_conversions
	Properties string `protobuf:"bytes,4,opt,name=properties,proto3" json:"properties,omitempty"`
	// contains filtered or unexported fields
}

ParentInvocationRecord for a test result is the immediate parent invocation that directly contains the test result.

func (*TestResultRow_ParentInvocationRecord) Descriptor deprecated

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

Deprecated: Use TestResultRow_ParentInvocationRecord.ProtoReflect.Descriptor instead.

func (*TestResultRow_ParentInvocationRecord) GetId

func (*TestResultRow_ParentInvocationRecord) GetProperties

func (x *TestResultRow_ParentInvocationRecord) GetProperties() string

func (*TestResultRow_ParentInvocationRecord) GetRealm

func (*TestResultRow_ParentInvocationRecord) GetTags

func (*TestResultRow_ParentInvocationRecord) ProtoMessage

func (*TestResultRow_ParentInvocationRecord) ProtoMessage()

func (*TestResultRow_ParentInvocationRecord) ProtoReflect

func (*TestResultRow_ParentInvocationRecord) Reset

func (*TestResultRow_ParentInvocationRecord) String

type TestVariantBranchRow

type TestVariantBranchRow struct {

	// The LUCI Project. E.g. "chromium".
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The identity of the test.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Hash of the variant, as 16 lowercase hexadecimal characters.
	// E.g. "96c68dc946ab4068".
	VariantHash string `protobuf:"bytes,3,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// Hash of the source branch, as 16 lowercase hexadecimal characters.
	RefHash string `protobuf:"bytes,4,opt,name=ref_hash,json=refHash,proto3" json:"ref_hash,omitempty"`
	// Describes one specific way of running the test, e.g. a specific bucket,
	// builder and a test suite.
	//
	// This will be encoded as a JSON object like
	// {"builder":"linux-rel","os":"Ubuntu-18.04",...}
	// to take advantage of BigQuery's JSON support, so that the query will only
	// be billed for the variant keys it reads.
	//
	// In the protocol buffer, it must be a string as per
	// https://cloud.google.com/bigquery/docs/write-api#data_type_conversions
	Variant string `protobuf:"bytes,5,opt,name=variant,proto3" json:"variant,omitempty"`
	// The branch in source control.
	Ref *v1.SourceRef `protobuf:"bytes,6,opt,name=ref,proto3" json:"ref,omitempty"`
	// The test history represented as a set of [start commit position,
	// end commit position] segments, where segments have statistically
	// different failure and/or flake rates. The segments are ordered so that
	// the most recent segment appears first.
	// If a client is only interested in the current failure/flake rate, they
	// can just query the first segment.
	Segments []*Segment `protobuf:"bytes,7,rep,name=segments,proto3" json:"segments,omitempty"`
	// This field has value = 1 if the test variant has any unexpected
	// test results in the last 90 days (excluding presubmit runs that do not
	// results  in CL submission). It has value = 0 otherwise.
	// It is int value instead of bool because we use it as partitioning key
	// (BigQuery does not support bool as partitioning key).
	HasRecentUnexpectedResults int64 `` /* 144-byte string literal not displayed */
	// The Spanner commit timestamp that reflects the version of data that was
	// exported. Rows with later timestamps are strictly newer.
	// In the test_variant_segments table, only one version of analysis
	// will be present for a given (project, test_id, variant_hash, ref_hash).
	Version *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=version,proto3" json:"version,omitempty"`
	// contains filtered or unexported fields
}

Represents analysis for a test variant on a source branch at a point in time.

func (*TestVariantBranchRow) Descriptor deprecated

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

Deprecated: Use TestVariantBranchRow.ProtoReflect.Descriptor instead.

func (*TestVariantBranchRow) GetHasRecentUnexpectedResults

func (x *TestVariantBranchRow) GetHasRecentUnexpectedResults() int64

func (*TestVariantBranchRow) GetProject

func (x *TestVariantBranchRow) GetProject() string

func (*TestVariantBranchRow) GetRef

func (x *TestVariantBranchRow) GetRef() *v1.SourceRef

func (*TestVariantBranchRow) GetRefHash

func (x *TestVariantBranchRow) GetRefHash() string

func (*TestVariantBranchRow) GetSegments

func (x *TestVariantBranchRow) GetSegments() []*Segment

func (*TestVariantBranchRow) GetTestId

func (x *TestVariantBranchRow) GetTestId() string

func (*TestVariantBranchRow) GetVariant

func (x *TestVariantBranchRow) GetVariant() string

func (*TestVariantBranchRow) GetVariantHash

func (x *TestVariantBranchRow) GetVariantHash() string

func (*TestVariantBranchRow) GetVersion

func (x *TestVariantBranchRow) GetVersion() *timestamppb.Timestamp

func (*TestVariantBranchRow) ProtoMessage

func (*TestVariantBranchRow) ProtoMessage()

func (*TestVariantBranchRow) ProtoReflect

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

func (*TestVariantBranchRow) Reset

func (x *TestVariantBranchRow) Reset()

func (*TestVariantBranchRow) String

func (x *TestVariantBranchRow) String() string

type TestVerdictRow

type TestVerdictRow struct {

	// The LUCI Project. E.g. "chromium".
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// Is a unique identifier of the test in a LUCI project.
	// Refer to TestResult.test_id for details.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Describes one specific way of running the test,
	// e.g. a specific bucket, builder and a test suite.
	//
	// This will be encoded as a JSON object like
	// {"builder":"linux-rel","os":"Ubuntu-18.04",...}
	// to take advantage of BigQuery's JSON support, so that
	// the query will only be billed for the variant
	// keys it reads.
	//
	// In the protocol buffer, it must be a string as per
	// https://cloud.google.com/bigquery/docs/write-api#data_type_conversions
	Variant string `protobuf:"bytes,3,opt,name=variant,proto3" json:"variant,omitempty"`
	// A hash of the variant, encoded as lowercase hexadecimal characters.
	// The computation is an implementation detail of ResultDB.
	VariantHash string `protobuf:"bytes,4,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// Invocation is the ResultDB invocation.
	//
	// This the top-level invocation for the test results of the verdict;
	// individual test results may not have been directly uploaded to
	// this invocation, but rather its included invocations. For example,
	// the top-level invocation may be a build, which includes multiple
	// invocations for swarming tasks within that build. The test results
	// that form part of this verdict may actually have been uploaded to
	// the invocations of those swarming tasks.
	Invocation *TestVerdictRow_InvocationRecord `protobuf:"bytes,5,opt,name=invocation,proto3" json:"invocation,omitempty"`
	// Partition_time is used to partition the table.
	// It is the time when exported invocation was created in Spanner.
	// Note: it is NOT the time when the row is inserted into BigQuery table.
	// https://cloud.google.com/bigquery/docs/creating-column-partitions#limitations
	// mentions "The partitioning column must be a top-level field."
	// So we keep this column here instead of adding the CreateTime to InvocationRecord.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// Status of the test verdict. E.g. EXPECTED, UNEXPECTED, FLAKY,
	// UNEXPECTEDLY_SKIPPED, EXONERATED.
	Status v1.TestVerdictStatus `protobuf:"varint,7,opt,name=status,proto3,enum=luci.analysis.v1.TestVerdictStatus" json:"status,omitempty"`
	// The test results that are part of the verdict. Usually there is
	// only one test result per verdict, but in case of retries there
	// may be more.
	Results []*TestVerdictRow_TestResult `protobuf:"bytes,8,rep,name=results,proto3" json:"results,omitempty"`
	// The exoneration(s) recorded against the verdict.
	//
	// To determine if a verdict has an exoneration at all in a query,
	// use `ARRAY_LENGTH(exonerations) > 0`.
	Exonerations []*TestVerdictRow_Exoneration `protobuf:"bytes,9,rep,name=exonerations,proto3" json:"exonerations,omitempty"`
	// Statistics about the test results that are part of the verdict.
	Counts *TestVerdictRow_Counts `protobuf:"bytes,10,opt,name=counts,proto3" json:"counts,omitempty"`
	// The buildbucket build the results were collected as part of, if any.
	BuildbucketBuild *TestVerdictRow_BuildbucketBuild `protobuf:"bytes,11,opt,name=buildbucket_build,json=buildbucketBuild,proto3" json:"buildbucket_build,omitempty"`
	// The original presubmit run the results were collected as part of, if any.
	ChangeVerifierRun *TestVerdictRow_ChangeVerifierRun `protobuf:"bytes,12,opt,name=change_verifier_run,json=changeVerifierRun,proto3" json:"change_verifier_run,omitempty"`
	// The code sources tested. Obtained from one of the verdict's test results.
	// If the invocation which contained the test result
	// specified that code sources directly, this is those sources.
	// If the code sources were marked as are inherited from the including
	// invocation, this is the resolved code sources (if they could be resolved).
	// Unset otherwise.
	Sources *v1.Sources `protobuf:"bytes,13,opt,name=sources,proto3" json:"sources,omitempty"`
	// The branch in source control that was tested, if known.
	// For example, the `refs/heads/main` branch in the `chromium/src` repo
	// hosted by `chromium.googlesource.com`.
	// This is a subset of the information in the `sources` field.
	SourceRef *v1.SourceRef `protobuf:"bytes,15,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	// Hash of the source_ref field, as 16 lowercase hexadecimal characters.
	// Can be used to uniquely identify a branch in a source code
	// version control system.
	SourceRefHash string `protobuf:"bytes,16,opt,name=source_ref_hash,json=sourceRefHash,proto3" json:"source_ref_hash,omitempty"`
	// Metadata of the test case,
	// e.g. the original test name and test location.
	TestMetadata *v1.TestMetadata `protobuf:"bytes,14,opt,name=test_metadata,json=testMetadata,proto3" json:"test_metadata,omitempty"`
	// The time when the server started inserting the row into the BigQuery
	// table.
	//
	// While this is approximately the same as the time the row became visible in the
	// BigQuery table, it will not match exactly due factors such as:
	// - RPC latency,
	// - server processing delay,
	// - server clock drift.
	// For these reasons, a row with a later insert_time may actually have
	// been visible before a row with an earlier insert_time.
	//
	// If you require timestamping that lines up with table visiblity, e.g.
	// for incremental extracts, you may better off using the APPENDS Table-valued
	// function that is part of the BigQuery change history feature:
	// https://cloud.google.com/bigquery/docs/change-history
	InsertTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=insert_time,json=insertTime,proto3" json:"insert_time,omitempty"`
	// contains filtered or unexported fields
}

Represents a test verdict exported to BigQuery.

A test verdict summarises the results for a test variant (a way of running a test) in an invocation (a container of test results, such as a build).

BigQuery tables using this schema will use the following settings:

  • Partition by TIMESTAMP_TRUNC(partition_time, DAY), retain data for 510 days.
  • Cluster by project, test_id.

NextId: 18

func (*TestVerdictRow) Descriptor deprecated

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

Deprecated: Use TestVerdictRow.ProtoReflect.Descriptor instead.

func (*TestVerdictRow) GetBuildbucketBuild

func (x *TestVerdictRow) GetBuildbucketBuild() *TestVerdictRow_BuildbucketBuild

func (*TestVerdictRow) GetChangeVerifierRun

func (x *TestVerdictRow) GetChangeVerifierRun() *TestVerdictRow_ChangeVerifierRun

func (*TestVerdictRow) GetCounts

func (x *TestVerdictRow) GetCounts() *TestVerdictRow_Counts

func (*TestVerdictRow) GetExonerations

func (x *TestVerdictRow) GetExonerations() []*TestVerdictRow_Exoneration

func (*TestVerdictRow) GetInsertTime

func (x *TestVerdictRow) GetInsertTime() *timestamppb.Timestamp

func (*TestVerdictRow) GetInvocation

func (x *TestVerdictRow) GetInvocation() *TestVerdictRow_InvocationRecord

func (*TestVerdictRow) GetPartitionTime

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

func (*TestVerdictRow) GetProject

func (x *TestVerdictRow) GetProject() string

func (*TestVerdictRow) GetResults

func (x *TestVerdictRow) GetResults() []*TestVerdictRow_TestResult

func (*TestVerdictRow) GetSourceRef

func (x *TestVerdictRow) GetSourceRef() *v1.SourceRef

func (*TestVerdictRow) GetSourceRefHash

func (x *TestVerdictRow) GetSourceRefHash() string

func (*TestVerdictRow) GetSources

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

func (*TestVerdictRow) GetStatus

func (x *TestVerdictRow) GetStatus() v1.TestVerdictStatus

func (*TestVerdictRow) GetTestId

func (x *TestVerdictRow) GetTestId() string

func (*TestVerdictRow) GetTestMetadata

func (x *TestVerdictRow) GetTestMetadata() *v1.TestMetadata

func (*TestVerdictRow) GetVariant

func (x *TestVerdictRow) GetVariant() string

func (*TestVerdictRow) GetVariantHash

func (x *TestVerdictRow) GetVariantHash() string

func (*TestVerdictRow) ProtoMessage

func (*TestVerdictRow) ProtoMessage()

func (*TestVerdictRow) ProtoReflect

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

func (*TestVerdictRow) Reset

func (x *TestVerdictRow) Reset()

func (*TestVerdictRow) String

func (x *TestVerdictRow) String() string

type TestVerdictRow_BuildbucketBuild

type TestVerdictRow_BuildbucketBuild struct {

	// The identifier of the buildbucket build.
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// The builder the build belongs to.
	Builder *TestVerdictRow_BuildbucketBuild_Builder `protobuf:"bytes,2,opt,name=builder,proto3" json:"builder,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).
	//
	// Notionally luci.analysis.v1.BuildStatus, but string so that we can chop
	// off the BUILD_STATUS_ prefix that would otherwise appear on every value.
	Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	// The gardener rotations which monitor this build.
	GardenerRotations []string `protobuf:"bytes,4,rep,name=gardener_rotations,json=gardenerRotations,proto3" json:"gardener_rotations,omitempty"`
	// contains filtered or unexported fields
}

Information about the buildbucket build which contained the test result.

func (*TestVerdictRow_BuildbucketBuild) Descriptor deprecated

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

Deprecated: Use TestVerdictRow_BuildbucketBuild.ProtoReflect.Descriptor instead.

func (*TestVerdictRow_BuildbucketBuild) GetBuilder

func (*TestVerdictRow_BuildbucketBuild) GetGardenerRotations

func (x *TestVerdictRow_BuildbucketBuild) GetGardenerRotations() []string

func (*TestVerdictRow_BuildbucketBuild) GetId

func (*TestVerdictRow_BuildbucketBuild) GetStatus

func (x *TestVerdictRow_BuildbucketBuild) GetStatus() string

func (*TestVerdictRow_BuildbucketBuild) ProtoMessage

func (*TestVerdictRow_BuildbucketBuild) ProtoMessage()

func (*TestVerdictRow_BuildbucketBuild) ProtoReflect

func (*TestVerdictRow_BuildbucketBuild) Reset

func (*TestVerdictRow_BuildbucketBuild) String

type TestVerdictRow_BuildbucketBuild_Builder

type TestVerdictRow_BuildbucketBuild_Builder struct {

	// The LUCI Project ID.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The build bucket, e.g. "try". Unique within project.
	Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
	// The builder name, e.g. "linux-rel". Unique within bucket.
	Builder string `protobuf:"bytes,3,opt,name=builder,proto3" json:"builder,omitempty"`
	// contains filtered or unexported fields
}

func (*TestVerdictRow_BuildbucketBuild_Builder) Descriptor deprecated

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

Deprecated: Use TestVerdictRow_BuildbucketBuild_Builder.ProtoReflect.Descriptor instead.

func (*TestVerdictRow_BuildbucketBuild_Builder) GetBucket

func (*TestVerdictRow_BuildbucketBuild_Builder) GetBuilder

func (*TestVerdictRow_BuildbucketBuild_Builder) GetProject

func (*TestVerdictRow_BuildbucketBuild_Builder) ProtoMessage

func (*TestVerdictRow_BuildbucketBuild_Builder) ProtoReflect

func (*TestVerdictRow_BuildbucketBuild_Builder) Reset

func (*TestVerdictRow_BuildbucketBuild_Builder) String

type TestVerdictRow_ChangeVerifierRun

type TestVerdictRow_ChangeVerifierRun struct {

	// Identity of the change verifier run that contains this test result.
	// This should be unique per "CQ+1"/"CQ+2" attempt on gerrit.
	//
	// All test results for the same presubmit run will have one
	// partition_time.
	//
	// The format of this value is:
	// "{LUCI_PROJECT}/{LUCI_CV_ID}", e.g.
	// "infra/8988819463854-1-f94732fe20056fd1".
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The mode of the presubmit run (if any).
	// E.g. DRY_RUN, FULL_RUN, QUICK_DRY_RUN.
	Mode v1.PresubmitRunMode `protobuf:"varint,2,opt,name=mode,proto3,enum=luci.analysis.v1.PresubmitRunMode" json:"mode,omitempty"`
	// The presubmit run's ending status.
	// Notionally luci.analysis.v1.PresubmitRunStatus, but string so that
	// we can chop off the "PRESUBMIT_RUN_STATUS_" prefix and have
	// only the status, e.g. SUCCEEDED, FAILED, CANCELED.
	Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	// Whether the build indicated by buildbucket_build was
	// critical to the presubmit run succeeding. This is
	// false for experimental tryjobs.
	IsBuildCritical bool `protobuf:"varint,4,opt,name=is_build_critical,json=isBuildCritical,proto3" json:"is_build_critical,omitempty"`
	// contains filtered or unexported fields
}

Information about the LUCI Change Verifier run which the test result was a part of, if any.

func (*TestVerdictRow_ChangeVerifierRun) Descriptor deprecated

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

Deprecated: Use TestVerdictRow_ChangeVerifierRun.ProtoReflect.Descriptor instead.

func (*TestVerdictRow_ChangeVerifierRun) GetId

func (*TestVerdictRow_ChangeVerifierRun) GetIsBuildCritical

func (x *TestVerdictRow_ChangeVerifierRun) GetIsBuildCritical() bool

func (*TestVerdictRow_ChangeVerifierRun) GetMode

func (*TestVerdictRow_ChangeVerifierRun) GetStatus

func (*TestVerdictRow_ChangeVerifierRun) ProtoMessage

func (*TestVerdictRow_ChangeVerifierRun) ProtoMessage()

func (*TestVerdictRow_ChangeVerifierRun) ProtoReflect

func (*TestVerdictRow_ChangeVerifierRun) Reset

func (*TestVerdictRow_ChangeVerifierRun) String

type TestVerdictRow_Counts

type TestVerdictRow_Counts struct {

	// The total number of unexpected test results in the verdict.
	Unexpected int64 `protobuf:"varint,1,opt,name=unexpected,proto3" json:"unexpected,omitempty"`
	// The total number of test results in the verdict.
	Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	// The total number of unexpected test results in the verdict
	// that are not skips.
	UnexpectedNonSkipped int64 `protobuf:"varint,3,opt,name=unexpected_non_skipped,json=unexpectedNonSkipped,proto3" json:"unexpected_non_skipped,omitempty"`
	// The total number of unexpected test results in the verdict
	// that are not skips and not passes.
	UnexpectedNonSkippedNonPassed int64 `` /* 155-byte string literal not displayed */
	// The total number of test results in the verdict that
	// are not skips.
	TotalNonSkipped int64 `protobuf:"varint,5,opt,name=total_non_skipped,json=totalNonSkipped,proto3" json:"total_non_skipped,omitempty"`
	// contains filtered or unexported fields
}

func (*TestVerdictRow_Counts) Descriptor deprecated

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

Deprecated: Use TestVerdictRow_Counts.ProtoReflect.Descriptor instead.

func (*TestVerdictRow_Counts) GetTotal

func (x *TestVerdictRow_Counts) GetTotal() int64

func (*TestVerdictRow_Counts) GetTotalNonSkipped

func (x *TestVerdictRow_Counts) GetTotalNonSkipped() int64

func (*TestVerdictRow_Counts) GetUnexpected

func (x *TestVerdictRow_Counts) GetUnexpected() int64

func (*TestVerdictRow_Counts) GetUnexpectedNonSkipped

func (x *TestVerdictRow_Counts) GetUnexpectedNonSkipped() int64

func (*TestVerdictRow_Counts) GetUnexpectedNonSkippedNonPassed

func (x *TestVerdictRow_Counts) GetUnexpectedNonSkippedNonPassed() int64

func (*TestVerdictRow_Counts) ProtoMessage

func (*TestVerdictRow_Counts) ProtoMessage()

func (*TestVerdictRow_Counts) ProtoReflect

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

func (*TestVerdictRow_Counts) Reset

func (x *TestVerdictRow_Counts) Reset()

func (*TestVerdictRow_Counts) String

func (x *TestVerdictRow_Counts) String() string

type TestVerdictRow_Exoneration

type TestVerdictRow_Exoneration struct {

	// Reasoning behind exoneration, in HTML.
	// MUST be sanitized before rendering in the browser.
	ExplanationHtml string `protobuf:"bytes,1,opt,name=explanation_html,json=explanationHtml,proto3" json:"explanation_html,omitempty"`
	// Reasoning behind the exoneration, in machine-readable form.
	Reason v1.ExonerationReason `protobuf:"varint,2,opt,name=reason,proto3,enum=luci.analysis.v1.ExonerationReason" json:"reason,omitempty"`
	// contains filtered or unexported fields
}

func (*TestVerdictRow_Exoneration) Descriptor deprecated

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

Deprecated: Use TestVerdictRow_Exoneration.ProtoReflect.Descriptor instead.

func (*TestVerdictRow_Exoneration) GetExplanationHtml

func (x *TestVerdictRow_Exoneration) GetExplanationHtml() string

func (*TestVerdictRow_Exoneration) GetReason

func (*TestVerdictRow_Exoneration) ProtoMessage

func (*TestVerdictRow_Exoneration) ProtoMessage()

func (*TestVerdictRow_Exoneration) ProtoReflect

func (*TestVerdictRow_Exoneration) Reset

func (x *TestVerdictRow_Exoneration) Reset()

func (*TestVerdictRow_Exoneration) String

func (x *TestVerdictRow_Exoneration) String() string

type TestVerdictRow_InvocationRecord

type TestVerdictRow_InvocationRecord struct {

	// The ID of the invocation.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Tags represents Invocation-level string key-value pairs.
	// A key can be repeated.
	Tags []*v1.StringPair `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
	// The LUCI Realm the invocation exists under.
	// For example, "chromium:try".
	Realm string `protobuf:"bytes,3,opt,name=realm,proto3" json:"realm,omitempty"`
	// Arbitrary JSON object that contains structured, domain-specific properties
	// of the invocation. Stored here stringified as this is the only protocol
	// buffer type that maps to the JSON BigQuery type:
	// https://cloud.google.com/bigquery/docs/write-api#data_type_conversions
	Properties string `protobuf:"bytes,4,opt,name=properties,proto3" json:"properties,omitempty"`
	// contains filtered or unexported fields
}

func (*TestVerdictRow_InvocationRecord) Descriptor deprecated

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

Deprecated: Use TestVerdictRow_InvocationRecord.ProtoReflect.Descriptor instead.

func (*TestVerdictRow_InvocationRecord) GetId

func (*TestVerdictRow_InvocationRecord) GetProperties

func (x *TestVerdictRow_InvocationRecord) GetProperties() string

func (*TestVerdictRow_InvocationRecord) GetRealm

func (*TestVerdictRow_InvocationRecord) GetTags

func (*TestVerdictRow_InvocationRecord) ProtoMessage

func (*TestVerdictRow_InvocationRecord) ProtoMessage()

func (*TestVerdictRow_InvocationRecord) ProtoReflect

func (*TestVerdictRow_InvocationRecord) Reset

func (*TestVerdictRow_InvocationRecord) String

type TestVerdictRow_ParentInvocationRecord

type TestVerdictRow_ParentInvocationRecord struct {

	// The ID of the invocation.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

ParentInvocationRecord for a test result is the immediate parent invocation that directly contains the test result.

func (*TestVerdictRow_ParentInvocationRecord) Descriptor deprecated

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

Deprecated: Use TestVerdictRow_ParentInvocationRecord.ProtoReflect.Descriptor instead.

func (*TestVerdictRow_ParentInvocationRecord) GetId

func (*TestVerdictRow_ParentInvocationRecord) ProtoMessage

func (*TestVerdictRow_ParentInvocationRecord) ProtoMessage()

func (*TestVerdictRow_ParentInvocationRecord) ProtoReflect

func (*TestVerdictRow_ParentInvocationRecord) Reset

func (*TestVerdictRow_ParentInvocationRecord) String

type TestVerdictRow_TestResult

type TestVerdictRow_TestResult struct {

	// Parent contains info of the result's immediate parent invocation.
	Parent *TestVerdictRow_ParentInvocationRecord `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The global identifier of a test result in ResultDB.
	// Format:
	// "invocations/{INVOCATION_ID}/tests/{URL_ESCAPED_TEST_ID}/results/{RESULT_ID}".
	Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"`
	// Identifies a test result in a given invocation and test id.
	ResultId string `protobuf:"bytes,2,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"`
	// Expected is a flag indicating whether the result of test case execution is
	// expected. Refer to TestResult.Expected for details.
	Expected bool `protobuf:"varint,3,opt,name=expected,proto3" json:"expected,omitempty"`
	// Status of the test result.
	Status v1.TestResultStatus `protobuf:"varint,4,opt,name=status,proto3,enum=luci.analysis.v1.TestResultStatus" json:"status,omitempty"`
	// A human-readable explanation of the result, in HTML.
	// MUST be sanitized before rendering in the browser.
	SummaryHtml string `protobuf:"bytes,5,opt,name=summary_html,json=summaryHtml,proto3" json:"summary_html,omitempty"`
	// The point in time when the test case started to execute.
	StartTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// Duration of the test case execution in seconds.
	Duration float64 `protobuf:"fixed64,7,opt,name=duration,proto3" json:"duration,omitempty"`
	// Tags contains metadata for this test result.
	// It might describe this particular execution or the test case.
	Tags []*v1.StringPair `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"`
	// Information about failed tests.
	// e.g. the assertion failure message.
	FailureReason *v1.FailureReason `protobuf:"bytes,9,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
	// Reasoning behind a test skip, in machine-readable form.
	// Only set when status is SKIP.
	// It's the string presentation of luci.analysis.v1.SkipReason when
	// specified, "" when the skip reason is unspecified.
	SkipReason string `protobuf:"bytes,12,opt,name=skip_reason,json=skipReason,proto3" json:"skip_reason,omitempty"`
	// Arbitrary JSON object that contains structured, domain-specific properties
	// of the test result. Stored here stringified as this is the only protocol
	// buffer type that maps to the JSON BigQuery type:
	// https://cloud.google.com/bigquery/docs/write-api#data_type_conversions
	Properties string `protobuf:"bytes,10,opt,name=properties,proto3" json:"properties,omitempty"`
	// contains filtered or unexported fields
}

NextId: 13

func (*TestVerdictRow_TestResult) Descriptor deprecated

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

Deprecated: Use TestVerdictRow_TestResult.ProtoReflect.Descriptor instead.

func (*TestVerdictRow_TestResult) GetDuration

func (x *TestVerdictRow_TestResult) GetDuration() float64

func (*TestVerdictRow_TestResult) GetExpected

func (x *TestVerdictRow_TestResult) GetExpected() bool

func (*TestVerdictRow_TestResult) GetFailureReason

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

func (*TestVerdictRow_TestResult) GetName

func (x *TestVerdictRow_TestResult) GetName() string

func (*TestVerdictRow_TestResult) GetParent

func (*TestVerdictRow_TestResult) GetProperties

func (x *TestVerdictRow_TestResult) GetProperties() string

func (*TestVerdictRow_TestResult) GetResultId

func (x *TestVerdictRow_TestResult) GetResultId() string

func (*TestVerdictRow_TestResult) GetSkipReason

func (x *TestVerdictRow_TestResult) GetSkipReason() string

func (*TestVerdictRow_TestResult) GetStartTime

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

func (*TestVerdictRow_TestResult) GetStatus

func (*TestVerdictRow_TestResult) GetSummaryHtml

func (x *TestVerdictRow_TestResult) GetSummaryHtml() string

func (*TestVerdictRow_TestResult) GetTags

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

func (*TestVerdictRow_TestResult) ProtoMessage

func (*TestVerdictRow_TestResult) ProtoMessage()

func (*TestVerdictRow_TestResult) ProtoReflect

func (*TestVerdictRow_TestResult) Reset

func (x *TestVerdictRow_TestResult) Reset()

func (*TestVerdictRow_TestResult) String

func (x *TestVerdictRow_TestResult) String() string

Jump to

Keyboard shortcuts

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