resultpb

package
v0.0.0-...-781836f Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_go_chromium_org_luci_resultdb_proto_bq_artifact_row_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_resultdb_proto_bq_common_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_resultdb_proto_bq_test_result_row_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_resultdb_proto_bq_text_artifact_row_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type InvocationRecord

type 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.
	Realm string `protobuf:"bytes,3,opt,name=realm,proto3" json:"realm,omitempty"`
	// Arbitrary JSON object that contains structured, domain-specific properties
	// of the invocation.
	Properties *structpb.Struct `protobuf:"bytes,4,opt,name=properties,proto3" json:"properties,omitempty"`
	// contains filtered or unexported fields
}

func (*InvocationRecord) Descriptor deprecated

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

Deprecated: Use InvocationRecord.ProtoReflect.Descriptor instead.

func (*InvocationRecord) GetId

func (x *InvocationRecord) GetId() string

func (*InvocationRecord) GetProperties

func (x *InvocationRecord) GetProperties() *structpb.Struct

func (*InvocationRecord) GetRealm

func (x *InvocationRecord) GetRealm() string

func (*InvocationRecord) GetTags

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

func (*InvocationRecord) ProtoMessage

func (*InvocationRecord) ProtoMessage()

func (*InvocationRecord) ProtoReflect

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

func (*InvocationRecord) Reset

func (x *InvocationRecord) Reset()

func (*InvocationRecord) String

func (x *InvocationRecord) String() string

type TestResultRow

type TestResultRow struct {

	// Exported contains info of the exported invocation.
	//
	// Note: it's possible that this invocation is not the result's
	// immediate parent invocation, but the including invocation.
	// For example if the BigQuery table is for all test results of Chromium CI
	// builds, then the exported invocation is for a CI build, which includes
	// multiple invocations for swarming tasks within that build.
	Exported *InvocationRecord `protobuf:"bytes,1,opt,name=exported,proto3" json:"exported,omitempty"`
	// Parent contains info of the result's immediate parent invocation.
	Parent *InvocationRecord `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
	// Name of the test result.
	// Format:
	// "invocations/{PARENT.ID}/tests/{URL_ESCAPED_TEST_ID}/results/{RESULT_ID}".
	// where URL_ESCAPED_TEST_ID is test_id escaped with
	// https://golang.org/pkg/net/url/#PathEscape See also https://aip.dev/122.
	Name string `protobuf:"bytes,17,opt,name=name,proto3" json:"name,omitempty"`
	// Is a unique identifier of the test in a LUCI project.
	// Refer to TestResult.test_id for details.
	TestId string `protobuf:"bytes,3,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Identifies a test result in a given invocation and test id.
	ResultId string `protobuf:"bytes,4,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"`
	// Describes one specific way of running the test,
	// e.g. a specific bucket, builder and a test suite.
	Variant []*v1.StringPair `protobuf:"bytes,5,rep,name=variant,proto3" json:"variant,omitempty"`
	// A hex-encoded sha256 of concatenated "<key>:<value>\n" variant pairs.
	VariantHash string `protobuf:"bytes,6,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,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,7,opt,name=expected,proto3" json:"expected,omitempty"`
	// Status of the test result.
	// See TestStatus for possible values.
	Status string `protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"`
	// A human-readable explanation of the result, in HTML.
	SummaryHtml string `protobuf:"bytes,9,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,10,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// Duration of the test case execution in seconds.
	Duration *durationpb.Duration `protobuf:"bytes,11,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,12,rep,name=tags,proto3" json:"tags,omitempty"`
	// If the failures of the test variant are exonerated.
	// Note: the exoneration is at the test variant level, not result level.
	Exonerated bool `protobuf:"varint,13,opt,name=exonerated,proto3" json:"exonerated,omitempty"`
	// The code sources tested. 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,20,opt,name=sources,proto3" json:"sources,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 Invocation.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// Metadata of the test case,
	// e.g. the original test name and test location.
	TestMetadata *v1.TestMetadata `protobuf:"bytes,16,opt,name=test_metadata,json=testMetadata,proto3" json:"test_metadata,omitempty"`
	// Information about failed tests.
	// e.g. the assertion failure message.
	FailureReason *v1.FailureReason `protobuf:"bytes,18,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
	// Arbitrary JSON object that contains structured, domain-specific properties
	// of the test result.
	Properties *structpb.Struct `protobuf:"bytes,19,opt,name=properties,proto3" json:"properties,omitempty"`
	// Reasoning behind a test skip, in machine-readable form.
	// MUST not be set unless status is SKIP.
	// See SkipReason in v1/test_result.proto for possible values.
	SkipReason string `protobuf:"bytes,21,opt,name=skip_reason,json=skipReason,proto3" json:"skip_reason,omitempty"`
	// The time when the test result row is inserted into exported BigQuery table.
	// This is the time the server commenced the export, not the time it became
	// visible in the BigQuery table.
	InsertTime *timestamppb.Timestamp `protobuf:"bytes,22,opt,name=insert_time,json=insertTime,proto3" json:"insert_time,omitempty"`
	// contains filtered or unexported fields
}

TestResultRow represents a row in a BigQuery table for result of a functional test case. Next id: 23.

func (*TestResultRow) Descriptor deprecated

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

Deprecated: Use TestResultRow.ProtoReflect.Descriptor instead.

func (*TestResultRow) GetDuration

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

func (*TestResultRow) GetExonerated

func (x *TestResultRow) GetExonerated() bool

func (*TestResultRow) GetExpected

func (x *TestResultRow) GetExpected() bool

func (*TestResultRow) GetExported

func (x *TestResultRow) GetExported() *InvocationRecord

func (*TestResultRow) GetFailureReason

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

func (*TestResultRow) GetInsertTime

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

func (*TestResultRow) GetName

func (x *TestResultRow) GetName() string

func (*TestResultRow) GetParent

func (x *TestResultRow) GetParent() *InvocationRecord

func (*TestResultRow) GetPartitionTime

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

func (*TestResultRow) GetProperties

func (x *TestResultRow) GetProperties() *structpb.Struct

func (*TestResultRow) GetResultId

func (x *TestResultRow) GetResultId() string

func (*TestResultRow) GetSkipReason

func (x *TestResultRow) GetSkipReason() 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() string

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() []*v1.StringPair

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 TextArtifactRow

type TextArtifactRow struct {

	// The LUCI project that the artifact belongs to (e.g. chromium).
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The LUCI Realm the the artifact exists under.
	// Only contain the sub-realm (e.g. "try", instead of "chromium:try).
	// The project is stored in the project field.
	Realm string `protobuf:"bytes,2,opt,name=realm,proto3" json:"realm,omitempty"`
	// The invocation ID of the parent invocation.
	InvocationId string `protobuf:"bytes,3,opt,name=invocation_id,json=invocationId,proto3" json:"invocation_id,omitempty"`
	// The test that the artifact belongs to.
	// It will be empty if the artifact is an invocation-level artifact.
	TestId string `protobuf:"bytes,4,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// The result that the artifact belongs to.
	// It will be empty if the artifact is an invocation-level artifact.
	ResultId string `protobuf:"bytes,5,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"`
	// Id of the artifact.
	// Refer to luci.resultdb.v1.Artifact.artifact_id for details.
	ArtifactId string `protobuf:"bytes,6,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
	// The number of shards needed to store this artifact.
	NumShards int32 `protobuf:"varint,7,opt,name=num_shards,json=numShards,proto3" json:"num_shards,omitempty"`
	// Id of the artifact shard.
	// Row size limit is 10MB according to
	// https://cloud.google.com/bigquery/quotas#write-api-limits.
	// The content itself will have a smaller limit because we will
	// have other data in the row and overhead.
	// If the size of the artifact content is larger than the limit, the data will be
	// sharded.
	//
	// When sharding, we try to keep the content size as close to the
	// limit as possible, but we will also prefer sharding at line-break
	// or white-space characters if such characters exist near the sharding
	// position (within 1KB). Sharding will never break a multi-byte Unicode
	// character.
	//
	// shard_id is monotonically increasing and starts at 0.
	ShardId int32 `protobuf:"varint,8,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
	// Optional. Content type of the artifact (e.g. text/plain).
	ContentType string `protobuf:"bytes,9,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
	// Artifact shard content.
	// Encoded as UTF-8.
	Content string `protobuf:"bytes,10,opt,name=content,proto3" json:"content,omitempty"`
	// Size of the artifact content in bytes.
	// This is the sum of shard_content_size of all shards of the artifact.
	ArtifactContentSize int32 `protobuf:"varint,11,opt,name=artifact_content_size,json=artifactContentSize,proto3" json:"artifact_content_size,omitempty"`
	// Size of the shard content in bytes.
	ShardContentSize int32 `protobuf:"varint,12,opt,name=shard_content_size,json=shardContentSize,proto3" json:"shard_content_size,omitempty"`
	// Partition_time is used to partition the table.
	// It is the time when the exported invocation was created in Spanner.
	// It is NOT the time when the row is inserted into BigQuery table.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// String of the format <artifact_id>:<shard_id>.
	// This is for the purpose of clustering.
	ArtifactShard string `protobuf:"bytes,14,opt,name=artifact_shard,json=artifactShard,proto3" json:"artifact_shard,omitempty"`
	// Status of the test result that contains the artifact.
	// See luci.resultdb.v1.TestStatus for possible values.
	// For invocation-level artifact, an this will be an empty string.
	TestStatus string `protobuf:"bytes,15,opt,name=test_status,json=testStatus,proto3" json:"test_status,omitempty"`
	// contains filtered or unexported fields
}

TextArtifactRow represents a row in a BigQuery table `luci-resultdb.internal.text_artifacts`.

func (*TextArtifactRow) Descriptor deprecated

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

Deprecated: Use TextArtifactRow.ProtoReflect.Descriptor instead.

func (*TextArtifactRow) GetArtifactContentSize

func (x *TextArtifactRow) GetArtifactContentSize() int32

func (*TextArtifactRow) GetArtifactId

func (x *TextArtifactRow) GetArtifactId() string

func (*TextArtifactRow) GetArtifactShard

func (x *TextArtifactRow) GetArtifactShard() string

func (*TextArtifactRow) GetContent

func (x *TextArtifactRow) GetContent() string

func (*TextArtifactRow) GetContentType

func (x *TextArtifactRow) GetContentType() string

func (*TextArtifactRow) GetInvocationId

func (x *TextArtifactRow) GetInvocationId() string

func (*TextArtifactRow) GetNumShards

func (x *TextArtifactRow) GetNumShards() int32

func (*TextArtifactRow) GetPartitionTime

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

func (*TextArtifactRow) GetProject

func (x *TextArtifactRow) GetProject() string

func (*TextArtifactRow) GetRealm

func (x *TextArtifactRow) GetRealm() string

func (*TextArtifactRow) GetResultId

func (x *TextArtifactRow) GetResultId() string

func (*TextArtifactRow) GetShardContentSize

func (x *TextArtifactRow) GetShardContentSize() int32

func (*TextArtifactRow) GetShardId

func (x *TextArtifactRow) GetShardId() int32

func (*TextArtifactRow) GetTestId

func (x *TextArtifactRow) GetTestId() string

func (*TextArtifactRow) GetTestStatus

func (x *TextArtifactRow) GetTestStatus() string

func (*TextArtifactRow) ProtoMessage

func (*TextArtifactRow) ProtoMessage()

func (*TextArtifactRow) ProtoReflect

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

func (*TextArtifactRow) Reset

func (x *TextArtifactRow) Reset()

func (*TextArtifactRow) String

func (x *TextArtifactRow) String() string

type TextArtifactRowLegacy

type TextArtifactRowLegacy struct {

	// Exported contains info of the exported invocation.
	//
	// Note: it's possible that this invocation is not the artifact's
	// immediate parent invocation, but the including invocation.
	// For example if the BigQuery table is for all artifacts of Chromium CI
	// builds, then the exported invocation is for a CI build, which includes
	// multiple invocations for swarming tasks within that build.
	Exported *InvocationRecord `protobuf:"bytes,1,opt,name=exported,proto3" json:"exported,omitempty"`
	// Parent contains info of the artifact's immediate parent invocation.
	Parent *InvocationRecord `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
	// Test_id and result_id can identify the test result in the invocation
	// this artifact belongs to.
	// They will be empty if the artifact is an invocation-level artifact.
	TestId   string `protobuf:"bytes,3,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	ResultId string `protobuf:"bytes,4,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"`
	// Id of the artifact.
	// Regex: ^[[:word:]]([[:print:]]{0,254}[[:word:]])?$
	//
	// Refer to luci.resultdb.v1.Artifact.artifact_id for details.
	ArtifactId string `protobuf:"bytes,5,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"`
	// Id of the artifact shard.
	// Row size limit is 5MB according to
	// https://cloud.google.com/bigquery/quotas#streaming_inserts
	// If the size of the artifact content is larger than that, the data will be
	// sharded at the nearest previous line break ("\r\n" first, if not exist
	// then "\n" or "\r").
	// Shard_id is monotonically increasing and starts at 0.
	ShardId int32 `protobuf:"varint,6,opt,name=shard_id,json=shardId,proto3" json:"shard_id,omitempty"`
	// Artifact shard content.
	// Encoded as UTF-8. Invalid characters are replaced with the replacement
	// character (U+FFFD).
	Content string `protobuf:"bytes,7,opt,name=content,proto3" json:"content,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 Invocation.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// contains filtered or unexported fields
}

This proto is deprecated. This is used in the old BigQuery artifact export. The reason we have not deleted it yet is that there still seems to be some tasks running this exporter, so we need to check and verify those tasks. TextArtifactRowLegacy represents a row in a BigQuery table for a text artifact.

func (*TextArtifactRowLegacy) Descriptor deprecated

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

Deprecated: Use TextArtifactRowLegacy.ProtoReflect.Descriptor instead.

func (*TextArtifactRowLegacy) GetArtifactId

func (x *TextArtifactRowLegacy) GetArtifactId() string

func (*TextArtifactRowLegacy) GetContent

func (x *TextArtifactRowLegacy) GetContent() string

func (*TextArtifactRowLegacy) GetExported

func (x *TextArtifactRowLegacy) GetExported() *InvocationRecord

func (*TextArtifactRowLegacy) GetParent

func (x *TextArtifactRowLegacy) GetParent() *InvocationRecord

func (*TextArtifactRowLegacy) GetPartitionTime

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

func (*TextArtifactRowLegacy) GetResultId

func (x *TextArtifactRowLegacy) GetResultId() string

func (*TextArtifactRowLegacy) GetShardId

func (x *TextArtifactRowLegacy) GetShardId() int32

func (*TextArtifactRowLegacy) GetTestId

func (x *TextArtifactRowLegacy) GetTestId() string

func (*TextArtifactRowLegacy) ProtoMessage

func (*TextArtifactRowLegacy) ProtoMessage()

func (*TextArtifactRowLegacy) ProtoReflect

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

func (*TextArtifactRowLegacy) Reset

func (x *TextArtifactRowLegacy) Reset()

func (*TextArtifactRowLegacy) String

func (x *TextArtifactRowLegacy) String() string

Jump to

Keyboard shortcuts

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