analysispb

package
v0.0.0-...-049bd4e Latest Latest
Warning

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

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

Documentation

Overview

Package analysispb defines the API of the LUCI Analysis service.

Index

Constants

This section is empty.

Variables

View Source
var (
	ClusterSummaryView_name = map[int32]string{
		0: "CLUSTER_SUMMARY_VIEW_UNSPECIFIED",
		1: "BASIC",
		2: "FULL",
	}
	ClusterSummaryView_value = map[string]int32{
		"CLUSTER_SUMMARY_VIEW_UNSPECIFIED": 0,
		"BASIC":                            1,
		"FULL":                             2,
	}
)

Enum value maps for ClusterSummaryView.

View Source
var (
	BuildStatus_name = map[int32]string{
		0: "BUILD_STATUS_UNSPECIFIED",
		1: "BUILD_STATUS_SUCCESS",
		2: "BUILD_STATUS_FAILURE",
		3: "BUILD_STATUS_INFRA_FAILURE",
		4: "BUILD_STATUS_CANCELED",
	}
	BuildStatus_value = map[string]int32{
		"BUILD_STATUS_UNSPECIFIED":   0,
		"BUILD_STATUS_SUCCESS":       1,
		"BUILD_STATUS_FAILURE":       2,
		"BUILD_STATUS_INFRA_FAILURE": 3,
		"BUILD_STATUS_CANCELED":      4,
	}
)

Enum value maps for BuildStatus.

View Source
var (
	ExonerationReason_name = map[int32]string{
		0: "EXONERATION_REASON_UNSPECIFIED",
		1: "OCCURS_ON_MAINLINE",
		2: "OCCURS_ON_OTHER_CLS",
		3: "NOT_CRITICAL",
		4: "UNEXPECTED_PASS",
	}
	ExonerationReason_value = map[string]int32{
		"EXONERATION_REASON_UNSPECIFIED": 0,
		"OCCURS_ON_MAINLINE":             1,
		"OCCURS_ON_OTHER_CLS":            2,
		"NOT_CRITICAL":                   3,
		"UNEXPECTED_PASS":                4,
	}
)

Enum value maps for ExonerationReason.

View Source
var (
	SubmittedFilter_name = map[int32]string{
		0: "SUBMITTED_FILTER_UNSPECIFIED",
		1: "ONLY_SUBMITTED",
		2: "ONLY_UNSUBMITTED",
	}
	SubmittedFilter_value = map[string]int32{
		"SUBMITTED_FILTER_UNSPECIFIED": 0,
		"ONLY_SUBMITTED":               1,
		"ONLY_UNSUBMITTED":             2,
	}
)

Enum value maps for SubmittedFilter.

View Source
var (
	PresubmitRunMode_name = map[int32]string{
		0: "PRESUBMIT_RUN_MODE_UNSPECIFIED",
		1: "DRY_RUN",
		2: "FULL_RUN",
		3: "QUICK_DRY_RUN",
		4: "NEW_PATCHSET_RUN",
	}
	PresubmitRunMode_value = map[string]int32{
		"PRESUBMIT_RUN_MODE_UNSPECIFIED": 0,
		"DRY_RUN":                        1,
		"FULL_RUN":                       2,
		"QUICK_DRY_RUN":                  3,
		"NEW_PATCHSET_RUN":               4,
	}
)

Enum value maps for PresubmitRunMode.

View Source
var (
	PresubmitRunStatus_name = map[int32]string{
		0: "PRESUBMIT_RUN_STATUS_UNSPECIFIED",
		1: "PRESUBMIT_RUN_STATUS_SUCCEEDED",
		2: "PRESUBMIT_RUN_STATUS_FAILED",
		3: "PRESUBMIT_RUN_STATUS_CANCELED",
	}
	PresubmitRunStatus_value = map[string]int32{
		"PRESUBMIT_RUN_STATUS_UNSPECIFIED": 0,
		"PRESUBMIT_RUN_STATUS_SUCCEEDED":   1,
		"PRESUBMIT_RUN_STATUS_FAILED":      2,
		"PRESUBMIT_RUN_STATUS_CANCELED":    3,
	}
)

Enum value maps for PresubmitRunStatus.

View Source
var (
	BuganizerPriority_name = map[int32]string{
		0: "BUGANIZER_PRIORITY_UNSPECIFIED",
		1: "P0",
		2: "P1",
		3: "P2",
		4: "P3",
		5: "P4",
	}
	BuganizerPriority_value = map[string]int32{
		"BUGANIZER_PRIORITY_UNSPECIFIED": 0,
		"P0":                             1,
		"P1":                             2,
		"P2":                             3,
		"P3":                             4,
		"P4":                             5,
	}
)

Enum value maps for BuganizerPriority.

View Source
var (
	CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit_name = map[int32]string{
		0: "ISSUE_ACCESS_LIMIT_UNSPECIFIED",
		1: "None",
		4: "Trusted",
	}
	CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit_value = map[string]int32{
		"ISSUE_ACCESS_LIMIT_UNSPECIFIED": 0,
		"None":                           1,
		"Trusted":                        4,
	}
)

Enum value maps for CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit.

View Source
var (
	ChangelistOwnerKind_name = map[int32]string{
		0: "CHANGELIST_OWNER_UNSPECIFIED",
		1: "HUMAN",
		2: "AUTOMATION",
	}
	ChangelistOwnerKind_value = map[string]int32{
		"CHANGELIST_OWNER_UNSPECIFIED": 0,
		"HUMAN":                        1,
		"AUTOMATION":                   2,
	}
)

Enum value maps for ChangelistOwnerKind.

View Source
var (
	QuerySourceVerdictsResponse_VerdictStatus_name = map[int32]string{
		0: "VERDICT_EXPECTATION_STATUS_UNSPECIFIED",
		1: "UNEXPECTED",
		2: "EXPECTED",
		3: "FLAKY",
		4: "SKIPPED",
	}
	QuerySourceVerdictsResponse_VerdictStatus_value = map[string]int32{
		"VERDICT_EXPECTATION_STATUS_UNSPECIFIED": 0,
		"UNEXPECTED":                             1,
		"EXPECTED":                               2,
		"FLAKY":                                  3,
		"SKIPPED":                                4,
	}
)

Enum value maps for QuerySourceVerdictsResponse_VerdictStatus.

View Source
var (
	TestResultStatus_name = map[int32]string{
		0: "TEST_RESULT_STATUS_UNSPECIFIED",
		1: "PASS",
		2: "FAIL",
		3: "CRASH",
		4: "ABORT",
		5: "SKIP",
	}
	TestResultStatus_value = map[string]int32{
		"TEST_RESULT_STATUS_UNSPECIFIED": 0,
		"PASS":                           1,
		"FAIL":                           2,
		"CRASH":                          3,
		"ABORT":                          4,
		"SKIP":                           5,
	}
)

Enum value maps for TestResultStatus.

View Source
var (
	TestVerdictStatus_name = map[int32]string{
		0:  "TEST_VERDICT_STATUS_UNSPECIFIED",
		10: "UNEXPECTED",
		20: "UNEXPECTEDLY_SKIPPED",
		30: "FLAKY",
		40: "EXONERATED",
		50: "EXPECTED",
	}
	TestVerdictStatus_value = map[string]int32{
		"TEST_VERDICT_STATUS_UNSPECIFIED": 0,
		"UNEXPECTED":                      10,
		"UNEXPECTEDLY_SKIPPED":            20,
		"FLAKY":                           30,
		"EXONERATED":                      40,
		"EXPECTED":                        50,
	}
)

Enum value maps for TestVerdictStatus.

View Source
var (
	SkipReason_name = map[int32]string{
		0: "SKIP_REASON_UNSPECIFIED",
		1: "AUTOMATICALLY_DISABLED_FOR_FLAKINESS",
	}
	SkipReason_value = map[string]int32{
		"SKIP_REASON_UNSPECIFIED":              0,
		"AUTOMATICALLY_DISABLED_FOR_FLAKINESS": 1,
	}
)

Enum value maps for SkipReason.

View Source
var File_go_chromium_org_luci_analysis_proto_v1_buganizer_tester_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_changepoints_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_clusters_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_common_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_failure_reason_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_issue_tracking_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_metrics_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_predicate_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_project_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_projects_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_rules_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_sources_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_test_history_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_test_metadata_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_test_variant_branches_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_test_variants_proto protoreflect.FileDescriptor
View Source
var File_go_chromium_org_luci_analysis_proto_v1_test_verdict_proto protoreflect.FileDescriptor

Functions

func FileDescriptorSet

func FileDescriptorSet() *descriptorpb.FileDescriptorSet

FileDescriptorSet returns a descriptor set for this proto package, which includes all defined services, and all transitive dependencies.

Will not return nil.

Do NOT modify the returned descriptor.

func RegisterBuganizerTesterServer

func RegisterBuganizerTesterServer(s prpc.Registrar, srv BuganizerTesterServer)

func RegisterChangepointsServer

func RegisterChangepointsServer(s prpc.Registrar, srv ChangepointsServer)

func RegisterClustersServer

func RegisterClustersServer(s prpc.Registrar, srv ClustersServer)

func RegisterMetricsServer

func RegisterMetricsServer(s prpc.Registrar, srv MetricsServer)

func RegisterProjectsServer

func RegisterProjectsServer(s prpc.Registrar, srv ProjectsServer)

func RegisterRulesServer

func RegisterRulesServer(s prpc.Registrar, srv RulesServer)

func RegisterTestHistoryServer

func RegisterTestHistoryServer(s prpc.Registrar, srv TestHistoryServer)

func RegisterTestVariantBranchesServer

func RegisterTestVariantBranchesServer(s prpc.Registrar, srv TestVariantBranchesServer)

func RegisterTestVariantsServer

func RegisterTestVariantsServer(s prpc.Registrar, srv TestVariantsServer)

Types

type AssociatedBug

type AssociatedBug struct {

	// System is the bug tracking system of the bug. This is either
	// "monorail" or "buganizer".
	System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"`
	// Id is the bug tracking system-specific identity of the bug.
	// 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"`
	// A human-readable name for the bug. This is typically the
	// bug shortlink (e.g. "crbug.com/1234567").
	LinkText string `protobuf:"bytes,3,opt,name=link_text,json=linkText,proto3" json:"link_text,omitempty"`
	// The resolved bug URL, e.g.
	// E.g. "https://bugs.chromium.org/p/chromium/issues/detail?id=123456".
	Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
	// contains filtered or unexported fields
}

Identity of a bug in a bug-tracking system.

func (*AssociatedBug) Descriptor deprecated

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

Deprecated: Use AssociatedBug.ProtoReflect.Descriptor instead.

func (*AssociatedBug) GetId

func (x *AssociatedBug) GetId() string

func (*AssociatedBug) GetLinkText

func (x *AssociatedBug) GetLinkText() string

func (*AssociatedBug) GetSystem

func (x *AssociatedBug) GetSystem() string

func (*AssociatedBug) GetUrl

func (x *AssociatedBug) GetUrl() string

func (*AssociatedBug) ProtoMessage

func (*AssociatedBug) ProtoMessage()

func (*AssociatedBug) ProtoReflect

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

func (*AssociatedBug) Reset

func (x *AssociatedBug) Reset()

func (*AssociatedBug) String

func (x *AssociatedBug) String() string

type BatchGetTestVariantBranchRequest

type BatchGetTestVariantBranchRequest struct {

	// The name of the test variant branch.
	// It MUST be of the form projects/{PROJECT}/tests/{URL_ESCAPED_TEST_ID}/variants/{VARIANT_HASH}/refs/{REF_HASH}
	// where:
	// PROJECT is the LUCI Project of the test variant branch analysis.
	// URL_ESCAPED_TEST_ID is the test ID, escaped with
	// https://golang.org/pkg/net/url/#PathEscape. See also https://aip.dev/122.
	// VARIANT_HASH is the variant hash of the test variant analysis (16 lower-case-character hex string).
	// REF_HASH is the identity of the branch of the analysis. It is a 16 lower-case-character hex string.
	// Maximum of 100 can be retrieved, otherwise this RPC will return error.
	Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
	// contains filtered or unexported fields
}

A request message for `TestVariantBranches.BatchGet` RPC.

func (*BatchGetTestVariantBranchRequest) Descriptor deprecated

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

Deprecated: Use BatchGetTestVariantBranchRequest.ProtoReflect.Descriptor instead.

func (*BatchGetTestVariantBranchRequest) GetNames

func (x *BatchGetTestVariantBranchRequest) GetNames() []string

func (*BatchGetTestVariantBranchRequest) ProtoMessage

func (*BatchGetTestVariantBranchRequest) ProtoMessage()

func (*BatchGetTestVariantBranchRequest) ProtoReflect

func (*BatchGetTestVariantBranchRequest) Reset

func (*BatchGetTestVariantBranchRequest) String

type BatchGetTestVariantBranchResponse

type BatchGetTestVariantBranchResponse struct {

	// The return list will have the same length and order as request names list.
	// If a record is not found, the corresponding element will be set to nil.
	TestVariantBranches []*TestVariantBranch `protobuf:"bytes,1,rep,name=test_variant_branches,json=testVariantBranches,proto3" json:"test_variant_branches,omitempty"`
	// contains filtered or unexported fields
}

func (*BatchGetTestVariantBranchResponse) Descriptor deprecated

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

Deprecated: Use BatchGetTestVariantBranchResponse.ProtoReflect.Descriptor instead.

func (*BatchGetTestVariantBranchResponse) GetTestVariantBranches

func (x *BatchGetTestVariantBranchResponse) GetTestVariantBranches() []*TestVariantBranch

func (*BatchGetTestVariantBranchResponse) ProtoMessage

func (*BatchGetTestVariantBranchResponse) ProtoMessage()

func (*BatchGetTestVariantBranchResponse) ProtoReflect

func (*BatchGetTestVariantBranchResponse) Reset

func (*BatchGetTestVariantBranchResponse) String

type BugComponent

type BugComponent struct {

	// Types that are assignable to System:
	//
	//	*BugComponent_IssueTracker
	//	*BugComponent_Monorail
	System isBugComponent_System `protobuf_oneof:"system"`
	// contains filtered or unexported fields
}

Represents a component in an issue tracker. A component is a container for issues.

func (*BugComponent) Descriptor deprecated

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

Deprecated: Use BugComponent.ProtoReflect.Descriptor instead.

func (*BugComponent) GetIssueTracker

func (x *BugComponent) GetIssueTracker() *IssueTrackerComponent

func (*BugComponent) GetMonorail

func (x *BugComponent) GetMonorail() *MonorailComponent

func (*BugComponent) GetSystem

func (m *BugComponent) GetSystem() isBugComponent_System

func (*BugComponent) ProtoMessage

func (*BugComponent) ProtoMessage()

func (*BugComponent) ProtoReflect

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

func (*BugComponent) Reset

func (x *BugComponent) Reset()

func (*BugComponent) String

func (x *BugComponent) String() string

type BugComponent_IssueTracker

type BugComponent_IssueTracker struct {
	// The Google Issue Tracker component.
	IssueTracker *IssueTrackerComponent `protobuf:"bytes,1,opt,name=issue_tracker,json=issueTracker,proto3,oneof"`
}

type BugComponent_Monorail

type BugComponent_Monorail struct {
	// The monorail component.
	Monorail *MonorailComponent `protobuf:"bytes,2,opt,name=monorail,proto3,oneof"`
}

type BugManagement

type BugManagement struct {

	// The set of policies which control the (re-)opening, closure and
	// prioritization of bugs under the control of LUCI Analysis.
	Policies []*BugManagementPolicy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"`
	// Monorail-specific bug filing configuration.
	Monorail *MonorailProject `protobuf:"bytes,2,opt,name=monorail,proto3" json:"monorail,omitempty"`
	// contains filtered or unexported fields
}

Settings related to bug management.

func (*BugManagement) Descriptor deprecated

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

Deprecated: Use BugManagement.ProtoReflect.Descriptor instead.

func (*BugManagement) GetMonorail

func (x *BugManagement) GetMonorail() *MonorailProject

func (*BugManagement) GetPolicies

func (x *BugManagement) GetPolicies() []*BugManagementPolicy

func (*BugManagement) ProtoMessage

func (*BugManagement) ProtoMessage()

func (*BugManagement) ProtoReflect

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

func (*BugManagement) Reset

func (x *BugManagement) Reset()

func (*BugManagement) String

func (x *BugManagement) String() string

type BugManagementPolicy

type BugManagementPolicy struct {

	// A unique identifier for the bug management policy.
	//
	// Policies are stateful in that LUCI Analysis tracks which bugs have met the
	// activation condition on the policy (and not since met the deactivation
	// condition).
	//
	// Changing this value changes the identity of the policy and hence results in
	// the activation state for the policy being lost for all bugs.
	//
	// Valid syntax: ^[a-z]([a-z0-9-]{0,62}[a-z0-9])?$. (Syntax designed to comply
	// with google.aip.dev/122 for resource IDs.)
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The owners of the policy, who can be contacted if there are issues/concerns
	// about the policy. Each item in the list should be an @google.com email
	// address. At least one owner (preferably a group) is required.
	Owners []string `protobuf:"bytes,6,rep,name=owners,proto3" json:"owners,omitempty"`
	// A short one-line description for the problem the policy identifies, which
	// will appear on the UI and in bugs comments. This is a sentence fragment
	// and not a sentence, so please do NOT include a full stop and or starting
	// capital letter.
	//
	// For example, "test variant(s) are being exonerated in presubmit".
	HumanReadableName string `protobuf:"bytes,2,opt,name=human_readable_name,json=humanReadableName,proto3" json:"human_readable_name,omitempty"`
	// The priority of the problem this policy defines.
	//
	// If:
	//   - the priority of the bug associated with a rule
	//     differs from this priority, and
	//   - the policy is activate on the rule (see `metrics`), and
	//   - LUCI Analysis is controlling the priority of the bug
	//     (the "Update bug priority" switch on the rule is enabled),
	//
	// the priority of the bug will be updated to match this priority.
	//
	// Where are there multiple policies active on the same rule,
	// the highest priority (of all active policies) will be used.
	//
	// For monorail projects, the buganizer priority will be converted to the
	// equivalent monorail priority (P0 is converted to Pri-0, P1 to Pri-1,
	// P2 to Pri-2, etc.) until monorail is turned down.
	Priority BuganizerPriority `protobuf:"varint,3,opt,name=priority,proto3,enum=luci.analysis.v1.BuganizerPriority" json:"priority,omitempty"`
	// The set of metrics which will control activation of the bug-filing policy.
	// If a policy activates on a suggested cluster, a new bug will be filed.
	// If a policy activates on an existing rule cluster, the bug will be
	// updated.
	//
	// The policy will activate if the activation threshold is met on *ANY*
	// metric, and will de-activate only if the deactivation threshold is met
	// on *ALL* metrics.
	//
	// Activation on suggested clusters will be based on the metric values after
	// excluding failures for which a bug has already been filed. This is to
	// avoid duplicate bug filing.
	Metrics []*BugManagementPolicy_Metric `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"`
	// Expanatory text of the problem the policy identified, shown on the
	// user interface when the user requests more information. Required.
	Explanation *BugManagementPolicy_Explanation `protobuf:"bytes,5,opt,name=explanation,proto3" json:"explanation,omitempty"`
	// contains filtered or unexported fields
}

A bug management policy in LUCI Analysis.

Bug management policies control when and how bugs are automatically opened, prioritised, and verified as fixed. Each policy has a user-visible identity in the UI and can post custom instructions on the bug.

LUCI Analysis avoids filing multiple bugs for the same failures by allowing multiple policies to activate on the same failure association rule. The bug associated with a rule will only be verified if all policies have de-activated.

func (*BugManagementPolicy) Descriptor deprecated

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

Deprecated: Use BugManagementPolicy.ProtoReflect.Descriptor instead.

func (*BugManagementPolicy) GetExplanation

func (*BugManagementPolicy) GetHumanReadableName

func (x *BugManagementPolicy) GetHumanReadableName() string

func (*BugManagementPolicy) GetId

func (x *BugManagementPolicy) GetId() string

func (*BugManagementPolicy) GetMetrics

func (*BugManagementPolicy) GetOwners

func (x *BugManagementPolicy) GetOwners() []string

func (*BugManagementPolicy) GetPriority

func (x *BugManagementPolicy) GetPriority() BuganizerPriority

func (*BugManagementPolicy) ProtoMessage

func (*BugManagementPolicy) ProtoMessage()

func (*BugManagementPolicy) ProtoReflect

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

func (*BugManagementPolicy) Reset

func (x *BugManagementPolicy) Reset()

func (*BugManagementPolicy) String

func (x *BugManagementPolicy) String() string

type BugManagementPolicy_Explanation

type BugManagementPolicy_Explanation struct {

	// A longer human-readable description of the problem this policy
	// has identified, in HTML.
	//
	// For example, "Test variant(s) in this cluster are being exonerated
	// (ignored) in presubmit because they are too flaky or failing. This
	// means they are no longer effective at preventing the breakage of
	// the functionality the test(s) cover.".
	//
	// MUST be sanitised by UI before rendering. Sanitisation is only
	// required to support simple uses of the following tags: ul, li, a.
	ProblemHtml string `protobuf:"bytes,1,opt,name=problem_html,json=problemHtml,proto3" json:"problem_html,omitempty"`
	// A description of how a human should go about trying to fix the
	// problem, in HTML.
	//
	// For example, "<ul>
	// <li>View recent failures</li>
	// <li><a href="http://goto.google.com/demote-from-cq">Demote</a> the test from CQ</li>
	// </ul>"
	//
	// MUST be sanitised by UI before rendering. Sanitisation is only
	// required to support simple uses of the following tags: ul, li, a.
	ActionHtml string `protobuf:"bytes,2,opt,name=action_html,json=actionHtml,proto3" json:"action_html,omitempty"`
	// contains filtered or unexported fields
}

Content displayed on the user interface, to explain the problem and guide a developer to fix it.

func (*BugManagementPolicy_Explanation) Descriptor deprecated

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

Deprecated: Use BugManagementPolicy_Explanation.ProtoReflect.Descriptor instead.

func (*BugManagementPolicy_Explanation) GetActionHtml

func (x *BugManagementPolicy_Explanation) GetActionHtml() string

func (*BugManagementPolicy_Explanation) GetProblemHtml

func (x *BugManagementPolicy_Explanation) GetProblemHtml() string

func (*BugManagementPolicy_Explanation) ProtoMessage

func (*BugManagementPolicy_Explanation) ProtoMessage()

func (*BugManagementPolicy_Explanation) ProtoReflect

func (*BugManagementPolicy_Explanation) Reset

func (*BugManagementPolicy_Explanation) String

type BugManagementPolicy_Metric

type BugManagementPolicy_Metric struct {

	// The identifier of the metric.
	//
	// Full list of available metrics here:
	// https://source.chromium.org/chromium/infra/infra/+/main:go/src/go.chromium.org/luci/analysis/internal/analysis/metrics/metrics.go
	MetricId string `protobuf:"bytes,1,opt,name=metric_id,json=metricId,proto3" json:"metric_id,omitempty"`
	// The level at which the policy activates. Activation occurs if the
	// cluster impact meets or exceeds this threshold.
	// MUST imply deactivation_threshold.
	ActivationThreshold *MetricThreshold `protobuf:"bytes,2,opt,name=activation_threshold,json=activationThreshold,proto3" json:"activation_threshold,omitempty"`
	// The minimum metric level at which the policy remains active.
	// Deactivation occcurs if the cluster impact is below the de-activation
	// threshold. Deactivation_threshold should be set significantly lower
	// than activation_threshold to prevent policies repeatedly activating
	// and deactivating due to noise in the data, e.g. less tests executed
	// on weekends.
	DeactivationThreshold *MetricThreshold `protobuf:"bytes,3,opt,name=deactivation_threshold,json=deactivationThreshold,proto3" json:"deactivation_threshold,omitempty"`
	// contains filtered or unexported fields
}

A metric used to control activation of a bug-filing policy.

func (*BugManagementPolicy_Metric) Descriptor deprecated

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

Deprecated: Use BugManagementPolicy_Metric.ProtoReflect.Descriptor instead.

func (*BugManagementPolicy_Metric) GetActivationThreshold

func (x *BugManagementPolicy_Metric) GetActivationThreshold() *MetricThreshold

func (*BugManagementPolicy_Metric) GetDeactivationThreshold

func (x *BugManagementPolicy_Metric) GetDeactivationThreshold() *MetricThreshold

func (*BugManagementPolicy_Metric) GetMetricId

func (x *BugManagementPolicy_Metric) GetMetricId() string

func (*BugManagementPolicy_Metric) ProtoMessage

func (*BugManagementPolicy_Metric) ProtoMessage()

func (*BugManagementPolicy_Metric) ProtoReflect

func (*BugManagementPolicy_Metric) Reset

func (x *BugManagementPolicy_Metric) Reset()

func (*BugManagementPolicy_Metric) String

func (x *BugManagementPolicy_Metric) String() string

type BugManagementState

type BugManagementState struct {

	// The state of each bug management policy.
	PolicyState []*BugManagementState_PolicyState `protobuf:"bytes,1,rep,name=policy_state,json=policyState,proto3" json:"policy_state,omitempty"`
	// contains filtered or unexported fields
}

BugManagementState is the state of bug management for a rule.

func (*BugManagementState) Descriptor deprecated

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

Deprecated: Use BugManagementState.ProtoReflect.Descriptor instead.

func (*BugManagementState) GetPolicyState

func (x *BugManagementState) GetPolicyState() []*BugManagementState_PolicyState

func (*BugManagementState) ProtoMessage

func (*BugManagementState) ProtoMessage()

func (*BugManagementState) ProtoReflect

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

func (*BugManagementState) Reset

func (x *BugManagementState) Reset()

func (*BugManagementState) String

func (x *BugManagementState) String() string

type BugManagementState_PolicyState

type BugManagementState_PolicyState struct {

	// The identifier of the bug management policy.
	PolicyId string `protobuf:"bytes,1,opt,name=policy_id,json=policyId,proto3" json:"policy_id,omitempty"`
	// Whether the given policy is active for the rule.
	// Updated on every bug-filing run as follows:
	// - Set to true if the policy activation criteria was met.
	// - Set to false if the policy deactivation criteria was met.
	IsActive bool `protobuf:"varint,2,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
	// The last time the policy was made active.
	// Allows detecting if policy is made active for the first time (as a
	// zero last_activation_time indicates the policy was never active).
	// Allows UI to filter to showing policies that were at least once active.
	// Allows UI to sort which policy was most recently active.
	// Allows UI to show when a policy last activated.
	LastActivationTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_activation_time,json=lastActivationTime,proto3" json:"last_activation_time,omitempty"`
	// The last time the policy was made inactive.
	// Allows UI to show when a policy last deactivated.
	LastDeactivationTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_deactivation_time,json=lastDeactivationTime,proto3" json:"last_deactivation_time,omitempty"`
	// contains filtered or unexported fields
}

The state of a bug management policy for a rule.

func (*BugManagementState_PolicyState) Descriptor deprecated

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

Deprecated: Use BugManagementState_PolicyState.ProtoReflect.Descriptor instead.

func (*BugManagementState_PolicyState) GetIsActive

func (x *BugManagementState_PolicyState) GetIsActive() bool

func (*BugManagementState_PolicyState) GetLastActivationTime

func (x *BugManagementState_PolicyState) GetLastActivationTime() *timestamppb.Timestamp

func (*BugManagementState_PolicyState) GetLastDeactivationTime

func (x *BugManagementState_PolicyState) GetLastDeactivationTime() *timestamppb.Timestamp

func (*BugManagementState_PolicyState) GetPolicyId

func (x *BugManagementState_PolicyState) GetPolicyId() string

func (*BugManagementState_PolicyState) ProtoMessage

func (*BugManagementState_PolicyState) ProtoMessage()

func (*BugManagementState_PolicyState) ProtoReflect

func (*BugManagementState_PolicyState) Reset

func (x *BugManagementState_PolicyState) Reset()

func (*BugManagementState_PolicyState) String

type BugTrackingComponent

type BugTrackingComponent struct {

	// The bug tracking system corresponding to this test case, as identified
	// by the test results system.
	// Currently, the valid values are "monorail" or "buganizer".
	System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"`
	// The bug tracking component corresponding to this test case, as identified
	// by the test results system.
	// If the bug tracking system is monorail, this is the component as the
	// user would see it, e.g. "Infra>Test>Flakiness". For monorail, the bug
	// tracking project (e.g. "chromium") is not encoded, but assumed to be
	// specified in the project's LUCI Analysis configuration.
	Component string `protobuf:"bytes,2,opt,name=component,proto3" json:"component,omitempty"`
	// contains filtered or unexported fields
}

Identity of a bug tracking component in a bug tracking system.

func (*BugTrackingComponent) Descriptor deprecated

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

Deprecated: Use BugTrackingComponent.ProtoReflect.Descriptor instead.

func (*BugTrackingComponent) GetComponent

func (x *BugTrackingComponent) GetComponent() string

func (*BugTrackingComponent) GetSystem

func (x *BugTrackingComponent) GetSystem() string

func (*BugTrackingComponent) ProtoMessage

func (*BugTrackingComponent) ProtoMessage()

func (*BugTrackingComponent) ProtoReflect

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

func (*BugTrackingComponent) Reset

func (x *BugTrackingComponent) Reset()

func (*BugTrackingComponent) String

func (x *BugTrackingComponent) String() string

type BuganizerPriority

type BuganizerPriority int32

This enum represents the Buganizer priorities. It is equivalent to the one in Buganizer API.

const (
	// Priority unspecified; do not use this value.
	BuganizerPriority_BUGANIZER_PRIORITY_UNSPECIFIED BuganizerPriority = 0
	// P0, Highest priority.
	BuganizerPriority_P0 BuganizerPriority = 1
	BuganizerPriority_P1 BuganizerPriority = 2
	BuganizerPriority_P2 BuganizerPriority = 3
	BuganizerPriority_P3 BuganizerPriority = 4
	BuganizerPriority_P4 BuganizerPriority = 5
)

func (BuganizerPriority) Descriptor

func (BuganizerPriority) Enum

func (BuganizerPriority) EnumDescriptor deprecated

func (BuganizerPriority) EnumDescriptor() ([]byte, []int)

Deprecated: Use BuganizerPriority.Descriptor instead.

func (BuganizerPriority) Number

func (BuganizerPriority) String

func (x BuganizerPriority) String() string

func (BuganizerPriority) Type

type BuganizerTesterClient

type BuganizerTesterClient interface {
	// Creates a sample issue and returns it's id.
	CreateSampleIssue(ctx context.Context, in *CreateSampleIssueRequest, opts ...grpc.CallOption) (*CreateSampleIssueResponse, error)
}

BuganizerTesterClient is the client API for BuganizerTester service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewBuganizerTesterPRPCClient

func NewBuganizerTesterPRPCClient(client *prpc.Client) BuganizerTesterClient

type BuganizerTesterServer

type BuganizerTesterServer interface {
	// Creates a sample issue and returns it's id.
	CreateSampleIssue(context.Context, *CreateSampleIssueRequest) (*CreateSampleIssueResponse, error)
}

BuganizerTesterServer is the server API for BuganizerTester service.

type BuildStatus

type BuildStatus int32

BuildStatus the result of the build in which the test verdict was produced. This can be used to detect if the test verdict is incomplete (e.g. because an infra failure or cancellation occurred), and whether the unexpected test verdict was also followed by a failing build.

Note: All values prefixed with BUILD_STATUS_ as the names are generic and likely to conflict with other/future enumerations otherwise. See https://google.aip.dev/126.

const (
	// A build must not have this status.
	BuildStatus_BUILD_STATUS_UNSPECIFIED BuildStatus = 0
	// The build succeeded.
	BuildStatus_BUILD_STATUS_SUCCESS BuildStatus = 1
	// The build failed.
	BuildStatus_BUILD_STATUS_FAILURE BuildStatus = 2
	// The build encountered an infrastructure failure.
	BuildStatus_BUILD_STATUS_INFRA_FAILURE BuildStatus = 3
	// The build was canceled.
	BuildStatus_BUILD_STATUS_CANCELED BuildStatus = 4
)

func (BuildStatus) Descriptor

func (BuildStatus) Enum

func (x BuildStatus) Enum() *BuildStatus

func (BuildStatus) EnumDescriptor deprecated

func (BuildStatus) EnumDescriptor() ([]byte, []int)

Deprecated: Use BuildStatus.Descriptor instead.

func (BuildStatus) Number

func (x BuildStatus) Number() protoreflect.EnumNumber

func (BuildStatus) String

func (x BuildStatus) String() string

func (BuildStatus) Type

type Changelist

type Changelist struct {

	// Gerrit hostname, e.g. "chromium-review.googlesource.com".
	Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// Change number, e.g. 12345.
	Change int64 `protobuf:"varint,2,opt,name=change,proto3" json:"change,omitempty"`
	// Patch set number, e.g. 1.
	Patchset int32 `protobuf:"varint,3,opt,name=patchset,proto3" json:"patchset,omitempty"`
	// The kind of owner of the changelist.
	OwnerKind ChangelistOwnerKind `` /* 131-byte string literal not displayed */
	// contains filtered or unexported fields
}

A gerrit changelist.

func (*Changelist) Descriptor deprecated

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

Deprecated: Use Changelist.ProtoReflect.Descriptor instead.

func (*Changelist) GetChange

func (x *Changelist) GetChange() int64

func (*Changelist) GetHost

func (x *Changelist) GetHost() string

func (*Changelist) GetOwnerKind

func (x *Changelist) GetOwnerKind() ChangelistOwnerKind

func (*Changelist) GetPatchset

func (x *Changelist) GetPatchset() int32

func (*Changelist) ProtoMessage

func (*Changelist) ProtoMessage()

func (*Changelist) ProtoReflect

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

func (*Changelist) Reset

func (x *Changelist) Reset()

func (*Changelist) String

func (x *Changelist) String() string

type ChangelistOwnerKind

type ChangelistOwnerKind int32

ChangelistOwner describes the owner of a gerrit changelist.

const (
	// The changelist owner is not known.
	ChangelistOwnerKind_CHANGELIST_OWNER_UNSPECIFIED ChangelistOwnerKind = 0
	// The changelist is owned by a human.
	ChangelistOwnerKind_HUMAN ChangelistOwnerKind = 1
	// The changelist is owned by automation. (E.g. autoroller or
	// automatic uprev process.)
	ChangelistOwnerKind_AUTOMATION ChangelistOwnerKind = 2
)

func (ChangelistOwnerKind) Descriptor

func (ChangelistOwnerKind) Enum

func (ChangelistOwnerKind) EnumDescriptor deprecated

func (ChangelistOwnerKind) EnumDescriptor() ([]byte, []int)

Deprecated: Use ChangelistOwnerKind.Descriptor instead.

func (ChangelistOwnerKind) Number

func (ChangelistOwnerKind) String

func (x ChangelistOwnerKind) String() string

func (ChangelistOwnerKind) Type

type Changepoint

type Changepoint 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"`
	// key:value pairs to specify the way of running a particular test.
	// e.g. a specific bucket, builder and a test suite.
	Variant *Variant `protobuf:"bytes,14,opt,name=variant,proto3" json:"variant,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"`
	// The branch in source control.
	Ref *SourceRef `protobuf:"bytes,5,opt,name=ref,proto3" json:"ref,omitempty"`
	// The nominal start hour of this changepoint.
	StartHour *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=start_hour,json=startHour,proto3" json:"start_hour,omitempty"`
	// The lower bound of the starting changepoint position in a 99% two-tailed
	// confidence interval. Inclusive.
	StartPositionLowerBound_99Th int64 `` /* 150-byte string literal not displayed */
	// The upper bound of the starting changepoint position in a 99% two-tailed
	// confidence interval. Inclusive.
	StartPositionUpperBound_99Th int64 `` /* 150-byte string literal not displayed */
	// The nominal commit position at which the segment starts (inclusive).
	NominalStartPosition int64 `protobuf:"varint,12,opt,name=nominal_start_position,json=nominalStartPosition,proto3" json:"nominal_start_position,omitempty"`
	// The nominal commit position at which the previous segment ends (inclusive).
	PreviousSegmentNominalEndPosition int64 `` /* 168-byte string literal not displayed */
	// contains filtered or unexported fields
}

Represent a changepoint of a test variant branch. Next ID: 15.

func (*Changepoint) Descriptor deprecated

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

Deprecated: Use Changepoint.ProtoReflect.Descriptor instead.

func (*Changepoint) GetNominalStartPosition

func (x *Changepoint) GetNominalStartPosition() int64

func (*Changepoint) GetPreviousSegmentNominalEndPosition

func (x *Changepoint) GetPreviousSegmentNominalEndPosition() int64

func (*Changepoint) GetProject

func (x *Changepoint) GetProject() string

func (*Changepoint) GetRef

func (x *Changepoint) GetRef() *SourceRef

func (*Changepoint) GetRefHash

func (x *Changepoint) GetRefHash() string

func (*Changepoint) GetStartHour

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

func (*Changepoint) GetStartPositionLowerBound_99Th

func (x *Changepoint) GetStartPositionLowerBound_99Th() int64

func (*Changepoint) GetStartPositionUpperBound_99Th

func (x *Changepoint) GetStartPositionUpperBound_99Th() int64

func (*Changepoint) GetTestId

func (x *Changepoint) GetTestId() string

func (*Changepoint) GetVariant

func (x *Changepoint) GetVariant() *Variant

func (*Changepoint) GetVariantHash

func (x *Changepoint) GetVariantHash() string

func (*Changepoint) ProtoMessage

func (*Changepoint) ProtoMessage()

func (*Changepoint) ProtoReflect

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

func (*Changepoint) Reset

func (x *Changepoint) Reset()

func (*Changepoint) String

func (x *Changepoint) String() string

type ChangepointGroupStatistics

type ChangepointGroupStatistics struct {

	// The number of test variant branches in this group.
	Count int32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
	// Unexpected verdict rate before the changepoint.
	// The per test variant branch, unexpected verdict rate is calculated as (count of unexpected verdict/count of all verdicts).
	UnexpectedVerdictRateBefore *ChangepointGroupStatistics_RateDistribution `` /* 146-byte string literal not displayed */
	// Unexpected verdict rate after the changepoint.
	UnexpectedVerdictRateAfter *ChangepointGroupStatistics_RateDistribution `` /* 143-byte string literal not displayed */
	// The current unexpected verdict rate.
	UnexpectedVerdictRateCurrent *ChangepointGroupStatistics_RateDistribution `` /* 149-byte string literal not displayed */
	// The amount of change in unexpected verdict rate before and after the changepoint.
	UnexpectedVerdictRateChange *ChangepointGroupStatistics_RateChangeBuckets `` /* 146-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ChangepointGroupStatistics) Descriptor deprecated

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

Deprecated: Use ChangepointGroupStatistics.ProtoReflect.Descriptor instead.

func (*ChangepointGroupStatistics) GetCount

func (x *ChangepointGroupStatistics) GetCount() int32

func (*ChangepointGroupStatistics) GetUnexpectedVerdictRateAfter

func (x *ChangepointGroupStatistics) GetUnexpectedVerdictRateAfter() *ChangepointGroupStatistics_RateDistribution

func (*ChangepointGroupStatistics) GetUnexpectedVerdictRateBefore

func (x *ChangepointGroupStatistics) GetUnexpectedVerdictRateBefore() *ChangepointGroupStatistics_RateDistribution

func (*ChangepointGroupStatistics) GetUnexpectedVerdictRateChange

func (x *ChangepointGroupStatistics) GetUnexpectedVerdictRateChange() *ChangepointGroupStatistics_RateChangeBuckets

func (*ChangepointGroupStatistics) GetUnexpectedVerdictRateCurrent

func (x *ChangepointGroupStatistics) GetUnexpectedVerdictRateCurrent() *ChangepointGroupStatistics_RateDistribution

func (*ChangepointGroupStatistics) ProtoMessage

func (*ChangepointGroupStatistics) ProtoMessage()

func (*ChangepointGroupStatistics) ProtoReflect

func (*ChangepointGroupStatistics) Reset

func (x *ChangepointGroupStatistics) Reset()

func (*ChangepointGroupStatistics) String

func (x *ChangepointGroupStatistics) String() string

type ChangepointGroupStatistics_RateChangeBuckets

type ChangepointGroupStatistics_RateChangeBuckets struct {

	// Counts the number of test variant branches which saw their unexpected verdict rate increase by between 0% (inclusive) and 20% (exclusive).
	CountIncreased_0To_20Percent int32 `` /* 148-byte string literal not displayed */
	// Counts the number of test variant branches which saw their unexpected verdict rate increase by between 20% (inclusive) and 50% (exclusive).
	CountIncreased_20To_50Percent int32 `` /* 151-byte string literal not displayed */
	// Counts the number of test variant branches which saw their unexpected verdict rate increase by between 50% (inclusive) or more.
	CountIncreased_50To_100Percent int32 `` /* 154-byte string literal not displayed */
	// contains filtered or unexported fields
}

Unexpected verdict rate change is calculated by (unexpected verdict rate after changepoint - unexpected verdict rate before changepoint). TODO: we need to add buckets for unexpected verdict rate decrease when we support grouping fixes. Unexpected verdict rate decrease will be represented as negative number.

func (*ChangepointGroupStatistics_RateChangeBuckets) Descriptor deprecated

Deprecated: Use ChangepointGroupStatistics_RateChangeBuckets.ProtoReflect.Descriptor instead.

func (*ChangepointGroupStatistics_RateChangeBuckets) GetCountIncreased_0To_20Percent

func (x *ChangepointGroupStatistics_RateChangeBuckets) GetCountIncreased_0To_20Percent() int32

func (*ChangepointGroupStatistics_RateChangeBuckets) GetCountIncreased_20To_50Percent

func (x *ChangepointGroupStatistics_RateChangeBuckets) GetCountIncreased_20To_50Percent() int32

func (*ChangepointGroupStatistics_RateChangeBuckets) GetCountIncreased_50To_100Percent

func (x *ChangepointGroupStatistics_RateChangeBuckets) GetCountIncreased_50To_100Percent() int32

func (*ChangepointGroupStatistics_RateChangeBuckets) ProtoMessage

func (*ChangepointGroupStatistics_RateChangeBuckets) ProtoReflect

func (*ChangepointGroupStatistics_RateChangeBuckets) Reset

func (*ChangepointGroupStatistics_RateChangeBuckets) String

type ChangepointGroupStatistics_RateDistribution

type ChangepointGroupStatistics_RateDistribution struct {

	// Average unexpected verdict rate of all test variant branches in the group. This is a value between 0.0 and 1.0.
	// Consequently, this is an ‘average of averages’.
	Average float32 `protobuf:"fixed32,1,opt,name=average,proto3" json:"average,omitempty"`
	// Count the number of changepoint that fall into each rate bucket.
	Buckets *ChangepointGroupStatistics_RateDistribution_RateBuckets `protobuf:"bytes,2,opt,name=buckets,proto3" json:"buckets,omitempty"`
	// contains filtered or unexported fields
}

func (*ChangepointGroupStatistics_RateDistribution) Descriptor deprecated

Deprecated: Use ChangepointGroupStatistics_RateDistribution.ProtoReflect.Descriptor instead.

func (*ChangepointGroupStatistics_RateDistribution) GetAverage

func (*ChangepointGroupStatistics_RateDistribution) GetBuckets

func (*ChangepointGroupStatistics_RateDistribution) ProtoMessage

func (*ChangepointGroupStatistics_RateDistribution) ProtoReflect

func (*ChangepointGroupStatistics_RateDistribution) Reset

func (*ChangepointGroupStatistics_RateDistribution) String

type ChangepointGroupStatistics_RateDistribution_RateBuckets

type ChangepointGroupStatistics_RateDistribution_RateBuckets struct {

	// Counts the number of test variant branches with a unexpected verdict rate less than 5% (exclusive).
	CountLess_5Percent int32 `protobuf:"varint,1,opt,name=count_less_5_percent,json=countLess5Percent,proto3" json:"count_less_5_percent,omitempty"`
	// Counts the number of test variant branches with a unexpected verdict rate greater than or equal to 5%, but less than 95%.
	CountAbove_5LessThan_95Percent int32 `` /* 156-byte string literal not displayed */
	// Counts the number of test variant branches with a unexpected verdict rate equal to or greater than 95%.
	CountAbove_95Percent int32 `protobuf:"varint,3,opt,name=count_above_95_percent,json=countAbove95Percent,proto3" json:"count_above_95_percent,omitempty"`
	// contains filtered or unexported fields
}

func (*ChangepointGroupStatistics_RateDistribution_RateBuckets) Descriptor deprecated

Deprecated: Use ChangepointGroupStatistics_RateDistribution_RateBuckets.ProtoReflect.Descriptor instead.

func (*ChangepointGroupStatistics_RateDistribution_RateBuckets) GetCountAbove_5LessThan_95Percent

func (x *ChangepointGroupStatistics_RateDistribution_RateBuckets) GetCountAbove_5LessThan_95Percent() int32

func (*ChangepointGroupStatistics_RateDistribution_RateBuckets) GetCountAbove_95Percent

func (*ChangepointGroupStatistics_RateDistribution_RateBuckets) GetCountLess_5Percent

func (*ChangepointGroupStatistics_RateDistribution_RateBuckets) ProtoMessage

func (*ChangepointGroupStatistics_RateDistribution_RateBuckets) ProtoReflect

func (*ChangepointGroupStatistics_RateDistribution_RateBuckets) Reset

func (*ChangepointGroupStatistics_RateDistribution_RateBuckets) String

type ChangepointGroupSummary

type ChangepointGroupSummary struct {

	// The canonical changepoint in the group. This is the changepoint with minimum (test_id, variant_hash, ref_hash, nominal_start_position) combination.
	CanonicalChangepoint *Changepoint `protobuf:"bytes,1,opt,name=canonical_changepoint,json=canonicalChangepoint,proto3" json:"canonical_changepoint,omitempty"`
	// Statistics of this group.
	Statistics *ChangepointGroupStatistics `protobuf:"bytes,2,opt,name=statistics,proto3" json:"statistics,omitempty"`
	// contains filtered or unexported fields
}

Represent the summary of a changepoint group.

func (*ChangepointGroupSummary) Descriptor deprecated

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

Deprecated: Use ChangepointGroupSummary.ProtoReflect.Descriptor instead.

func (*ChangepointGroupSummary) GetCanonicalChangepoint

func (x *ChangepointGroupSummary) GetCanonicalChangepoint() *Changepoint

func (*ChangepointGroupSummary) GetStatistics

func (*ChangepointGroupSummary) ProtoMessage

func (*ChangepointGroupSummary) ProtoMessage()

func (*ChangepointGroupSummary) ProtoReflect

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

func (*ChangepointGroupSummary) Reset

func (x *ChangepointGroupSummary) Reset()

func (*ChangepointGroupSummary) String

func (x *ChangepointGroupSummary) String() string

type ChangepointPredicate

type ChangepointPredicate struct {

	// The test id of this changepoint contain this substring.
	TestIdContain string `protobuf:"bytes,1,opt,name=test_id_contain,json=testIdContain,proto3" json:"test_id_contain,omitempty"`
	// contains filtered or unexported fields
}

Represent a function Changepoint -> bool

func (*ChangepointPredicate) Descriptor deprecated

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

Deprecated: Use ChangepointPredicate.ProtoReflect.Descriptor instead.

func (*ChangepointPredicate) GetTestIdContain

func (x *ChangepointPredicate) GetTestIdContain() string

func (*ChangepointPredicate) ProtoMessage

func (*ChangepointPredicate) ProtoMessage()

func (*ChangepointPredicate) ProtoReflect

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

func (*ChangepointPredicate) Reset

func (x *ChangepointPredicate) Reset()

func (*ChangepointPredicate) String

func (x *ChangepointPredicate) String() string

type ChangepointPredicateLegacy

type ChangepointPredicateLegacy struct {

	// The test id of this changepoint matches this prefix.
	TestIdPrefix string `protobuf:"bytes,1,opt,name=test_id_prefix,json=testIdPrefix,proto3" json:"test_id_prefix,omitempty"`
	// Specify a range. The unexpected verdict rate change on this changepoint needs to fall into this range.
	// Unexpected verdict rate change is calculated by (unexpected verdict rate after changepoint - unexpected verdict rate before changepoint).
	// Negative number means unexpected verdict rate decreases, positive number means increases.
	// eg. {lower_bound:0.1, upper_bound:0.9} means keep changepoint which has a unexpected verdict rate increase >= 10% and <= 90%.
	UnexpectedVerdictRateChangeRange *NumericRange `` /* 163-byte string literal not displayed */
	// contains filtered or unexported fields
}

Represent a function Changepoint -> bool Deprecated: use ChangepointPredicate instead.

func (*ChangepointPredicateLegacy) Descriptor deprecated

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

Deprecated: Use ChangepointPredicateLegacy.ProtoReflect.Descriptor instead.

func (*ChangepointPredicateLegacy) GetTestIdPrefix

func (x *ChangepointPredicateLegacy) GetTestIdPrefix() string

func (*ChangepointPredicateLegacy) GetUnexpectedVerdictRateChangeRange

func (x *ChangepointPredicateLegacy) GetUnexpectedVerdictRateChangeRange() *NumericRange

func (*ChangepointPredicateLegacy) ProtoMessage

func (*ChangepointPredicateLegacy) ProtoMessage()

func (*ChangepointPredicateLegacy) ProtoReflect

func (*ChangepointPredicateLegacy) Reset

func (x *ChangepointPredicateLegacy) Reset()

func (*ChangepointPredicateLegacy) String

func (x *ChangepointPredicateLegacy) String() string

type ChangepointsClient

type ChangepointsClient interface {
	// Query the changepoint group summaries.
	// Currently this RPC only returns at most 1000 changepoint groups starting at the current week.
	//
	// Deprecated: use QueryGroupSummaries instead.
	QueryChangepointGroupSummaries(ctx context.Context, in *QueryChangepointGroupSummariesRequestLegacy, opts ...grpc.CallOption) (*QueryChangepointGroupSummariesResponseLegacy, error)
	// Query the summaries of changepoint groups started at a week within the last 90 days.
	QueryGroupSummaries(ctx context.Context, in *QueryChangepointGroupSummariesRequest, opts ...grpc.CallOption) (*QueryChangepointGroupSummariesResponse, error)
	// Query the changepoints in a particular group.
	// TODO: Implement pagination, currently just return at most 1000 changepoints.
	QueryChangepointsInGroup(ctx context.Context, in *QueryChangepointsInGroupRequest, opts ...grpc.CallOption) (*QueryChangepointsInGroupResponse, error)
}

ChangepointsClient is the client API for Changepoints service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewChangepointsPRPCClient

func NewChangepointsPRPCClient(client *prpc.Client) ChangepointsClient

type ChangepointsServer

type ChangepointsServer interface {
	// Query the changepoint group summaries.
	// Currently this RPC only returns at most 1000 changepoint groups starting at the current week.
	//
	// Deprecated: use QueryGroupSummaries instead.
	QueryChangepointGroupSummaries(context.Context, *QueryChangepointGroupSummariesRequestLegacy) (*QueryChangepointGroupSummariesResponseLegacy, error)
	// Query the summaries of changepoint groups started at a week within the last 90 days.
	QueryGroupSummaries(context.Context, *QueryChangepointGroupSummariesRequest) (*QueryChangepointGroupSummariesResponse, error)
	// Query the changepoints in a particular group.
	// TODO: Implement pagination, currently just return at most 1000 changepoints.
	QueryChangepointsInGroup(context.Context, *QueryChangepointsInGroupRequest) (*QueryChangepointsInGroupResponse, error)
}

ChangepointsServer is the server API for Changepoints service.

type Cluster

type Cluster struct {

	// The resource name of the cluster.
	// Format: projects/{project}/clusters/{cluster_algorithm}/{cluster_id}.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Whether there is a recent example in the cluster.
	HasExample bool `protobuf:"varint,2,opt,name=has_example,json=hasExample,proto3" json:"has_example,omitempty"`
	// A human-readable name for the cluster.
	// Only populated for suggested clusters where has_example = true.
	// Not populated for rule-based clusters.
	Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	// The values of metrics associated with the cluster. The map key is the ID
	// of the metric (e.g. "human-cls-failed-presubmit").
	//
	// The following metrics are currently defined:
	//   - "human-cls-failed-presubmit":
	//     The number of distinct developer changelists that failed at least one
	//     presubmit (CQ) run because of failure(s) in this cluster. Excludes
	//     changelists authored by automation.
	//   - "critical-failures-exonerated":
	//     The number of failures on test variants which were configured to be
	//     presubmit-blocking, which were exonerated (i.e. did not actually block
	//     presubmit) because infrastructure determined the test variant to be
	//     failing or too flaky at tip-of-tree. If this number is non-zero, it
	//     means a test variant which was configured to be presubmit-blocking is
	//     not stable enough to do so, and should be fixed or made non-blocking.
	//   - "failures":
	//     The total number of test results in this cluster. LUCI Analysis only
	//     clusters test results which are unexpected and have a status of crash,
	//     abort or fail, so by definition the only test results counted here
	//     will be an unexpected fail/crash/abort.
	Metrics map[string]*Cluster_TimewiseCounts `` /* 156-byte string literal not displayed */
	// The failure association rule equivalent to the cluster. Populated only
	// for suggested clusters where has_example = true.
	// Not populated for rule-based clusters. If you need the failure
	// association rule for a rule-based cluster, use
	// luci.analysis.v1.Rules/Get to retrieve the rule with ID matching the
	// cluster ID.
	// Used to facilitate creating a new rule based on a suggested cluster.
	EquivalentFailureAssociationRule string `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Cluster) Descriptor deprecated

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

Deprecated: Use Cluster.ProtoReflect.Descriptor instead.

func (*Cluster) GetEquivalentFailureAssociationRule

func (x *Cluster) GetEquivalentFailureAssociationRule() string

func (*Cluster) GetHasExample

func (x *Cluster) GetHasExample() bool

func (*Cluster) GetMetrics

func (x *Cluster) GetMetrics() map[string]*Cluster_TimewiseCounts

func (*Cluster) GetName

func (x *Cluster) GetName() string

func (*Cluster) GetTitle

func (x *Cluster) GetTitle() string

func (*Cluster) ProtoMessage

func (*Cluster) ProtoMessage()

func (*Cluster) ProtoReflect

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

func (*Cluster) Reset

func (x *Cluster) Reset()

func (*Cluster) String

func (x *Cluster) String() string

type ClusterExoneratedTestVariant

type ClusterExoneratedTestVariant struct {

	// A unique identifier of the test in a LUCI project.
	TestId string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Description of one specific way of running the test,
	// e.g. a specific bucket, builder and a test suite.
	Variant *Variant `protobuf:"bytes,2,opt,name=variant,proto3" json:"variant,omitempty"`
	// The number of critical (presubmit-blocking) failures in the
	// cluster which have been exonerated on this test variant
	// in the last week.
	CriticalFailuresExonerated int32 `` /* 142-byte string literal not displayed */
	// The partition time of the most recent exoneration of a
	// critical failure.
	LastExoneration *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_exoneration,json=lastExoneration,proto3" json:"last_exoneration,omitempty"`
	// contains filtered or unexported fields
}

ClusterExoneratedTestVariant represents a test variant in a cluster which has been exonerated. A cluster test variant is the subset of a test variant that intersects with the failures of a cluster.

func (*ClusterExoneratedTestVariant) Descriptor deprecated

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

Deprecated: Use ClusterExoneratedTestVariant.ProtoReflect.Descriptor instead.

func (*ClusterExoneratedTestVariant) GetCriticalFailuresExonerated

func (x *ClusterExoneratedTestVariant) GetCriticalFailuresExonerated() int32

func (*ClusterExoneratedTestVariant) GetLastExoneration

func (x *ClusterExoneratedTestVariant) GetLastExoneration() *timestamppb.Timestamp

func (*ClusterExoneratedTestVariant) GetTestId

func (x *ClusterExoneratedTestVariant) GetTestId() string

func (*ClusterExoneratedTestVariant) GetVariant

func (x *ClusterExoneratedTestVariant) GetVariant() *Variant

func (*ClusterExoneratedTestVariant) ProtoMessage

func (*ClusterExoneratedTestVariant) ProtoMessage()

func (*ClusterExoneratedTestVariant) ProtoReflect

func (*ClusterExoneratedTestVariant) Reset

func (x *ClusterExoneratedTestVariant) Reset()

func (*ClusterExoneratedTestVariant) String

type ClusterExoneratedTestVariantBranch

type ClusterExoneratedTestVariantBranch struct {

	// The LUCI project.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// A unique identifier of the test in a LUCI project.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Description of one specific way of running the test,
	// e.g. a specific bucket, builder and a test suite.
	Variant *Variant `protobuf:"bytes,3,opt,name=variant,proto3" json:"variant,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`.
	SourceRef *SourceRef `protobuf:"bytes,4,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	// The number of critical (presubmit-blocking) failures in the
	// cluster which have been exonerated on this test variant
	// in the last week.
	CriticalFailuresExonerated int32 `` /* 142-byte string literal not displayed */
	// The partition time of the most recent exoneration of a
	// critical failure.
	LastExoneration *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_exoneration,json=lastExoneration,proto3" json:"last_exoneration,omitempty"`
	// contains filtered or unexported fields
}

ClusterExoneratedTestVariantBranch represents a (test, variant, source ref) in a cluster which has been exonerated. A cluster test variant branch is the subset of a test variant branch that intersects with the failures of a cluster.

func (*ClusterExoneratedTestVariantBranch) Descriptor deprecated

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

Deprecated: Use ClusterExoneratedTestVariantBranch.ProtoReflect.Descriptor instead.

func (*ClusterExoneratedTestVariantBranch) GetCriticalFailuresExonerated

func (x *ClusterExoneratedTestVariantBranch) GetCriticalFailuresExonerated() int32

func (*ClusterExoneratedTestVariantBranch) GetLastExoneration

func (x *ClusterExoneratedTestVariantBranch) GetLastExoneration() *timestamppb.Timestamp

func (*ClusterExoneratedTestVariantBranch) GetProject

func (*ClusterExoneratedTestVariantBranch) GetSourceRef

func (x *ClusterExoneratedTestVariantBranch) GetSourceRef() *SourceRef

func (*ClusterExoneratedTestVariantBranch) GetTestId

func (*ClusterExoneratedTestVariantBranch) GetVariant

func (*ClusterExoneratedTestVariantBranch) ProtoMessage

func (*ClusterExoneratedTestVariantBranch) ProtoMessage()

func (*ClusterExoneratedTestVariantBranch) ProtoReflect

func (*ClusterExoneratedTestVariantBranch) Reset

func (*ClusterExoneratedTestVariantBranch) String

type ClusterHistoryDay

type ClusterHistoryDay struct {

	// A map from requested metric name to the value of that metric on this day.
	// The key of the map is the metric ID.
	Metrics map[string]int32 `` /* 156-byte string literal not displayed */
	// The date that these metrics are for.
	// This is a UTC date in ISO 8601 format, e.g. 2022-11-29
	Date string `protobuf:"bytes,2,opt,name=date,proto3" json:"date,omitempty"`
	// contains filtered or unexported fields
}

Represents metrics about a cluster on a specific day.

func (*ClusterHistoryDay) Descriptor deprecated

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

Deprecated: Use ClusterHistoryDay.ProtoReflect.Descriptor instead.

func (*ClusterHistoryDay) GetDate

func (x *ClusterHistoryDay) GetDate() string

func (*ClusterHistoryDay) GetMetrics

func (x *ClusterHistoryDay) GetMetrics() map[string]int32

func (*ClusterHistoryDay) ProtoMessage

func (*ClusterHistoryDay) ProtoMessage()

func (*ClusterHistoryDay) ProtoReflect

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

func (*ClusterHistoryDay) Reset

func (x *ClusterHistoryDay) Reset()

func (*ClusterHistoryDay) String

func (x *ClusterHistoryDay) String() string

type ClusterId

type ClusterId struct {

	// Algorithm is the name of the clustering algorithm that identified
	// the cluster.
	Algorithm string `protobuf:"bytes,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"`
	// Id is the cluster identifier returned by the algorithm. The underlying
	// identifier is at most 16 bytes, but is represented here as a hexadecimal
	// string of up to 32 lowercase hexadecimal characters.
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

ClusterId represents the identity of a cluster. The LUCI Project is omitted as it is assumed to be implicit from the context.

This is often used in place of the resource name of the cluster (in the sense of https://google.aip.dev/122) as clients may need to access individual parts of the resource name (e.g. to determine the algorithm used) and it is not desirable to make clients parse the resource name.

func (*ClusterId) Descriptor deprecated

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

Deprecated: Use ClusterId.ProtoReflect.Descriptor instead.

func (*ClusterId) GetAlgorithm

func (x *ClusterId) GetAlgorithm() string

func (*ClusterId) GetId

func (x *ClusterId) GetId() string

func (*ClusterId) ProtoMessage

func (*ClusterId) ProtoMessage()

func (*ClusterId) ProtoReflect

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

func (*ClusterId) Reset

func (x *ClusterId) Reset()

func (*ClusterId) String

func (x *ClusterId) String() string

type ClusterRequest

type ClusterRequest struct {

	// The LUCI Project for which the test result should be clustered.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The test results to cluster. At most 1000 test results may be
	// clustered in one request.
	TestResults []*ClusterRequest_TestResult `protobuf:"bytes,2,rep,name=test_results,json=testResults,proto3" json:"test_results,omitempty"`
	// contains filtered or unexported fields
}

func (*ClusterRequest) Descriptor deprecated

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

Deprecated: Use ClusterRequest.ProtoReflect.Descriptor instead.

func (*ClusterRequest) GetProject

func (x *ClusterRequest) GetProject() string

func (*ClusterRequest) GetTestResults

func (x *ClusterRequest) GetTestResults() []*ClusterRequest_TestResult

func (*ClusterRequest) ProtoMessage

func (*ClusterRequest) ProtoMessage()

func (*ClusterRequest) ProtoReflect

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

func (*ClusterRequest) Reset

func (x *ClusterRequest) Reset()

func (*ClusterRequest) String

func (x *ClusterRequest) String() string

type ClusterRequest_TestResult

type ClusterRequest_TestResult struct {

	// Opaque tag supplied by the caller, to be returned in the
	// response. Provided to assist correlating responses with requests.
	// Does not need to be unique. Optional.
	RequestTag string `protobuf:"bytes,1,opt,name=request_tag,json=requestTag,proto3" json:"request_tag,omitempty"`
	// Identifier of the test (as reported to ResultDB).
	// For chromium projects, this starts with ninja://.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// The failure reason of the test (if any).
	FailureReason *FailureReason `protobuf:"bytes,3,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
	// contains filtered or unexported fields
}

TestResult captures information about a test result, sufficient to cluster it. The fields requested here may be expanded over time. For example, variant information may be requested in future.

func (*ClusterRequest_TestResult) Descriptor deprecated

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

Deprecated: Use ClusterRequest_TestResult.ProtoReflect.Descriptor instead.

func (*ClusterRequest_TestResult) GetFailureReason

func (x *ClusterRequest_TestResult) GetFailureReason() *FailureReason

func (*ClusterRequest_TestResult) GetRequestTag

func (x *ClusterRequest_TestResult) GetRequestTag() string

func (*ClusterRequest_TestResult) GetTestId

func (x *ClusterRequest_TestResult) GetTestId() string

func (*ClusterRequest_TestResult) ProtoMessage

func (*ClusterRequest_TestResult) ProtoMessage()

func (*ClusterRequest_TestResult) ProtoReflect

func (*ClusterRequest_TestResult) Reset

func (x *ClusterRequest_TestResult) Reset()

func (*ClusterRequest_TestResult) String

func (x *ClusterRequest_TestResult) String() string

type ClusterResponse

type ClusterResponse struct {

	// The clusters each test result is in.
	// Contains one result for each test result specified in the request.
	// Results are provided in the same order as the request, so
	// the i-th ClusteredTestResult corresponds to the i-th
	// TestResult in the request.
	ClusteredTestResults []*ClusterResponse_ClusteredTestResult `protobuf:"bytes,1,rep,name=clustered_test_results,json=clusteredTestResults,proto3" json:"clustered_test_results,omitempty"`
	// The versions of clustering algorithms, rules and project configuration
	// used to service this request. For debugging purposes only.
	ClusteringVersion *ClusteringVersion `protobuf:"bytes,2,opt,name=clustering_version,json=clusteringVersion,proto3" json:"clustering_version,omitempty"`
	// contains filtered or unexported fields
}

func (*ClusterResponse) Descriptor deprecated

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

Deprecated: Use ClusterResponse.ProtoReflect.Descriptor instead.

func (*ClusterResponse) GetClusteredTestResults

func (x *ClusterResponse) GetClusteredTestResults() []*ClusterResponse_ClusteredTestResult

func (*ClusterResponse) GetClusteringVersion

func (x *ClusterResponse) GetClusteringVersion() *ClusteringVersion

func (*ClusterResponse) ProtoMessage

func (*ClusterResponse) ProtoMessage()

func (*ClusterResponse) ProtoReflect

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

func (*ClusterResponse) Reset

func (x *ClusterResponse) Reset()

func (*ClusterResponse) String

func (x *ClusterResponse) String() string

type ClusterResponse_ClusteredTestResult

type ClusterResponse_ClusteredTestResult struct {

	// Opaque tag supplied by the caller in the request. Provided to assist
	// the caller correlate responses with requests.
	RequestTag string `protobuf:"bytes,1,opt,name=request_tag,json=requestTag,proto3" json:"request_tag,omitempty"`
	// The clusters the test result is contained within.
	Clusters []*ClusterResponse_ClusteredTestResult_ClusterEntry `protobuf:"bytes,2,rep,name=clusters,proto3" json:"clusters,omitempty"`
	// contains filtered or unexported fields
}

The cluster(s) a test result is contained in.

func (*ClusterResponse_ClusteredTestResult) Descriptor deprecated

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

Deprecated: Use ClusterResponse_ClusteredTestResult.ProtoReflect.Descriptor instead.

func (*ClusterResponse_ClusteredTestResult) GetClusters

func (*ClusterResponse_ClusteredTestResult) GetRequestTag

func (x *ClusterResponse_ClusteredTestResult) GetRequestTag() string

func (*ClusterResponse_ClusteredTestResult) ProtoMessage

func (*ClusterResponse_ClusteredTestResult) ProtoMessage()

func (*ClusterResponse_ClusteredTestResult) ProtoReflect

func (*ClusterResponse_ClusteredTestResult) Reset

func (*ClusterResponse_ClusteredTestResult) String

type ClusterResponse_ClusteredTestResult_ClusterEntry

type ClusterResponse_ClusteredTestResult_ClusterEntry struct {

	// The unique identifier of the cluster.
	// If the algorithm is "rules", the cluster ID is also a rule ID.
	ClusterId *ClusterId `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	// The bug associated with the cluster, if any. This is only
	// populated for clusters defined by a failure association rule,
	// which associates specified failures to a bug.
	Bug *AssociatedBug `protobuf:"bytes,2,opt,name=bug,proto3" json:"bug,omitempty"`
	// contains filtered or unexported fields
}

An individual cluster a test result is contained in.

func (*ClusterResponse_ClusteredTestResult_ClusterEntry) Descriptor deprecated

Deprecated: Use ClusterResponse_ClusteredTestResult_ClusterEntry.ProtoReflect.Descriptor instead.

func (*ClusterResponse_ClusteredTestResult_ClusterEntry) GetBug

func (*ClusterResponse_ClusteredTestResult_ClusterEntry) GetClusterId

func (*ClusterResponse_ClusteredTestResult_ClusterEntry) ProtoMessage

func (*ClusterResponse_ClusteredTestResult_ClusterEntry) ProtoReflect

func (*ClusterResponse_ClusteredTestResult_ClusterEntry) Reset

func (*ClusterResponse_ClusteredTestResult_ClusterEntry) String

type ClusterSummary

type ClusterSummary struct {

	// The cluster ID of this cluster.
	ClusterId *ClusterId `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	// Title is a one-line description of the cluster.
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// The bug associated with the cluster. This will only be present for
	// rules algorithm clusters.
	Bug *AssociatedBug `protobuf:"bytes,3,opt,name=bug,proto3" json:"bug,omitempty"`
	// The values of cluster metrics. The key of the map is the identifier
	// of the metric (e.g. "human-cls-failed-presubmit").
	// See the metrics field on the luci.analysis.v1.Cluster message for details
	// about valid metric identifiers.
	Metrics map[string]*ClusterSummary_MetricValue `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ClusterSummary) Descriptor deprecated

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

Deprecated: Use ClusterSummary.ProtoReflect.Descriptor instead.

func (*ClusterSummary) GetBug

func (x *ClusterSummary) GetBug() *AssociatedBug

func (*ClusterSummary) GetClusterId

func (x *ClusterSummary) GetClusterId() *ClusterId

func (*ClusterSummary) GetMetrics

func (x *ClusterSummary) GetMetrics() map[string]*ClusterSummary_MetricValue

func (*ClusterSummary) GetTitle

func (x *ClusterSummary) GetTitle() string

func (*ClusterSummary) ProtoMessage

func (*ClusterSummary) ProtoMessage()

func (*ClusterSummary) ProtoReflect

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

func (*ClusterSummary) Reset

func (x *ClusterSummary) Reset()

func (*ClusterSummary) String

func (x *ClusterSummary) String() string

type ClusterSummaryView

type ClusterSummaryView int32
const (
	// The default / unset value.
	// The API will default to the BASIC view.
	ClusterSummaryView_CLUSTER_SUMMARY_VIEW_UNSPECIFIED ClusterSummaryView = 0
	// Include most fields in the cluster summary, EXCLUDING
	// daily breakdowns of the cluster's impact metrics.
	ClusterSummaryView_BASIC ClusterSummaryView = 1
	// Include everything in the cluster summary.
	ClusterSummaryView_FULL ClusterSummaryView = 2
)

func (ClusterSummaryView) Descriptor

func (ClusterSummaryView) Enum

func (ClusterSummaryView) EnumDescriptor deprecated

func (ClusterSummaryView) EnumDescriptor() ([]byte, []int)

Deprecated: Use ClusterSummaryView.Descriptor instead.

func (ClusterSummaryView) Number

func (ClusterSummaryView) String

func (x ClusterSummaryView) String() string

func (ClusterSummaryView) Type

type ClusterSummary_MetricValue

type ClusterSummary_MetricValue struct {

	// The residual value of the cluster metric.
	// For bug clusters, the residual metric value is the metric value
	// calculated using all of the failures in the cluster.
	// For suggested clusters, the residual metric value is calculated
	// using the failures in the cluster which are not also part of a
	// bug cluster. In this way, measures attributed to bug clusters
	// are not counted again against suggested clusters.
	Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
	// The value of the cluster metric over time, grouped by 24-hour periods
	// in the queried time range, in reverse chronological order
	// i.e. the first entry is the metric value for the 24-hour period
	// immediately preceding the time range's latest time.
	DailyBreakdown []int64 `protobuf:"varint,2,rep,packed,name=daily_breakdown,json=dailyBreakdown,proto3" json:"daily_breakdown,omitempty"`
	// contains filtered or unexported fields
}

func (*ClusterSummary_MetricValue) Descriptor deprecated

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

Deprecated: Use ClusterSummary_MetricValue.ProtoReflect.Descriptor instead.

func (*ClusterSummary_MetricValue) GetDailyBreakdown

func (x *ClusterSummary_MetricValue) GetDailyBreakdown() []int64

func (*ClusterSummary_MetricValue) GetValue

func (x *ClusterSummary_MetricValue) GetValue() int64

func (*ClusterSummary_MetricValue) ProtoMessage

func (*ClusterSummary_MetricValue) ProtoMessage()

func (*ClusterSummary_MetricValue) ProtoReflect

func (*ClusterSummary_MetricValue) Reset

func (x *ClusterSummary_MetricValue) Reset()

func (*ClusterSummary_MetricValue) String

func (x *ClusterSummary_MetricValue) String() string

type Cluster_Counts

type Cluster_Counts struct {

	// The value of the metric (summed over all failures).
	Nominal int64 `protobuf:"varint,1,opt,name=nominal,proto3" json:"nominal,omitempty"`
	// contains filtered or unexported fields
}

func (*Cluster_Counts) Descriptor deprecated

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

Deprecated: Use Cluster_Counts.ProtoReflect.Descriptor instead.

func (*Cluster_Counts) GetNominal

func (x *Cluster_Counts) GetNominal() int64

func (*Cluster_Counts) ProtoMessage

func (*Cluster_Counts) ProtoMessage()

func (*Cluster_Counts) ProtoReflect

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

func (*Cluster_Counts) Reset

func (x *Cluster_Counts) Reset()

func (*Cluster_Counts) String

func (x *Cluster_Counts) String() string

type Cluster_TimewiseCounts

type Cluster_TimewiseCounts struct {

	// The impact value for the last day.
	OneDay *Cluster_Counts `protobuf:"bytes,2,opt,name=one_day,json=oneDay,proto3" json:"one_day,omitempty"`
	// The impact value for the last three days.
	ThreeDay *Cluster_Counts `protobuf:"bytes,3,opt,name=three_day,json=threeDay,proto3" json:"three_day,omitempty"`
	// The impact value for the last week.
	SevenDay *Cluster_Counts `protobuf:"bytes,4,opt,name=seven_day,json=sevenDay,proto3" json:"seven_day,omitempty"`
	// contains filtered or unexported fields
}

func (*Cluster_TimewiseCounts) Descriptor deprecated

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

Deprecated: Use Cluster_TimewiseCounts.ProtoReflect.Descriptor instead.

func (*Cluster_TimewiseCounts) GetOneDay

func (x *Cluster_TimewiseCounts) GetOneDay() *Cluster_Counts

func (*Cluster_TimewiseCounts) GetSevenDay

func (x *Cluster_TimewiseCounts) GetSevenDay() *Cluster_Counts

func (*Cluster_TimewiseCounts) GetThreeDay

func (x *Cluster_TimewiseCounts) GetThreeDay() *Cluster_Counts

func (*Cluster_TimewiseCounts) ProtoMessage

func (*Cluster_TimewiseCounts) ProtoMessage()

func (*Cluster_TimewiseCounts) ProtoReflect

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

func (*Cluster_TimewiseCounts) Reset

func (x *Cluster_TimewiseCounts) Reset()

func (*Cluster_TimewiseCounts) String

func (x *Cluster_TimewiseCounts) String() string

type ClusteringVersion

type ClusteringVersion struct {

	// The version of clustering algorithms used.
	AlgorithmsVersion int32 `protobuf:"varint,1,opt,name=algorithms_version,json=algorithmsVersion,proto3" json:"algorithms_version,omitempty"`
	// The version of failure association rules used. This is the Spanner
	// commit timestamp of the last rule modification incorporated in the
	// set of rules used to cluster the results.
	RulesVersion *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=rules_version,json=rulesVersion,proto3" json:"rules_version,omitempty"`
	// The version of project configuration used. This is the timestamp
	// the project configuration was ingested by LUCI Analysis.
	ConfigVersion *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=config_version,json=configVersion,proto3" json:"config_version,omitempty"`
	// contains filtered or unexported fields
}

The versions of algorithms, rules and configuration used by LUCI Analysis to cluster test results. For a given test result and ClusteringVersion, the set of returned clusters should always be the same.

func (*ClusteringVersion) Descriptor deprecated

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

Deprecated: Use ClusteringVersion.ProtoReflect.Descriptor instead.

func (*ClusteringVersion) GetAlgorithmsVersion

func (x *ClusteringVersion) GetAlgorithmsVersion() int32

func (*ClusteringVersion) GetConfigVersion

func (x *ClusteringVersion) GetConfigVersion() *timestamppb.Timestamp

func (*ClusteringVersion) GetRulesVersion

func (x *ClusteringVersion) GetRulesVersion() *timestamppb.Timestamp

func (*ClusteringVersion) ProtoMessage

func (*ClusteringVersion) ProtoMessage()

func (*ClusteringVersion) ProtoReflect

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

func (*ClusteringVersion) Reset

func (x *ClusteringVersion) Reset()

func (*ClusteringVersion) String

func (x *ClusteringVersion) String() string

type ClustersClient

type ClustersClient interface {
	// Identifies the cluster(s) for one or more test failure(s).
	//
	// This RPC returns the clusters of each test result, using
	// current suggested cluster algorithms, configured failure
	// association rules, and ingested project configuration with
	// a bounded staleness of up to one minute. (Returned clusters
	// may be based on project configuration and configured failure
	// association rules that is up to one minute out-of-date).
	//
	// As at April 2022, the implementation does not use stale
	// rules, but you are instructed NOT to rely on this property to
	// allow reversion to the faster implementation that is tolerant
	// to higher QPS in future. If your use case require strong reads
	// (e.g. you want to call cluster immediately after updating a rule),
	// please contact LUCI Analysis owners. We may be able to provide a
	// request flag to select this processing behaviour.
	//
	// This RPC is a pure query API and does not lead to the ingestion of the
	// test failures by LUCI Analysis (e.g. for cluster impact calculations).
	Cluster(ctx context.Context, in *ClusterRequest, opts ...grpc.CallOption) (*ClusterResponse, error)
	// Reads information about the given cluster.
	//
	// Please consult LUCI Analysis owners before adding additional calls to
	// this RPC, as the implementation currently calls back to BigQuery and as
	// such, is not cost-optimised if many queries are to be made.
	//
	// As of writing (April 13, 2022) this query reads ~1 GB per call for
	// the largest LUCI Project, which translates to a cost of 0.5 US cents
	// per query at published pricing (US$5/TB analyzed for BigQuery).
	//
	// Changes to this RPC should comply with https://google.aip.dev/131.
	Get(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error)
	// Reads current progress re-clustering the given project. Re-clustering
	// means updating the clusters each failure is in to reflect the latest
	// failure association rules, suggested clustering algorithms and
	// clustering configuration.
	GetReclusteringProgress(ctx context.Context, in *GetReclusteringProgressRequest, opts ...grpc.CallOption) (*ReclusteringProgress, error)
	// Queries summary information about top clusters.
	//
	// The set of test failures used as input to the clustering can be
	// specified using the failure_filter field on the request.
	// The returned clusters include only the impact derived from the
	// filtered failures.
	//
	// This allows investigation of the highest impact clusters for some
	// subset of the failure data in a project. For example, a filter string
	// of "failure_reason:ssh" would find all of the clusters where any test
	// results mention "ssh" in their failure reason, and show how big the
	// impact from these ssh failures is in each cluster. This is useful when
	// investigating specific problems, or ownership areas of the tests.
	//
	// Please consult LUCI Analysis owners before adding additional calls
	// to this RPC, as the implementation currently calls back to BigQuery and as
	// such, is not cost-optimised if many queries are to be made.
	//
	// As of writing (April 13, 2022) this query reads up to 10 GB per call for
	// 7 days of data for the largest LUCI Project, which translates to a cost
	// of up to 5 US cents per query at published pricing
	// (US$5/TB analyzed for BigQuery).
	QueryClusterSummaries(ctx context.Context, in *QueryClusterSummariesRequest, opts ...grpc.CallOption) (*QueryClusterSummariesResponse, error)
	// Queries examples of failures in the given cluster.
	//
	// Please consult LUCI Analysis owners before adding additional calls to
	// this RPC, as the implementation currently calls back to BigQuery and as
	// such, is not cost-optimised if many queries are to be made.
	QueryClusterFailures(ctx context.Context, in *QueryClusterFailuresRequest, opts ...grpc.CallOption) (*QueryClusterFailuresResponse, error)
	// Queries test variants in the cluster which have recently had an
	// exoneration recorded against them. Only exonerations on failures
	// which are part of the cluster are considered.
	//
	// Consider solving this use case in future by a standard AIP-132 List
	// method with filter and order_by support.
	//
	// This RPC is useful for projects using the legacy QueryFailureRate
	// API for exoneration.
	QueryExoneratedTestVariants(ctx context.Context, in *QueryClusterExoneratedTestVariantsRequest, opts ...grpc.CallOption) (*QueryClusterExoneratedTestVariantsResponse, error)
	// Queries test variant branches in the cluster which have recently had
	// an exoneration recorded against them. Only exonerations on failures
	// which are part of the cluster are considered.
	//
	// Use for projects performing branch-scoped exoneration using
	// QueryStability.
	QueryExoneratedTestVariantBranches(ctx context.Context, in *QueryClusterExoneratedTestVariantBranchesRequest, opts ...grpc.CallOption) (*QueryClusterExoneratedTestVariantBranchesResponse, error)
	// Queries the history of metrics for clustered failures satisying given criteria.
	// For example the number of test runs failed on each day for the last 7 days.
	//
	// Please consult LUCI Analysis owners before adding additional calls to
	// this RPC, as the implementation currently calls back to BigQuery and as
	// such, is not cost-optimised if many queries are to be made.
	QueryHistory(ctx context.Context, in *QueryClusterHistoryRequest, opts ...grpc.CallOption) (*QueryClusterHistoryResponse, error)
}

ClustersClient is the client API for Clusters service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewClustersClient

func NewClustersClient(cc grpc.ClientConnInterface) ClustersClient

func NewClustersPRPCClient

func NewClustersPRPCClient(client *prpc.Client) ClustersClient

type ClustersServer

type ClustersServer interface {
	// Identifies the cluster(s) for one or more test failure(s).
	//
	// This RPC returns the clusters of each test result, using
	// current suggested cluster algorithms, configured failure
	// association rules, and ingested project configuration with
	// a bounded staleness of up to one minute. (Returned clusters
	// may be based on project configuration and configured failure
	// association rules that is up to one minute out-of-date).
	//
	// As at April 2022, the implementation does not use stale
	// rules, but you are instructed NOT to rely on this property to
	// allow reversion to the faster implementation that is tolerant
	// to higher QPS in future. If your use case require strong reads
	// (e.g. you want to call cluster immediately after updating a rule),
	// please contact LUCI Analysis owners. We may be able to provide a
	// request flag to select this processing behaviour.
	//
	// This RPC is a pure query API and does not lead to the ingestion of the
	// test failures by LUCI Analysis (e.g. for cluster impact calculations).
	Cluster(context.Context, *ClusterRequest) (*ClusterResponse, error)
	// Reads information about the given cluster.
	//
	// Please consult LUCI Analysis owners before adding additional calls to
	// this RPC, as the implementation currently calls back to BigQuery and as
	// such, is not cost-optimised if many queries are to be made.
	//
	// As of writing (April 13, 2022) this query reads ~1 GB per call for
	// the largest LUCI Project, which translates to a cost of 0.5 US cents
	// per query at published pricing (US$5/TB analyzed for BigQuery).
	//
	// Changes to this RPC should comply with https://google.aip.dev/131.
	Get(context.Context, *GetClusterRequest) (*Cluster, error)
	// Reads current progress re-clustering the given project. Re-clustering
	// means updating the clusters each failure is in to reflect the latest
	// failure association rules, suggested clustering algorithms and
	// clustering configuration.
	GetReclusteringProgress(context.Context, *GetReclusteringProgressRequest) (*ReclusteringProgress, error)
	// Queries summary information about top clusters.
	//
	// The set of test failures used as input to the clustering can be
	// specified using the failure_filter field on the request.
	// The returned clusters include only the impact derived from the
	// filtered failures.
	//
	// This allows investigation of the highest impact clusters for some
	// subset of the failure data in a project. For example, a filter string
	// of "failure_reason:ssh" would find all of the clusters where any test
	// results mention "ssh" in their failure reason, and show how big the
	// impact from these ssh failures is in each cluster. This is useful when
	// investigating specific problems, or ownership areas of the tests.
	//
	// Please consult LUCI Analysis owners before adding additional calls
	// to this RPC, as the implementation currently calls back to BigQuery and as
	// such, is not cost-optimised if many queries are to be made.
	//
	// As of writing (April 13, 2022) this query reads up to 10 GB per call for
	// 7 days of data for the largest LUCI Project, which translates to a cost
	// of up to 5 US cents per query at published pricing
	// (US$5/TB analyzed for BigQuery).
	QueryClusterSummaries(context.Context, *QueryClusterSummariesRequest) (*QueryClusterSummariesResponse, error)
	// Queries examples of failures in the given cluster.
	//
	// Please consult LUCI Analysis owners before adding additional calls to
	// this RPC, as the implementation currently calls back to BigQuery and as
	// such, is not cost-optimised if many queries are to be made.
	QueryClusterFailures(context.Context, *QueryClusterFailuresRequest) (*QueryClusterFailuresResponse, error)
	// Queries test variants in the cluster which have recently had an
	// exoneration recorded against them. Only exonerations on failures
	// which are part of the cluster are considered.
	//
	// Consider solving this use case in future by a standard AIP-132 List
	// method with filter and order_by support.
	//
	// This RPC is useful for projects using the legacy QueryFailureRate
	// API for exoneration.
	QueryExoneratedTestVariants(context.Context, *QueryClusterExoneratedTestVariantsRequest) (*QueryClusterExoneratedTestVariantsResponse, error)
	// Queries test variant branches in the cluster which have recently had
	// an exoneration recorded against them. Only exonerations on failures
	// which are part of the cluster are considered.
	//
	// Use for projects performing branch-scoped exoneration using
	// QueryStability.
	QueryExoneratedTestVariantBranches(context.Context, *QueryClusterExoneratedTestVariantBranchesRequest) (*QueryClusterExoneratedTestVariantBranchesResponse, error)
	// Queries the history of metrics for clustered failures satisying given criteria.
	// For example the number of test runs failed on each day for the last 7 days.
	//
	// Please consult LUCI Analysis owners before adding additional calls to
	// this RPC, as the implementation currently calls back to BigQuery and as
	// such, is not cost-optimised if many queries are to be made.
	QueryHistory(context.Context, *QueryClusterHistoryRequest) (*QueryClusterHistoryResponse, error)
}

ClustersServer is the server API for Clusters service.

type CreateRuleRequest

type CreateRuleRequest struct {

	// The parent resource where the rule will be created.
	// Format: projects/{project}.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The rule to create.
	//
	// The `name` of the rule should be left empty, it will be automatically
	// assigned by the service.
	Rule *Rule `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateRuleRequest) Descriptor deprecated

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

Deprecated: Use CreateRuleRequest.ProtoReflect.Descriptor instead.

func (*CreateRuleRequest) GetParent

func (x *CreateRuleRequest) GetParent() string

func (*CreateRuleRequest) GetRule

func (x *CreateRuleRequest) GetRule() *Rule

func (*CreateRuleRequest) ProtoMessage

func (*CreateRuleRequest) ProtoMessage()

func (*CreateRuleRequest) ProtoReflect

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

func (*CreateRuleRequest) Reset

func (x *CreateRuleRequest) Reset()

func (*CreateRuleRequest) String

func (x *CreateRuleRequest) String() string

type CreateRuleWithNewIssueRequest

type CreateRuleWithNewIssueRequest struct {

	// The parent resource where the rule will be created.
	// Format: projects/{project}.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The rule to create.
	//
	// The `bug` field should not be set, it will be automatically populated
	// based on the issue that is filed as part of this request.
	//
	// The `name` of the rule should be left empty, it will be automatically
	// assigned by the service.
	Rule *Rule `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"`
	// The issue to create alongside this rule.
	Issue *CreateRuleWithNewIssueRequest_Issue `protobuf:"bytes,3,opt,name=issue,proto3" json:"issue,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateRuleWithNewIssueRequest) Descriptor deprecated

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

Deprecated: Use CreateRuleWithNewIssueRequest.ProtoReflect.Descriptor instead.

func (*CreateRuleWithNewIssueRequest) GetIssue

func (*CreateRuleWithNewIssueRequest) GetParent

func (x *CreateRuleWithNewIssueRequest) GetParent() string

func (*CreateRuleWithNewIssueRequest) GetRule

func (x *CreateRuleWithNewIssueRequest) GetRule() *Rule

func (*CreateRuleWithNewIssueRequest) ProtoMessage

func (*CreateRuleWithNewIssueRequest) ProtoMessage()

func (*CreateRuleWithNewIssueRequest) ProtoReflect

func (*CreateRuleWithNewIssueRequest) Reset

func (x *CreateRuleWithNewIssueRequest) Reset()

func (*CreateRuleWithNewIssueRequest) String

type CreateRuleWithNewIssueRequest_Issue

type CreateRuleWithNewIssueRequest_Issue struct {

	// The issue tracker component to file the bug into. Currently, only
	// IssueTracker (Buganizer) components are supported.
	Component *BugComponent `protobuf:"bytes,1,opt,name=component,proto3" json:"component,omitempty"`
	// Short title to use for the new issue.
	// Maximum length is 250 bytes. Content must be UTF-8
	// normal form C, with printable characters only.
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// The issue description (initial comment).
	// Maximum length is 100,000 characters. Content must be UTF-8
	// normal form C, with printable characters only.
	//
	// LUCI Analysis will append its own footer to this
	// description when creating the issue.
	// This footer will contain a link to the rule in LUCI Analysis,
	// and identity of the user who invoked this RPC.
	//
	// For example:
	// "<Supplied issue comment.>
	//
	// See failure examples and modify the failure associated with this bug in LUCI Analysis: <link to rule>.
	// Filed on behalf of someone@google.com."
	Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
	// The issue priority.
	Priority BuganizerPriority `protobuf:"varint,4,opt,name=priority,proto3,enum=luci.analysis.v1.BuganizerPriority" json:"priority,omitempty"`
	// The issue access limit to use for the new issue.
	AccessLimit CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit `` /* 170-byte string literal not displayed */
	// contains filtered or unexported fields
}

Contents of the issue to create alongside this rule.

func (*CreateRuleWithNewIssueRequest_Issue) Descriptor deprecated

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

Deprecated: Use CreateRuleWithNewIssueRequest_Issue.ProtoReflect.Descriptor instead.

func (*CreateRuleWithNewIssueRequest_Issue) GetAccessLimit

func (*CreateRuleWithNewIssueRequest_Issue) GetComment

func (*CreateRuleWithNewIssueRequest_Issue) GetComponent

func (*CreateRuleWithNewIssueRequest_Issue) GetPriority

func (*CreateRuleWithNewIssueRequest_Issue) GetTitle

func (*CreateRuleWithNewIssueRequest_Issue) ProtoMessage

func (*CreateRuleWithNewIssueRequest_Issue) ProtoMessage()

func (*CreateRuleWithNewIssueRequest_Issue) ProtoReflect

func (*CreateRuleWithNewIssueRequest_Issue) Reset

func (*CreateRuleWithNewIssueRequest_Issue) String

type CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit

type CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit int32

The issue access restriction level.

const (
	// Default value. Do not use.
	CreateRuleWithNewIssueRequest_Issue_ISSUE_ACCESS_LIMIT_UNSPECIFIED CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit = 0
	// No issue access limits apply. All users who can
	// access the component can see the issue.
	CreateRuleWithNewIssueRequest_Issue_None CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit = 1
	// Only actors on the issue or trusted users (Full-time Googlers +
	// Common tools by default) users retain view access.
	CreateRuleWithNewIssueRequest_Issue_Trusted CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit = 4
)

func (CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit) Descriptor

func (CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit) Enum

func (CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit) EnumDescriptor deprecated

Deprecated: Use CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit.Descriptor instead.

func (CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit) Number

func (CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit) String

func (CreateRuleWithNewIssueRequest_Issue_IssueAccessLimit) Type

type CreateSampleIssueRequest

type CreateSampleIssueRequest struct {
	// contains filtered or unexported fields
}

Request used to create the sample issue.

func (*CreateSampleIssueRequest) Descriptor deprecated

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

Deprecated: Use CreateSampleIssueRequest.ProtoReflect.Descriptor instead.

func (*CreateSampleIssueRequest) ProtoMessage

func (*CreateSampleIssueRequest) ProtoMessage()

func (*CreateSampleIssueRequest) ProtoReflect

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

func (*CreateSampleIssueRequest) Reset

func (x *CreateSampleIssueRequest) Reset()

func (*CreateSampleIssueRequest) String

func (x *CreateSampleIssueRequest) String() string

type CreateSampleIssueResponse

type CreateSampleIssueResponse struct {

	// The id of the created issue.
	IssueId int64 `protobuf:"varint,1,opt,name=issue_id,json=issueId,proto3" json:"issue_id,omitempty"`
	// contains filtered or unexported fields
}

Response of creating a sample issue.

func (*CreateSampleIssueResponse) Descriptor deprecated

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

Deprecated: Use CreateSampleIssueResponse.ProtoReflect.Descriptor instead.

func (*CreateSampleIssueResponse) GetIssueId

func (x *CreateSampleIssueResponse) GetIssueId() int64

func (*CreateSampleIssueResponse) ProtoMessage

func (*CreateSampleIssueResponse) ProtoMessage()

func (*CreateSampleIssueResponse) ProtoReflect

func (*CreateSampleIssueResponse) Reset

func (x *CreateSampleIssueResponse) Reset()

func (*CreateSampleIssueResponse) String

func (x *CreateSampleIssueResponse) String() string

type DecoratedBuganizerTester

type DecoratedBuganizerTester struct {
	// Service is the service to decorate.
	Service BuganizerTesterServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedBuganizerTester) CreateSampleIssue

type DecoratedChangepoints

type DecoratedChangepoints struct {
	// Service is the service to decorate.
	Service ChangepointsServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedChangepoints) QueryChangepointsInGroup

func (*DecoratedChangepoints) QueryGroupSummaries

type DecoratedClusters

type DecoratedClusters struct {
	// Service is the service to decorate.
	Service ClustersServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedClusters) Cluster

func (s *DecoratedClusters) Cluster(ctx context.Context, req *ClusterRequest) (rsp *ClusterResponse, err error)

func (*DecoratedClusters) Get

func (s *DecoratedClusters) Get(ctx context.Context, req *GetClusterRequest) (rsp *Cluster, err error)

func (*DecoratedClusters) GetReclusteringProgress

func (s *DecoratedClusters) GetReclusteringProgress(ctx context.Context, req *GetReclusteringProgressRequest) (rsp *ReclusteringProgress, err error)

func (*DecoratedClusters) QueryClusterFailures

func (s *DecoratedClusters) QueryClusterFailures(ctx context.Context, req *QueryClusterFailuresRequest) (rsp *QueryClusterFailuresResponse, err error)

func (*DecoratedClusters) QueryClusterSummaries

func (s *DecoratedClusters) QueryClusterSummaries(ctx context.Context, req *QueryClusterSummariesRequest) (rsp *QueryClusterSummariesResponse, err error)

func (*DecoratedClusters) QueryHistory

type DecoratedMetrics

type DecoratedMetrics struct {
	// Service is the service to decorate.
	Service MetricsServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedMetrics) ListForProject

type DecoratedProjects

type DecoratedProjects struct {
	// Service is the service to decorate.
	Service ProjectsServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedProjects) GetConfig

func (s *DecoratedProjects) GetConfig(ctx context.Context, req *GetProjectConfigRequest) (rsp *ProjectConfig, err error)

func (*DecoratedProjects) List

type DecoratedRules

type DecoratedRules struct {
	// Service is the service to decorate.
	Service RulesServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedRules) Create

func (s *DecoratedRules) Create(ctx context.Context, req *CreateRuleRequest) (rsp *Rule, err error)

func (*DecoratedRules) CreateWithNewIssue

func (s *DecoratedRules) CreateWithNewIssue(ctx context.Context, req *CreateRuleWithNewIssueRequest) (rsp *Rule, err error)

func (*DecoratedRules) Get

func (s *DecoratedRules) Get(ctx context.Context, req *GetRuleRequest) (rsp *Rule, err error)

func (*DecoratedRules) List

func (s *DecoratedRules) List(ctx context.Context, req *ListRulesRequest) (rsp *ListRulesResponse, err error)

func (*DecoratedRules) LookupBug

func (s *DecoratedRules) LookupBug(ctx context.Context, req *LookupBugRequest) (rsp *LookupBugResponse, err error)

func (*DecoratedRules) PrepareDefaults

func (*DecoratedRules) Update

func (s *DecoratedRules) Update(ctx context.Context, req *UpdateRuleRequest) (rsp *Rule, err error)

type DecoratedTestHistory

type DecoratedTestHistory struct {
	// Service is the service to decorate.
	Service TestHistoryServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedTestHistory) Query

func (*DecoratedTestHistory) QueryStats

func (*DecoratedTestHistory) QueryTests

func (s *DecoratedTestHistory) QueryTests(ctx context.Context, req *QueryTestsRequest) (rsp *QueryTestsResponse, err error)

func (*DecoratedTestHistory) QueryVariants

func (s *DecoratedTestHistory) QueryVariants(ctx context.Context, req *QueryVariantsRequest) (rsp *QueryVariantsResponse, err error)

type DecoratedTestVariantBranches

type DecoratedTestVariantBranches struct {
	// Service is the service to decorate.
	Service TestVariantBranchesServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedTestVariantBranches) BatchGet

func (*DecoratedTestVariantBranches) GetRaw

func (*DecoratedTestVariantBranches) Query

func (*DecoratedTestVariantBranches) QueryChangepointAIAnalysis

func (*DecoratedTestVariantBranches) QuerySourcePositions

func (*DecoratedTestVariantBranches) QuerySourceVerdicts

type DecoratedTestVariants

type DecoratedTestVariants struct {
	// Service is the service to decorate.
	Service TestVariantsServer
	// Prelude is called for each method before forwarding the call to Service.
	// If Prelude returns an error, then the call is skipped and the error is
	// processed via the Postlude (if one is defined), or it is returned directly.
	Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error)
	// Postlude is called for each method after Service has processed the call, or
	// after the Prelude has returned an error. This takes the Service's
	// response proto (which may be nil) and/or any error. The decorated
	// service will return the response (possibly mutated) and error that Postlude
	// returns.
	Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error
}

func (*DecoratedTestVariants) QueryFailureRate

func (*DecoratedTestVariants) QueryStability

type DistinctClusterFailure

type DistinctClusterFailure struct {

	// The identity of the test.
	TestId string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Description of one specific way of running the test,
	// e.g. a specific bucket, builder and a test suite.
	Variant *Variant `protobuf:"bytes,2,opt,name=variant,proto3" json:"variant,omitempty"`
	// Timestamp representing the start of the data retention period for the
	// test results in this group.
	// The partition time is the creation time of the ingested invocation in
	// Spanner.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// Details if the presubmit run associated with these results (if any).
	PresubmitRun *DistinctClusterFailure_PresubmitRun `protobuf:"bytes,4,opt,name=presubmit_run,json=presubmitRun,proto3" json:"presubmit_run,omitempty"`
	// Whether the build was critical to a presubmit run succeeding.
	// If the build was not part of a presubmit run, this field should
	// be ignored.
	IsBuildCritical bool `protobuf:"varint,5,opt,name=is_build_critical,json=isBuildCritical,proto3" json:"is_build_critical,omitempty"`
	// The exonerations applied to the test variant verdict.
	Exonerations []*DistinctClusterFailure_Exoneration `protobuf:"bytes,6,rep,name=exonerations,proto3" json:"exonerations,omitempty"`
	// The status of the build that contained this test result. Can be used
	// to filter incomplete results (e.g. where build was cancelled or had
	// an infra failure). Can also be used to filter builds with incomplete
	// exonerations (e.g. build succeeded but some tests not exonerated).
	// This is the build corresponding to ingested_invocation_id.
	BuildStatus BuildStatus `` /* 129-byte string literal not displayed */
	// 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.
	IngestedInvocationId string `protobuf:"bytes,8,opt,name=ingested_invocation_id,json=ingestedInvocationId,proto3" json:"ingested_invocation_id,omitempty"`
	// Is the ingested invocation blocked by this test variant? This is
	// only true if all (non-skipped) test results for this test variant
	// (in the ingested invocation) are unexpected failures.
	//
	// Exoneration does not factor into this value; check exonerations
	// to see if the impact of this ingested invocation being blocked was
	// mitigated by exoneration.
	IsIngestedInvocationBlocked bool `` /* 147-byte string literal not displayed */
	// The unsubmitted changelists that were tested (if any).
	// Up to 10 changelists are captured.
	Changelists []*Changelist `protobuf:"bytes,10,rep,name=changelists,proto3" json:"changelists,omitempty"`
	// The number of test results which have these properties.
	Count int32 `protobuf:"varint,11,opt,name=count,proto3" json:"count,omitempty"`
	// The first 255 characters of the failure_reason.primary_error_message
	// field of one of the test results.
	// Note that this is for saving the user a click in the UI, not for
	// analytical purposes.
	FailureReasonPrefix string `protobuf:"bytes,12,opt,name=failure_reason_prefix,json=failureReasonPrefix,proto3" json:"failure_reason_prefix,omitempty"`
	// contains filtered or unexported fields
}

DistinctClusterFailure represents a number of failures which have identical properties. This provides slightly compressed transfer of examples.

func (*DistinctClusterFailure) Descriptor deprecated

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

Deprecated: Use DistinctClusterFailure.ProtoReflect.Descriptor instead.

func (*DistinctClusterFailure) GetBuildStatus

func (x *DistinctClusterFailure) GetBuildStatus() BuildStatus

func (*DistinctClusterFailure) GetChangelists

func (x *DistinctClusterFailure) GetChangelists() []*Changelist

func (*DistinctClusterFailure) GetCount

func (x *DistinctClusterFailure) GetCount() int32

func (*DistinctClusterFailure) GetExonerations

func (*DistinctClusterFailure) GetFailureReasonPrefix

func (x *DistinctClusterFailure) GetFailureReasonPrefix() string

func (*DistinctClusterFailure) GetIngestedInvocationId

func (x *DistinctClusterFailure) GetIngestedInvocationId() string

func (*DistinctClusterFailure) GetIsBuildCritical

func (x *DistinctClusterFailure) GetIsBuildCritical() bool

func (*DistinctClusterFailure) GetIsIngestedInvocationBlocked

func (x *DistinctClusterFailure) GetIsIngestedInvocationBlocked() bool

func (*DistinctClusterFailure) GetPartitionTime

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

func (*DistinctClusterFailure) GetPresubmitRun

func (*DistinctClusterFailure) GetTestId

func (x *DistinctClusterFailure) GetTestId() string

func (*DistinctClusterFailure) GetVariant

func (x *DistinctClusterFailure) GetVariant() *Variant

func (*DistinctClusterFailure) ProtoMessage

func (*DistinctClusterFailure) ProtoMessage()

func (*DistinctClusterFailure) ProtoReflect

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

func (*DistinctClusterFailure) Reset

func (x *DistinctClusterFailure) Reset()

func (*DistinctClusterFailure) String

func (x *DistinctClusterFailure) String() string

type DistinctClusterFailure_Exoneration

type DistinctClusterFailure_Exoneration struct {

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

Representation of an exoneration. An exoneration means the subject of the test (e.g. a CL) is absolved from blame for the unexpected results of the test variant.

func (*DistinctClusterFailure_Exoneration) Descriptor deprecated

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

Deprecated: Use DistinctClusterFailure_Exoneration.ProtoReflect.Descriptor instead.

func (*DistinctClusterFailure_Exoneration) GetReason

func (*DistinctClusterFailure_Exoneration) ProtoMessage

func (*DistinctClusterFailure_Exoneration) ProtoMessage()

func (*DistinctClusterFailure_Exoneration) ProtoReflect

func (*DistinctClusterFailure_Exoneration) Reset

func (*DistinctClusterFailure_Exoneration) String

type DistinctClusterFailure_PresubmitRun

type DistinctClusterFailure_PresubmitRun struct {

	// Identity of the presubmit run that contains this test result.
	// This should be unique per "CQ+1"/"CQ+2" attempt on gerrit.
	//
	// One presubmit 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).
	//
	// If the test result was not collected as part of a presubmit run,
	// this is unset.
	PresubmitRunId *PresubmitRunId `protobuf:"bytes,1,opt,name=presubmit_run_id,json=presubmitRunId,proto3" json:"presubmit_run_id,omitempty"`
	// The owner of the presubmit run (if any).
	// This is the owner of the CL on which CQ+1/CQ+2 was clicked
	// (even in case of presubmit run with multiple CLs).
	// There is scope for this field to become an email address if privacy
	// approval is obtained, until then it is "automation" (for automation
	// service accounts) and "user" otherwise.
	Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"`
	// The mode of the presubmit run. E.g. DRY_RUN, FULL_RUN, QUICK_DRY_RUN.
	Mode PresubmitRunMode `protobuf:"varint,3,opt,name=mode,proto3,enum=luci.analysis.v1.PresubmitRunMode" json:"mode,omitempty"`
	// The status of the presubmit run. E.g. succeeded, failed or cancelled.
	Status PresubmitRunStatus `protobuf:"varint,4,opt,name=status,proto3,enum=luci.analysis.v1.PresubmitRunStatus" json:"status,omitempty"`
	// contains filtered or unexported fields
}

Representation of a presubmit run (e.g. LUCI CV Run).

func (*DistinctClusterFailure_PresubmitRun) Descriptor deprecated

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

Deprecated: Use DistinctClusterFailure_PresubmitRun.ProtoReflect.Descriptor instead.

func (*DistinctClusterFailure_PresubmitRun) GetMode

func (*DistinctClusterFailure_PresubmitRun) GetOwner

func (*DistinctClusterFailure_PresubmitRun) GetPresubmitRunId

func (x *DistinctClusterFailure_PresubmitRun) GetPresubmitRunId() *PresubmitRunId

func (*DistinctClusterFailure_PresubmitRun) GetStatus

func (*DistinctClusterFailure_PresubmitRun) ProtoMessage

func (*DistinctClusterFailure_PresubmitRun) ProtoMessage()

func (*DistinctClusterFailure_PresubmitRun) ProtoReflect

func (*DistinctClusterFailure_PresubmitRun) Reset

func (*DistinctClusterFailure_PresubmitRun) String

type ExonerationReason

type ExonerationReason int32

ExonerationReason captures a reason why a test failure was exonerated. Exonerated means the failure was ignored and did not have further impact, in terms of causing the build to fail or rejecting the CL being tested in a presubmit run.

Based on https://source.chromium.org/chromium/infra/infra/+/main:go/src/go.chromium.org/luci/resultdb/proto/v1/test_result.proto?q=ExonerationReason&type=cs.

const (
	// A test failure must not have this status.
	ExonerationReason_EXONERATION_REASON_UNSPECIFIED ExonerationReason = 0
	// Similar unexpected results were observed on a mainline branch
	// (i.e. against a build without unsubmitted changes applied).
	// (For avoidance of doubt, this includes both flakily and
	// deterministically occurring unexpected results.)
	// Applies to unexpected results in presubmit/CQ runs only.
	ExonerationReason_OCCURS_ON_MAINLINE ExonerationReason = 1
	// Similar unexpected results were observed in presubmit run(s) for other,
	// unrelated CL(s). (This is suggestive of the issue being present
	// on mainline but is not confirmed as there are possible confounding
	// factors, like how tests are run on CLs vs how tests are run on
	// mainline branches.)
	// Applies to unexpected results in presubmit/CQ runs only.
	ExonerationReason_OCCURS_ON_OTHER_CLS ExonerationReason = 2
	// The tests are not critical to the test subject (e.g. CL) passing.
	// This could be because more data is being collected to determine if
	// the tests are stable enough to be made critical (as is often the
	// case for experimental test suites).
	ExonerationReason_NOT_CRITICAL ExonerationReason = 3
	// The test result was an unexpected pass. (Note that such an exoneration is
	// not automatically created for unexpected passes, unless the option is
	// specified to ResultSink or the project manually creates one).
	ExonerationReason_UNEXPECTED_PASS ExonerationReason = 4
)

func (ExonerationReason) Descriptor

func (ExonerationReason) Enum

func (ExonerationReason) EnumDescriptor deprecated

func (ExonerationReason) EnumDescriptor() ([]byte, []int)

Deprecated: Use ExonerationReason.Descriptor instead.

func (ExonerationReason) Number

func (ExonerationReason) String

func (x ExonerationReason) String() string

func (ExonerationReason) Type

type FailureReason

type FailureReason struct {

	// The error message that ultimately caused the test to fail. This should
	// only be the error message and should not include any stack traces.
	// An example would be the message from an Exception in a Java test.
	// In the case that a test failed due to multiple expectation failures, any
	// immediately fatal failure should be chosen, or otherwise the first
	// expectation failure.
	// If this field is empty, other fields may be used to cluster the failure
	// instead.
	//
	// The size of the message must be equal to or smaller than 1024 bytes in
	// UTF-8.
	PrimaryErrorMessage string `protobuf:"bytes,1,opt,name=primary_error_message,json=primaryErrorMessage,proto3" json:"primary_error_message,omitempty"`
	// contains filtered or unexported fields
}

Information about why a test failed.

func (*FailureReason) Descriptor deprecated

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

Deprecated: Use FailureReason.ProtoReflect.Descriptor instead.

func (*FailureReason) GetPrimaryErrorMessage

func (x *FailureReason) GetPrimaryErrorMessage() string

func (*FailureReason) ProtoMessage

func (*FailureReason) ProtoMessage()

func (*FailureReason) ProtoReflect

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

func (*FailureReason) Reset

func (x *FailureReason) Reset()

func (*FailureReason) String

func (x *FailureReason) String() string

type GerritChange

type GerritChange struct {

	// Gerrit hostname, e.g. "chromium-review.googlesource.com".
	Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// Gerrit project, e.g. "chromium/src".
	Project string `protobuf:"bytes,5,opt,name=project,proto3" json:"project,omitempty"`
	// Change number, e.g. 12345.
	Change int64 `protobuf:"varint,2,opt,name=change,proto3" json:"change,omitempty"`
	// Patch set number, e.g. 1.
	Patchset int64 `protobuf:"varint,3,opt,name=patchset,proto3" json:"patchset,omitempty"`
	// The kind of owner of the changelist. Output only.
	OwnerKind ChangelistOwnerKind `` /* 131-byte string literal not displayed */
	// contains filtered or unexported fields
}

A Gerrit patchset.

func (*GerritChange) Descriptor deprecated

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

Deprecated: Use GerritChange.ProtoReflect.Descriptor instead.

func (*GerritChange) GetChange

func (x *GerritChange) GetChange() int64

func (*GerritChange) GetHost

func (x *GerritChange) GetHost() string

func (*GerritChange) GetOwnerKind

func (x *GerritChange) GetOwnerKind() ChangelistOwnerKind

func (*GerritChange) GetPatchset

func (x *GerritChange) GetPatchset() int64

func (*GerritChange) GetProject

func (x *GerritChange) GetProject() string

func (*GerritChange) ProtoMessage

func (*GerritChange) ProtoMessage()

func (*GerritChange) ProtoReflect

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

func (*GerritChange) Reset

func (x *GerritChange) Reset()

func (*GerritChange) String

func (x *GerritChange) String() string

type GetClusterRequest

type GetClusterRequest struct {

	// The resource name of the cluster to retrieve.
	// Format: projects/{project}/clusters/{cluster_algorithm}/{cluster_id}.
	// Designed to conform to aip.dev/131.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*GetClusterRequest) Descriptor deprecated

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

Deprecated: Use GetClusterRequest.ProtoReflect.Descriptor instead.

func (*GetClusterRequest) GetName

func (x *GetClusterRequest) GetName() string

func (*GetClusterRequest) ProtoMessage

func (*GetClusterRequest) ProtoMessage()

func (*GetClusterRequest) ProtoReflect

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

func (*GetClusterRequest) Reset

func (x *GetClusterRequest) Reset()

func (*GetClusterRequest) String

func (x *GetClusterRequest) String() string

type GetProjectConfigRequest

type GetProjectConfigRequest struct {

	// The name of the project configuration to retrieve.
	// Format: projects/{project}/config.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*GetProjectConfigRequest) Descriptor deprecated

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

Deprecated: Use GetProjectConfigRequest.ProtoReflect.Descriptor instead.

func (*GetProjectConfigRequest) GetName

func (x *GetProjectConfigRequest) GetName() string

func (*GetProjectConfigRequest) ProtoMessage

func (*GetProjectConfigRequest) ProtoMessage()

func (*GetProjectConfigRequest) ProtoReflect

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

func (*GetProjectConfigRequest) Reset

func (x *GetProjectConfigRequest) Reset()

func (*GetProjectConfigRequest) String

func (x *GetProjectConfigRequest) String() string

type GetRawTestVariantBranchRequest

type GetRawTestVariantBranchRequest struct {

	// The name of the test variant branch.
	// It MUST be of the form projects/{PROJECT}/tests/{URL_ESCAPED_TEST_ID}/variants/{VARIANT_HASH}/refs/{REF_HASH}
	// where:
	// PROJECT is the LUCI Project of the test variant branch analysis.
	// URL_ESCAPED_TEST_ID is the test ID, escaped with
	// https://golang.org/pkg/net/url/#PathEscape. See also https://aip.dev/122.
	// VARIANT_HASH is the variant hash of the test variant analysis (16 lower-case-character hex string).
	// REF_HASH is the identity of the branch of the analysis. It is a 16 lower-case-character hex string.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

A request message for `TestVariantBranches.Get` RPC.

func (*GetRawTestVariantBranchRequest) Descriptor deprecated

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

Deprecated: Use GetRawTestVariantBranchRequest.ProtoReflect.Descriptor instead.

func (*GetRawTestVariantBranchRequest) GetName

func (*GetRawTestVariantBranchRequest) ProtoMessage

func (*GetRawTestVariantBranchRequest) ProtoMessage()

func (*GetRawTestVariantBranchRequest) ProtoReflect

func (*GetRawTestVariantBranchRequest) Reset

func (x *GetRawTestVariantBranchRequest) Reset()

func (*GetRawTestVariantBranchRequest) String

type GetReclusteringProgressRequest

type GetReclusteringProgressRequest struct {

	// The name of the reclustering progress resource to retrieve.
	// Format: projects/{project}/reclusteringProgress.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Designed to conform with aip.dev/131.

func (*GetReclusteringProgressRequest) Descriptor deprecated

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

Deprecated: Use GetReclusteringProgressRequest.ProtoReflect.Descriptor instead.

func (*GetReclusteringProgressRequest) GetName

func (*GetReclusteringProgressRequest) ProtoMessage

func (*GetReclusteringProgressRequest) ProtoMessage()

func (*GetReclusteringProgressRequest) ProtoReflect

func (*GetReclusteringProgressRequest) Reset

func (x *GetReclusteringProgressRequest) Reset()

func (*GetReclusteringProgressRequest) String

type GetRuleRequest

type GetRuleRequest struct {

	// The name of the rule to retrieve.
	// Format: projects/{project}/rules/{rule_id}.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*GetRuleRequest) Descriptor deprecated

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

Deprecated: Use GetRuleRequest.ProtoReflect.Descriptor instead.

func (*GetRuleRequest) GetName

func (x *GetRuleRequest) GetName() string

func (*GetRuleRequest) ProtoMessage

func (*GetRuleRequest) ProtoMessage()

func (*GetRuleRequest) ProtoReflect

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

func (*GetRuleRequest) Reset

func (x *GetRuleRequest) Reset()

func (*GetRuleRequest) String

func (x *GetRuleRequest) String() string

type GitilesCommit

type GitilesCommit struct {

	// The identity of the gitiles host, e.g. "chromium.googlesource.com".
	// Mandatory.
	Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// Repository name on the host, e.g. "chromium/src". Mandatory.
	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
	// Commit ref, e.g. "refs/heads/main" from which the commit was fetched.
	// Not the branch name, use "refs/heads/branch"
	// Mandatory.
	Ref string `protobuf:"bytes,3,opt,name=ref,proto3" json:"ref,omitempty"`
	// Commit SHA-1, as 40 lowercase hexadecimal characters. Mandatory.
	CommitHash string `protobuf:"bytes,4,opt,name=commit_hash,json=commitHash,proto3" json:"commit_hash,omitempty"`
	// Defines a total order of commits on the ref.
	// A positive, monotonically increasing integer. The recommended
	// way of obtaining this is by using the goto.google.com/git-numberer
	// Gerrit plugin. Other solutions can be used as well, so long
	// as the same scheme is used consistently for a ref.
	// Mandatory.
	Position int64 `protobuf:"varint,5,opt,name=position,proto3" json:"position,omitempty"`
	// contains filtered or unexported fields
}

GitilesCommit specifies the position of the gitiles commit an invocation ran against, in a repository's commit log. More specifically, a ref's commit log.

It also specifies the host/project/ref combination that the commit exists in, to provide context.

func (*GitilesCommit) Descriptor deprecated

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

Deprecated: Use GitilesCommit.ProtoReflect.Descriptor instead.

func (*GitilesCommit) GetCommitHash

func (x *GitilesCommit) GetCommitHash() string

func (*GitilesCommit) GetHost

func (x *GitilesCommit) GetHost() string

func (*GitilesCommit) GetPosition

func (x *GitilesCommit) GetPosition() int64

func (*GitilesCommit) GetProject

func (x *GitilesCommit) GetProject() string

func (*GitilesCommit) GetRef

func (x *GitilesCommit) GetRef() string

func (*GitilesCommit) ProtoMessage

func (*GitilesCommit) ProtoMessage()

func (*GitilesCommit) ProtoReflect

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

func (*GitilesCommit) Reset

func (x *GitilesCommit) Reset()

func (*GitilesCommit) String

func (x *GitilesCommit) String() string

type GitilesRef

type GitilesRef struct {

	// The gitiles host, e.g. "chromium.googlesource.com".
	Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// The project on the gitiles host, e.g. "chromium/src".
	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
	// Commit ref, e.g. "refs/heads/main" from which the commit was fetched.
	// Not the branch name, use "refs/heads/branch"
	Ref string `protobuf:"bytes,3,opt,name=ref,proto3" json:"ref,omitempty"`
	// contains filtered or unexported fields
}

Represents a branch in a gitiles repository.

func (*GitilesRef) Descriptor deprecated

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

Deprecated: Use GitilesRef.ProtoReflect.Descriptor instead.

func (*GitilesRef) GetHost

func (x *GitilesRef) GetHost() string

func (*GitilesRef) GetProject

func (x *GitilesRef) GetProject() string

func (*GitilesRef) GetRef

func (x *GitilesRef) GetRef() string

func (*GitilesRef) ProtoMessage

func (*GitilesRef) ProtoMessage()

func (*GitilesRef) ProtoReflect

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

func (*GitilesRef) Reset

func (x *GitilesRef) Reset()

func (*GitilesRef) String

func (x *GitilesRef) String() string

type InputBuffer

type InputBuffer struct {

	// The number of test runs in the input buffer.
	Length int64 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
	// Runs, sorted by commit position (oldest first), and
	// then result time (oldest first).
	Runs []*InputBuffer_Run `protobuf:"bytes,2,rep,name=runs,proto3" json:"runs,omitempty"`
	// contains filtered or unexported fields
}

InputBuffer contains the verdict history of the test variant branch. It is used for both the hot buffer and the cold buffer.

func (*InputBuffer) Descriptor deprecated

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

Deprecated: Use InputBuffer.ProtoReflect.Descriptor instead.

func (*InputBuffer) GetLength

func (x *InputBuffer) GetLength() int64

func (*InputBuffer) GetRuns

func (x *InputBuffer) GetRuns() []*InputBuffer_Run

func (*InputBuffer) ProtoMessage

func (*InputBuffer) ProtoMessage()

func (*InputBuffer) ProtoReflect

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

func (*InputBuffer) Reset

func (x *InputBuffer) Reset()

func (*InputBuffer) String

func (x *InputBuffer) String() string

type InputBuffer_Run

type InputBuffer_Run struct {

	// The commit position of the run.
	CommitPosition int64 `protobuf:"varint,1,opt,name=commitPosition,proto3" json:"commitPosition,omitempty"`
	// The time that this run was produced, truncated to the nearest hour.
	Hour   *timestamppb.Timestamp  `protobuf:"bytes,2,opt,name=hour,proto3" json:"hour,omitempty"`
	Counts *InputBuffer_Run_Counts `protobuf:"bytes,3,opt,name=counts,proto3" json:"counts,omitempty"`
	// contains filtered or unexported fields
}

Run represents a test run at a commit position.

func (*InputBuffer_Run) Descriptor deprecated

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

Deprecated: Use InputBuffer_Run.ProtoReflect.Descriptor instead.

func (*InputBuffer_Run) GetCommitPosition

func (x *InputBuffer_Run) GetCommitPosition() int64

func (*InputBuffer_Run) GetCounts

func (x *InputBuffer_Run) GetCounts() *InputBuffer_Run_Counts

func (*InputBuffer_Run) GetHour

func (x *InputBuffer_Run) GetHour() *timestamppb.Timestamp

func (*InputBuffer_Run) ProtoMessage

func (*InputBuffer_Run) ProtoMessage()

func (*InputBuffer_Run) ProtoReflect

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

func (*InputBuffer_Run) Reset

func (x *InputBuffer_Run) Reset()

func (*InputBuffer_Run) String

func (x *InputBuffer_Run) String() string

type InputBuffer_Run_Counts

type InputBuffer_Run_Counts struct {

	// Number of expectedly passed results in the run.
	ExpectedPassCount int64 `protobuf:"varint,1,opt,name=expected_pass_count,json=expectedPassCount,proto3" json:"expected_pass_count,omitempty"`
	// Number of expectedly failed results in the run.
	ExpectedFailCount int64 `protobuf:"varint,2,opt,name=expected_fail_count,json=expectedFailCount,proto3" json:"expected_fail_count,omitempty"`
	// Number of expectedly crashed results in the run.
	ExpectedCrashCount int64 `protobuf:"varint,3,opt,name=expected_crash_count,json=expectedCrashCount,proto3" json:"expected_crash_count,omitempty"`
	// Number of expectedly aborted results in the run.
	ExpectedAbortCount int64 `protobuf:"varint,4,opt,name=expected_abort_count,json=expectedAbortCount,proto3" json:"expected_abort_count,omitempty"`
	// Number of unexpectedly passed results in the run.
	UnexpectedPassCount int64 `protobuf:"varint,5,opt,name=unexpected_pass_count,json=unexpectedPassCount,proto3" json:"unexpected_pass_count,omitempty"`
	// Number of unexpectedly failed results in the run.
	UnexpectedFailCount int64 `protobuf:"varint,6,opt,name=unexpected_fail_count,json=unexpectedFailCount,proto3" json:"unexpected_fail_count,omitempty"`
	// Number of unexpectedly crashed results in the run.
	UnexpectedCrashCount int64 `protobuf:"varint,7,opt,name=unexpected_crash_count,json=unexpectedCrashCount,proto3" json:"unexpected_crash_count,omitempty"`
	// Number of unexpectedly aborted results in the run.
	UnexpectedAbortCount int64 `protobuf:"varint,8,opt,name=unexpected_abort_count,json=unexpectedAbortCount,proto3" json:"unexpected_abort_count,omitempty"`
	// contains filtered or unexported fields
}

func (*InputBuffer_Run_Counts) Descriptor deprecated

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

Deprecated: Use InputBuffer_Run_Counts.ProtoReflect.Descriptor instead.

func (*InputBuffer_Run_Counts) GetExpectedAbortCount

func (x *InputBuffer_Run_Counts) GetExpectedAbortCount() int64

func (*InputBuffer_Run_Counts) GetExpectedCrashCount

func (x *InputBuffer_Run_Counts) GetExpectedCrashCount() int64

func (*InputBuffer_Run_Counts) GetExpectedFailCount

func (x *InputBuffer_Run_Counts) GetExpectedFailCount() int64

func (*InputBuffer_Run_Counts) GetExpectedPassCount

func (x *InputBuffer_Run_Counts) GetExpectedPassCount() int64

func (*InputBuffer_Run_Counts) GetUnexpectedAbortCount

func (x *InputBuffer_Run_Counts) GetUnexpectedAbortCount() int64

func (*InputBuffer_Run_Counts) GetUnexpectedCrashCount

func (x *InputBuffer_Run_Counts) GetUnexpectedCrashCount() int64

func (*InputBuffer_Run_Counts) GetUnexpectedFailCount

func (x *InputBuffer_Run_Counts) GetUnexpectedFailCount() int64

func (*InputBuffer_Run_Counts) GetUnexpectedPassCount

func (x *InputBuffer_Run_Counts) GetUnexpectedPassCount() int64

func (*InputBuffer_Run_Counts) ProtoMessage

func (*InputBuffer_Run_Counts) ProtoMessage()

func (*InputBuffer_Run_Counts) ProtoReflect

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

func (*InputBuffer_Run_Counts) Reset

func (x *InputBuffer_Run_Counts) Reset()

func (*InputBuffer_Run_Counts) String

func (x *InputBuffer_Run_Counts) String() string

type IssueTrackerComponent

type IssueTrackerComponent struct {

	// The Google Issue Tracker component ID.
	ComponentId int64 `protobuf:"varint,1,opt,name=component_id,json=componentId,proto3" json:"component_id,omitempty"`
	// contains filtered or unexported fields
}

A component in Google Issue Tracker, sometimes known as Buganizer, available at https://issuetracker.google.com.

func (*IssueTrackerComponent) Descriptor deprecated

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

Deprecated: Use IssueTrackerComponent.ProtoReflect.Descriptor instead.

func (*IssueTrackerComponent) GetComponentId

func (x *IssueTrackerComponent) GetComponentId() int64

func (*IssueTrackerComponent) ProtoMessage

func (*IssueTrackerComponent) ProtoMessage()

func (*IssueTrackerComponent) ProtoReflect

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

func (*IssueTrackerComponent) Reset

func (x *IssueTrackerComponent) Reset()

func (*IssueTrackerComponent) String

func (x *IssueTrackerComponent) String() string

type ListProjectMetricsRequest

type ListProjectMetricsRequest struct {

	// The parent LUCI Project, which owns the collection of metrics.
	// Format: projects/{project}.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// contains filtered or unexported fields
}

A request to list metrics in a given LUCI project.

func (*ListProjectMetricsRequest) Descriptor deprecated

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

Deprecated: Use ListProjectMetricsRequest.ProtoReflect.Descriptor instead.

func (*ListProjectMetricsRequest) GetParent

func (x *ListProjectMetricsRequest) GetParent() string

func (*ListProjectMetricsRequest) ProtoMessage

func (*ListProjectMetricsRequest) ProtoMessage()

func (*ListProjectMetricsRequest) ProtoReflect

func (*ListProjectMetricsRequest) Reset

func (x *ListProjectMetricsRequest) Reset()

func (*ListProjectMetricsRequest) String

func (x *ListProjectMetricsRequest) String() string

type ListProjectMetricsResponse

type ListProjectMetricsResponse struct {

	// The metrics available in the LUCI Project.
	Metrics []*ProjectMetric `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty"`
	// contains filtered or unexported fields
}

Lists the metrics available in a LUCI Project. Designed to follow aip.dev/132.

func (*ListProjectMetricsResponse) Descriptor deprecated

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

Deprecated: Use ListProjectMetricsResponse.ProtoReflect.Descriptor instead.

func (*ListProjectMetricsResponse) GetMetrics

func (x *ListProjectMetricsResponse) GetMetrics() []*ProjectMetric

func (*ListProjectMetricsResponse) ProtoMessage

func (*ListProjectMetricsResponse) ProtoMessage()

func (*ListProjectMetricsResponse) ProtoReflect

func (*ListProjectMetricsResponse) Reset

func (x *ListProjectMetricsResponse) Reset()

func (*ListProjectMetricsResponse) String

func (x *ListProjectMetricsResponse) String() string

type ListProjectsRequest

type ListProjectsRequest struct {
	// contains filtered or unexported fields
}

A request object with data to fetch the list of projects configured in LUCI Analysis.

func (*ListProjectsRequest) Descriptor deprecated

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

Deprecated: Use ListProjectsRequest.ProtoReflect.Descriptor instead.

func (*ListProjectsRequest) ProtoMessage

func (*ListProjectsRequest) ProtoMessage()

func (*ListProjectsRequest) ProtoReflect

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

func (*ListProjectsRequest) Reset

func (x *ListProjectsRequest) Reset()

func (*ListProjectsRequest) String

func (x *ListProjectsRequest) String() string

type ListProjectsResponse

type ListProjectsResponse struct {

	// The list of projects using LUCI Analysis.
	Projects []*Project `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"`
	// contains filtered or unexported fields
}

A response containing the list of projects which are are using LUCI Analysis.

func (*ListProjectsResponse) Descriptor deprecated

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

Deprecated: Use ListProjectsResponse.ProtoReflect.Descriptor instead.

func (*ListProjectsResponse) GetProjects

func (x *ListProjectsResponse) GetProjects() []*Project

func (*ListProjectsResponse) ProtoMessage

func (*ListProjectsResponse) ProtoMessage()

func (*ListProjectsResponse) ProtoReflect

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

func (*ListProjectsResponse) Reset

func (x *ListProjectsResponse) Reset()

func (*ListProjectsResponse) String

func (x *ListProjectsResponse) String() string

type ListRulesRequest

type ListRulesRequest struct {

	// The parent, which owns this collection of rules.
	// Format: projects/{project}.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// contains filtered or unexported fields
}

func (*ListRulesRequest) Descriptor deprecated

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

Deprecated: Use ListRulesRequest.ProtoReflect.Descriptor instead.

func (*ListRulesRequest) GetParent

func (x *ListRulesRequest) GetParent() string

func (*ListRulesRequest) ProtoMessage

func (*ListRulesRequest) ProtoMessage()

func (*ListRulesRequest) ProtoReflect

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

func (*ListRulesRequest) Reset

func (x *ListRulesRequest) Reset()

func (*ListRulesRequest) String

func (x *ListRulesRequest) String() string

type ListRulesResponse

type ListRulesResponse struct {

	// The rules.
	Rules []*Rule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
	// contains filtered or unexported fields
}

func (*ListRulesResponse) Descriptor deprecated

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

Deprecated: Use ListRulesResponse.ProtoReflect.Descriptor instead.

func (*ListRulesResponse) GetRules

func (x *ListRulesResponse) GetRules() []*Rule

func (*ListRulesResponse) ProtoMessage

func (*ListRulesResponse) ProtoMessage()

func (*ListRulesResponse) ProtoReflect

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

func (*ListRulesResponse) Reset

func (x *ListRulesResponse) Reset()

func (*ListRulesResponse) String

func (x *ListRulesResponse) String() string

type LookupBugRequest

type LookupBugRequest struct {

	// System is the bug tracking system of the bug. This is either
	// "monorail" or "buganizer".
	System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"`
	// Id is the bug tracking system-specific identity of the bug.
	// 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 (*LookupBugRequest) Descriptor deprecated

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

Deprecated: Use LookupBugRequest.ProtoReflect.Descriptor instead.

func (*LookupBugRequest) GetId

func (x *LookupBugRequest) GetId() string

func (*LookupBugRequest) GetSystem

func (x *LookupBugRequest) GetSystem() string

func (*LookupBugRequest) ProtoMessage

func (*LookupBugRequest) ProtoMessage()

func (*LookupBugRequest) ProtoReflect

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

func (*LookupBugRequest) Reset

func (x *LookupBugRequest) Reset()

func (*LookupBugRequest) String

func (x *LookupBugRequest) String() string

type LookupBugResponse

type LookupBugResponse struct {

	// The rules corresponding to the requested bug.
	// Format: projects/{project}/rules/{rule_id}.
	Rules []string `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
	// contains filtered or unexported fields
}

func (*LookupBugResponse) Descriptor deprecated

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

Deprecated: Use LookupBugResponse.ProtoReflect.Descriptor instead.

func (*LookupBugResponse) GetRules

func (x *LookupBugResponse) GetRules() []string

func (*LookupBugResponse) ProtoMessage

func (*LookupBugResponse) ProtoMessage()

func (*LookupBugResponse) ProtoReflect

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

func (*LookupBugResponse) Reset

func (x *LookupBugResponse) Reset()

func (*LookupBugResponse) String

func (x *LookupBugResponse) String() string

type MetricThreshold

type MetricThreshold struct {

	// The threshold for one day.
	OneDay *int64 `protobuf:"varint,1,opt,name=one_day,json=oneDay,proto3,oneof" json:"one_day,omitempty"`
	// The threshold for three day.
	ThreeDay *int64 `protobuf:"varint,2,opt,name=three_day,json=threeDay,proto3,oneof" json:"three_day,omitempty"`
	// The threshold for seven days.
	SevenDay *int64 `protobuf:"varint,3,opt,name=seven_day,json=sevenDay,proto3,oneof" json:"seven_day,omitempty"`
	// contains filtered or unexported fields
}

MetricThreshold specifies thresholds for a particular metric. The threshold is considered satisfied if any of the individual metric thresholds is met or exceeded (i.e. if multiple thresholds are set, they are combined using an OR-semantic). If no threshold is set, the threshold as a whole is unsatisfiable.

func (*MetricThreshold) Descriptor deprecated

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

Deprecated: Use MetricThreshold.ProtoReflect.Descriptor instead.

func (*MetricThreshold) GetOneDay

func (x *MetricThreshold) GetOneDay() int64

func (*MetricThreshold) GetSevenDay

func (x *MetricThreshold) GetSevenDay() int64

func (*MetricThreshold) GetThreeDay

func (x *MetricThreshold) GetThreeDay() int64

func (*MetricThreshold) ProtoMessage

func (*MetricThreshold) ProtoMessage()

func (*MetricThreshold) ProtoReflect

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

func (*MetricThreshold) Reset

func (x *MetricThreshold) Reset()

func (*MetricThreshold) String

func (x *MetricThreshold) String() string

type MetricsClient

type MetricsClient interface {
	// ListForProject lists metrics in a given LUCI Project.
	// Designed to follow aip.dev/132.
	ListForProject(ctx context.Context, in *ListProjectMetricsRequest, opts ...grpc.CallOption) (*ListProjectMetricsResponse, error)
}

MetricsClient is the client API for Metrics service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewMetricsClient

func NewMetricsClient(cc grpc.ClientConnInterface) MetricsClient

func NewMetricsPRPCClient

func NewMetricsPRPCClient(client *prpc.Client) MetricsClient

type MetricsServer

type MetricsServer interface {
	// ListForProject lists metrics in a given LUCI Project.
	// Designed to follow aip.dev/132.
	ListForProject(context.Context, *ListProjectMetricsRequest) (*ListProjectMetricsResponse, error)
}

MetricsServer is the server API for Metrics service.

type MonorailComponent

type MonorailComponent struct {

	// The monorail project name.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The monorail component value. E.g. "Blink>Accessibility".
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

A component in monorail issue tracker, available at https://bugs.chromium.org.

func (*MonorailComponent) Descriptor deprecated

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

Deprecated: Use MonorailComponent.ProtoReflect.Descriptor instead.

func (*MonorailComponent) GetProject

func (x *MonorailComponent) GetProject() string

func (*MonorailComponent) GetValue

func (x *MonorailComponent) GetValue() string

func (*MonorailComponent) ProtoMessage

func (*MonorailComponent) ProtoMessage()

func (*MonorailComponent) ProtoReflect

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

func (*MonorailComponent) Reset

func (x *MonorailComponent) Reset()

func (*MonorailComponent) String

func (x *MonorailComponent) String() string

type MonorailProject

type MonorailProject struct {

	// The monorail project being described.
	// E.g. "chromium".
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The prefix that should appear when displaying bugs from the
	// given bug tracking system. E.g. "crbug.com" or "fxbug.dev".
	// If no prefix is specified, only the bug number will appear.
	// Otherwise, the supplifed prefix will appear, followed by a
	// forward slash ("/"), followed by the bug number.
	// Valid prefixes match `^[a-z0-9\-.]{0,64}$`.
	DisplayPrefix string `protobuf:"bytes,2,opt,name=display_prefix,json=displayPrefix,proto3" json:"display_prefix,omitempty"`
	// contains filtered or unexported fields
}

MonorailProject describes the configuration to use when filing bugs into a given monorail project.

func (*MonorailProject) Descriptor deprecated

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

Deprecated: Use MonorailProject.ProtoReflect.Descriptor instead.

func (*MonorailProject) GetDisplayPrefix

func (x *MonorailProject) GetDisplayPrefix() string

func (*MonorailProject) GetProject

func (x *MonorailProject) GetProject() string

func (*MonorailProject) ProtoMessage

func (*MonorailProject) ProtoMessage()

func (*MonorailProject) ProtoReflect

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

func (*MonorailProject) Reset

func (x *MonorailProject) Reset()

func (*MonorailProject) String

func (x *MonorailProject) String() string

type NumericRange

type NumericRange struct {

	// The inclusive lower bound included in the range.
	LowerBound float32 `protobuf:"fixed32,1,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"`
	// The inclusive upper bound included in the range.
	UpperBound float32 `protobuf:"fixed32,2,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"`
	// contains filtered or unexported fields
}

Represents a range of numeric values, e.g. unexpected verdict rates.

func (*NumericRange) Descriptor deprecated

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

Deprecated: Use NumericRange.ProtoReflect.Descriptor instead.

func (*NumericRange) GetLowerBound

func (x *NumericRange) GetLowerBound() float32

func (*NumericRange) GetUpperBound

func (x *NumericRange) GetUpperBound() float32

func (*NumericRange) ProtoMessage

func (*NumericRange) ProtoMessage()

func (*NumericRange) ProtoReflect

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

func (*NumericRange) Reset

func (x *NumericRange) Reset()

func (*NumericRange) String

func (x *NumericRange) String() string

type PrepareRuleDefaultsRequest

type PrepareRuleDefaultsRequest struct {

	// The parent LUCI Project, which will own the rule.
	// Format: projects/{project}.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The test failure to create a rule for. If set, a failure
	// association rule that matches it will be included in the
	// response.
	TestResult *PrepareRuleDefaultsRequest_TestResult `protobuf:"bytes,2,opt,name=test_result,json=testResult,proto3" json:"test_result,omitempty"`
	// contains filtered or unexported fields
}

PrepareRuleDefaultsRequest represents a request to prepare default values for a new rule.

func (*PrepareRuleDefaultsRequest) Descriptor deprecated

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

Deprecated: Use PrepareRuleDefaultsRequest.ProtoReflect.Descriptor instead.

func (*PrepareRuleDefaultsRequest) GetParent

func (x *PrepareRuleDefaultsRequest) GetParent() string

func (*PrepareRuleDefaultsRequest) GetTestResult

func (*PrepareRuleDefaultsRequest) ProtoMessage

func (*PrepareRuleDefaultsRequest) ProtoMessage()

func (*PrepareRuleDefaultsRequest) ProtoReflect

func (*PrepareRuleDefaultsRequest) Reset

func (x *PrepareRuleDefaultsRequest) Reset()

func (*PrepareRuleDefaultsRequest) String

func (x *PrepareRuleDefaultsRequest) String() string

type PrepareRuleDefaultsRequest_TestResult

type PrepareRuleDefaultsRequest_TestResult struct {

	// The test identifier.
	TestId string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// The failure reason.
	FailureReason *FailureReason `protobuf:"bytes,2,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
	// contains filtered or unexported fields
}

The unexpectedly failed/crashed/aborted test result.

func (*PrepareRuleDefaultsRequest_TestResult) Descriptor deprecated

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

Deprecated: Use PrepareRuleDefaultsRequest_TestResult.ProtoReflect.Descriptor instead.

func (*PrepareRuleDefaultsRequest_TestResult) GetFailureReason

func (*PrepareRuleDefaultsRequest_TestResult) GetTestId

func (*PrepareRuleDefaultsRequest_TestResult) ProtoMessage

func (*PrepareRuleDefaultsRequest_TestResult) ProtoMessage()

func (*PrepareRuleDefaultsRequest_TestResult) ProtoReflect

func (*PrepareRuleDefaultsRequest_TestResult) Reset

func (*PrepareRuleDefaultsRequest_TestResult) String

type PrepareRuleDefaultsResponse

type PrepareRuleDefaultsResponse struct {

	// The rule with defaults such as is_active and the failure
	// association rule populated.
	Rule *Rule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"`
	// contains filtered or unexported fields
}

func (*PrepareRuleDefaultsResponse) Descriptor deprecated

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

Deprecated: Use PrepareRuleDefaultsResponse.ProtoReflect.Descriptor instead.

func (*PrepareRuleDefaultsResponse) GetRule

func (x *PrepareRuleDefaultsResponse) GetRule() *Rule

func (*PrepareRuleDefaultsResponse) ProtoMessage

func (*PrepareRuleDefaultsResponse) ProtoMessage()

func (*PrepareRuleDefaultsResponse) ProtoReflect

func (*PrepareRuleDefaultsResponse) Reset

func (x *PrepareRuleDefaultsResponse) Reset()

func (*PrepareRuleDefaultsResponse) String

func (x *PrepareRuleDefaultsResponse) String() string

type PresubmitRunId

type PresubmitRunId struct {

	// The system that was used to process the presubmit run.
	// Currently, the only valid value is "luci-cv" for LUCI Commit Verifier
	// (LUCI CV).
	System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"`
	// Identity of the presubmit run.
	// If the presubmit system is LUCI CV, the format of this value is:
	//
	//	"{LUCI_PROJECT}/{LUCI_CV_ID}", e.g.
	//	"infra/8988819463854-1-f94732fe20056fd1".
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

Identity of a presubmit run (also known as a "CQ Run" or "CV Run").

func (*PresubmitRunId) Descriptor deprecated

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

Deprecated: Use PresubmitRunId.ProtoReflect.Descriptor instead.

func (*PresubmitRunId) GetId

func (x *PresubmitRunId) GetId() string

func (*PresubmitRunId) GetSystem

func (x *PresubmitRunId) GetSystem() string

func (*PresubmitRunId) ProtoMessage

func (*PresubmitRunId) ProtoMessage()

func (*PresubmitRunId) ProtoReflect

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

func (*PresubmitRunId) Reset

func (x *PresubmitRunId) Reset()

func (*PresubmitRunId) String

func (x *PresubmitRunId) String() string

type PresubmitRunMode

type PresubmitRunMode int32

PresubmitRunMode describes the mode of a presubmit run. Currently based on LUCI CV run mode enumeration at https://source.chromium.org/chromium/infra/infra/+/main:go/src/go.chromium.org/luci/cv/api/bigquery/v1/attempt.proto?q=QUICK_DRY_RUN&type=cs.

const (
	// A presubmit run must not have this status.
	PresubmitRunMode_PRESUBMIT_RUN_MODE_UNSPECIFIED PresubmitRunMode = 0
	// Run all tests but do not submit.
	PresubmitRunMode_DRY_RUN PresubmitRunMode = 1
	// Run all tests and potentially submit.
	PresubmitRunMode_FULL_RUN PresubmitRunMode = 2
	// Run some tests but do not submit.
	PresubmitRunMode_QUICK_DRY_RUN PresubmitRunMode = 3
	// Runs some tests on patchset upload but do not submit.
	PresubmitRunMode_NEW_PATCHSET_RUN PresubmitRunMode = 4
)

func (PresubmitRunMode) Descriptor

func (PresubmitRunMode) Enum

func (PresubmitRunMode) EnumDescriptor deprecated

func (PresubmitRunMode) EnumDescriptor() ([]byte, []int)

Deprecated: Use PresubmitRunMode.Descriptor instead.

func (PresubmitRunMode) Number

func (PresubmitRunMode) String

func (x PresubmitRunMode) String() string

func (PresubmitRunMode) Type

type PresubmitRunStatus

type PresubmitRunStatus int32

PresubmitRunStatus is the ending status of a presubmit run.

Note: All values prefixed with PRESUBMIT_RUN_STATUS_ as the names are generic and likely to conflict with other/future enumerations otherwise. See https://google.aip.dev/126.

Based on https://source.chromium.org/chromium/infra/infra/+/main:go/src/go.chromium.org/luci/cv/internal/run/storage.proto;l=28?q=LUCI%20CV%20status%20lang:proto.

const (
	// A build must not have this status.
	PresubmitRunStatus_PRESUBMIT_RUN_STATUS_UNSPECIFIED PresubmitRunStatus = 0
	// The run succeeded.
	PresubmitRunStatus_PRESUBMIT_RUN_STATUS_SUCCEEDED PresubmitRunStatus = 1
	// The run failed.
	PresubmitRunStatus_PRESUBMIT_RUN_STATUS_FAILED PresubmitRunStatus = 2
	// The run was canceled.
	PresubmitRunStatus_PRESUBMIT_RUN_STATUS_CANCELED PresubmitRunStatus = 3
)

func (PresubmitRunStatus) Descriptor

func (PresubmitRunStatus) Enum

func (PresubmitRunStatus) EnumDescriptor deprecated

func (PresubmitRunStatus) EnumDescriptor() ([]byte, []int)

Deprecated: Use PresubmitRunStatus.Descriptor instead.

func (PresubmitRunStatus) Number

func (PresubmitRunStatus) String

func (x PresubmitRunStatus) String() string

func (PresubmitRunStatus) Type

type Project

type Project struct {

	// The resource name of the project which can be used to access the project.
	// Format: projects/{project}.
	// See also https://google.aip.dev/122.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The display name to be used in the project selection page of LUCI Analysis.
	// If not provided, the Title case of the project's Luci project ID will be used.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// The project id in luci, e.g. "chromium".
	Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"`
	// contains filtered or unexported fields
}

func (*Project) Descriptor deprecated

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

Deprecated: Use Project.ProtoReflect.Descriptor instead.

func (*Project) GetDisplayName

func (x *Project) GetDisplayName() string

func (*Project) GetName

func (x *Project) GetName() string

func (*Project) GetProject

func (x *Project) GetProject() string

func (*Project) ProtoMessage

func (*Project) ProtoMessage()

func (*Project) ProtoReflect

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

func (*Project) Reset

func (x *Project) Reset()

func (*Project) String

func (x *Project) String() string

type ProjectConfig

type ProjectConfig struct {

	// Resource name of the project configuration.
	// Format: projects/{project}/config.
	// See also https://google.aip.dev/122.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Configuration for automatic bug management.
	BugManagement *BugManagement `protobuf:"bytes,6,opt,name=bug_management,json=bugManagement,proto3" json:"bug_management,omitempty"`
	// contains filtered or unexported fields
}

func (*ProjectConfig) Descriptor deprecated

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

Deprecated: Use ProjectConfig.ProtoReflect.Descriptor instead.

func (*ProjectConfig) GetBugManagement

func (x *ProjectConfig) GetBugManagement() *BugManagement

func (*ProjectConfig) GetName

func (x *ProjectConfig) GetName() string

func (*ProjectConfig) ProtoMessage

func (*ProjectConfig) ProtoMessage()

func (*ProjectConfig) ProtoReflect

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

func (*ProjectConfig) Reset

func (x *ProjectConfig) Reset()

func (*ProjectConfig) String

func (x *ProjectConfig) String() string

type ProjectMetric

type ProjectMetric struct {

	// The resource name of the metric.
	// Format: projects/{project}/metrics/{metric_id}.
	// See aip.dev/122 for more.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The identifier of the metric.
	// Follows the pattern: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.
	MetricId string `protobuf:"bytes,2,opt,name=metric_id,json=metricId,proto3" json:"metric_id,omitempty"`
	// A human readable name for the metric. E.g.
	// "User CLs Failed Presubmit".
	HumanReadableName string `protobuf:"bytes,3,opt,name=human_readable_name,json=humanReadableName,proto3" json:"human_readable_name,omitempty"`
	// A human readable description of the metric. Normally
	// this appears in a help popup near the metric.
	Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	// Whether the metric should be shown by default in
	// the cluster listing and on cluster pages.
	IsDefault bool `protobuf:"varint,5,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"`
	// SortPriority defines the order by which metrics are sorted by default.
	// The metric with the highest sort priority will define the
	// (default) primary sort order, followed by the metric with the
	// second highest sort priority, and so on.
	// Each metric is guaranteed to have a unique sort priority.
	SortPriority int32 `protobuf:"varint,6,opt,name=sort_priority,json=sortPriority,proto3" json:"sort_priority,omitempty"`
	// contains filtered or unexported fields
}

A metric with LUCI project-specific configuration attached.

func (*ProjectMetric) Descriptor deprecated

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

Deprecated: Use ProjectMetric.ProtoReflect.Descriptor instead.

func (*ProjectMetric) GetDescription

func (x *ProjectMetric) GetDescription() string

func (*ProjectMetric) GetHumanReadableName

func (x *ProjectMetric) GetHumanReadableName() string

func (*ProjectMetric) GetIsDefault

func (x *ProjectMetric) GetIsDefault() bool

func (*ProjectMetric) GetMetricId

func (x *ProjectMetric) GetMetricId() string

func (*ProjectMetric) GetName

func (x *ProjectMetric) GetName() string

func (*ProjectMetric) GetSortPriority

func (x *ProjectMetric) GetSortPriority() int32

func (*ProjectMetric) ProtoMessage

func (*ProjectMetric) ProtoMessage()

func (*ProjectMetric) ProtoReflect

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

func (*ProjectMetric) Reset

func (x *ProjectMetric) Reset()

func (*ProjectMetric) String

func (x *ProjectMetric) String() string

type ProjectsClient

type ProjectsClient interface {
	// Gets LUCI Analysis configuration for a LUCI Project.
	//
	// RPC desigend to comply with https://google.aip.dev/131.
	GetConfig(ctx context.Context, in *GetProjectConfigRequest, opts ...grpc.CallOption) (*ProjectConfig, error)
	// Lists LUCI Projects visible to the user.
	//
	// RPC compliant with https://google.aip.dev/132.
	// This RPC is incomplete. Future breaking changes are
	// expressly flagged.
	List(ctx context.Context, in *ListProjectsRequest, opts ...grpc.CallOption) (*ListProjectsResponse, error)
}

ProjectsClient is the client API for Projects service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewProjectsClient

func NewProjectsClient(cc grpc.ClientConnInterface) ProjectsClient

func NewProjectsPRPCClient

func NewProjectsPRPCClient(client *prpc.Client) ProjectsClient

type ProjectsServer

type ProjectsServer interface {
	// Gets LUCI Analysis configuration for a LUCI Project.
	//
	// RPC desigend to comply with https://google.aip.dev/131.
	GetConfig(context.Context, *GetProjectConfigRequest) (*ProjectConfig, error)
	// Lists LUCI Projects visible to the user.
	//
	// RPC compliant with https://google.aip.dev/132.
	// This RPC is incomplete. Future breaking changes are
	// expressly flagged.
	List(context.Context, *ListProjectsRequest) (*ListProjectsResponse, error)
}

ProjectsServer is the server API for Projects service.

type QueryChangepointAIAnalysisRequest

type QueryChangepointAIAnalysisRequest struct {

	// The LUCI project.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The identifier of a test.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// The hash of the variant.
	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"`
	// The nominal starting source position of the changepoint to query.
	// As the change point analysis is constantly changing and the current
	// nominal start position of the changepoint may have moved, the changepoint
	// nearest the queried position is returned.
	// If no changepoint is found near the given position, the error NOT_FOUND
	// is returned.
	StartSourcePosition int64 `protobuf:"varint,5,opt,name=start_source_position,json=startSourcePosition,proto3" json:"start_source_position,omitempty"`
	// Settings to control the prompt used. To assist experimentation.
	// Optional.
	PromptOptions *QueryChangepointAIAnalysisRequest_PromptOptions `protobuf:"bytes,6,opt,name=prompt_options,json=promptOptions,proto3" json:"prompt_options,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryChangepointAIAnalysisRequest) Descriptor deprecated

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

Deprecated: Use QueryChangepointAIAnalysisRequest.ProtoReflect.Descriptor instead.

func (*QueryChangepointAIAnalysisRequest) GetProject

func (x *QueryChangepointAIAnalysisRequest) GetProject() string

func (*QueryChangepointAIAnalysisRequest) GetPromptOptions

func (*QueryChangepointAIAnalysisRequest) GetRefHash

func (x *QueryChangepointAIAnalysisRequest) GetRefHash() string

func (*QueryChangepointAIAnalysisRequest) GetStartSourcePosition

func (x *QueryChangepointAIAnalysisRequest) GetStartSourcePosition() int64

func (*QueryChangepointAIAnalysisRequest) GetTestId

func (*QueryChangepointAIAnalysisRequest) GetVariantHash

func (x *QueryChangepointAIAnalysisRequest) GetVariantHash() string

func (*QueryChangepointAIAnalysisRequest) ProtoMessage

func (*QueryChangepointAIAnalysisRequest) ProtoMessage()

func (*QueryChangepointAIAnalysisRequest) ProtoReflect

func (*QueryChangepointAIAnalysisRequest) Reset

func (*QueryChangepointAIAnalysisRequest) String

type QueryChangepointAIAnalysisRequest_PromptOptions

type QueryChangepointAIAnalysisRequest_PromptOptions struct {

	// The prompt prefix to use. If set, replaces the
	// default prompt prefix. Optional.
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// The prompt suffix to use. If set, replaces the
	// default prompt suffix. Optional.
	Suffix string `protobuf:"bytes,2,opt,name=suffix,proto3" json:"suffix,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryChangepointAIAnalysisRequest_PromptOptions) Descriptor deprecated

Deprecated: Use QueryChangepointAIAnalysisRequest_PromptOptions.ProtoReflect.Descriptor instead.

func (*QueryChangepointAIAnalysisRequest_PromptOptions) GetPrefix

func (*QueryChangepointAIAnalysisRequest_PromptOptions) GetSuffix

func (*QueryChangepointAIAnalysisRequest_PromptOptions) ProtoMessage

func (*QueryChangepointAIAnalysisRequest_PromptOptions) ProtoReflect

func (*QueryChangepointAIAnalysisRequest_PromptOptions) Reset

func (*QueryChangepointAIAnalysisRequest_PromptOptions) String

type QueryChangepointAIAnalysisResponse

type QueryChangepointAIAnalysisResponse struct {

	// The AI-generated analysis markdown. This content is produced by
	// generative AI and is experimental.
	AnalysisMarkdown string `protobuf:"bytes,1,opt,name=analysis_markdown,json=analysisMarkdown,proto3" json:"analysis_markdown,omitempty"`
	// The prompt provided to generative AI. For debugging purposes only.
	Prompt string `protobuf:"bytes,2,opt,name=prompt,proto3" json:"prompt,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryChangepointAIAnalysisResponse) Descriptor deprecated

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

Deprecated: Use QueryChangepointAIAnalysisResponse.ProtoReflect.Descriptor instead.

func (*QueryChangepointAIAnalysisResponse) GetAnalysisMarkdown

func (x *QueryChangepointAIAnalysisResponse) GetAnalysisMarkdown() string

func (*QueryChangepointAIAnalysisResponse) GetPrompt

func (*QueryChangepointAIAnalysisResponse) ProtoMessage

func (*QueryChangepointAIAnalysisResponse) ProtoMessage()

func (*QueryChangepointAIAnalysisResponse) ProtoReflect

func (*QueryChangepointAIAnalysisResponse) Reset

func (*QueryChangepointAIAnalysisResponse) String

type QueryChangepointGroupSummariesRequest

type QueryChangepointGroupSummariesRequest struct {

	// The LUCI project. Mandatory field.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// A filter to be applied to each changepoint in the groups.
	// If all changepoints in a group are filtered out, this group will not be returned.
	Predicate *ChangepointPredicate `protobuf:"bytes,2,opt,name=predicate,proto3" json:"predicate,omitempty"`
	// The maximum number of groups to return.
	//
	// The service may return fewer than this value.
	// If unspecified, at most 100 groups will be returned.
	// The maximum value is 1000; values above 1000 will be coerced to 1000.
	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token, received from a previous call.
	// Provide this to retrieve the subsequent page.
	// This page token will expire after 50 minutes.
	//
	// When paginating, all other parameters provided to the next call
	// MUST match the call that provided the page token.
	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryChangepointGroupSummariesRequest) Descriptor deprecated

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

Deprecated: Use QueryChangepointGroupSummariesRequest.ProtoReflect.Descriptor instead.

func (*QueryChangepointGroupSummariesRequest) GetPageSize

func (*QueryChangepointGroupSummariesRequest) GetPageToken

func (*QueryChangepointGroupSummariesRequest) GetPredicate

func (*QueryChangepointGroupSummariesRequest) GetProject

func (*QueryChangepointGroupSummariesRequest) ProtoMessage

func (*QueryChangepointGroupSummariesRequest) ProtoMessage()

func (*QueryChangepointGroupSummariesRequest) ProtoReflect

func (*QueryChangepointGroupSummariesRequest) Reset

func (*QueryChangepointGroupSummariesRequest) String

type QueryChangepointGroupSummariesRequestLegacy

type QueryChangepointGroupSummariesRequestLegacy struct {

	// The LUCI project. Mandatory field.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// A filter to be applied to each changepoint in the groups.
	// If all changepoints in a group are filtered out, this group will not be returned.
	Predicate *ChangepointPredicateLegacy `protobuf:"bytes,2,opt,name=predicate,proto3" json:"predicate,omitempty"`
	// A timestamp that select a particular week.
	// The response will contain changepoints starting from this week (i.e. The nominal start time of changepints is within this week).
	//
	// A week is defined as Sunday midnight (inclusive) to next Saturday midnight (exclusive) in UTC.
	// Therefore, begin_of_week MUST be a timestamp at Sunday midnight (00:00 AM) UTC, otherwise an invalid request error will be returned.
	// If begin_of_week is nil, the current week will be used.
	BeginOfWeek *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=begin_of_week,json=beginOfWeek,proto3" json:"begin_of_week,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryChangepointGroupSummariesRequestLegacy) Descriptor deprecated

Deprecated: Use QueryChangepointGroupSummariesRequestLegacy.ProtoReflect.Descriptor instead.

func (*QueryChangepointGroupSummariesRequestLegacy) GetBeginOfWeek

func (*QueryChangepointGroupSummariesRequestLegacy) GetPredicate

func (*QueryChangepointGroupSummariesRequestLegacy) GetProject

func (*QueryChangepointGroupSummariesRequestLegacy) ProtoMessage

func (*QueryChangepointGroupSummariesRequestLegacy) ProtoReflect

func (*QueryChangepointGroupSummariesRequestLegacy) Reset

func (*QueryChangepointGroupSummariesRequestLegacy) String

type QueryChangepointGroupSummariesResponse

type QueryChangepointGroupSummariesResponse struct {

	// A list of changepoint group summaries.
	GroupSummaries []*ChangepointGroupSummary `protobuf:"bytes,1,rep,name=group_summaries,json=groupSummaries,proto3" json:"group_summaries,omitempty"`
	// This field will be set if there are more results to return.
	// To get the next page of data, send the same request again, but include this
	// token.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryChangepointGroupSummariesResponse) Descriptor deprecated

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

Deprecated: Use QueryChangepointGroupSummariesResponse.ProtoReflect.Descriptor instead.

func (*QueryChangepointGroupSummariesResponse) GetGroupSummaries

func (*QueryChangepointGroupSummariesResponse) GetNextPageToken

func (x *QueryChangepointGroupSummariesResponse) GetNextPageToken() string

func (*QueryChangepointGroupSummariesResponse) ProtoMessage

func (*QueryChangepointGroupSummariesResponse) ProtoReflect

func (*QueryChangepointGroupSummariesResponse) Reset

func (*QueryChangepointGroupSummariesResponse) String

type QueryChangepointGroupSummariesResponseLegacy

type QueryChangepointGroupSummariesResponseLegacy struct {

	// A list of changepoint group summaries.
	GroupSummaries []*ChangepointGroupSummary `protobuf:"bytes,1,rep,name=group_summaries,json=groupSummaries,proto3" json:"group_summaries,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryChangepointGroupSummariesResponseLegacy) Descriptor deprecated

Deprecated: Use QueryChangepointGroupSummariesResponseLegacy.ProtoReflect.Descriptor instead.

func (*QueryChangepointGroupSummariesResponseLegacy) GetGroupSummaries

func (*QueryChangepointGroupSummariesResponseLegacy) ProtoMessage

func (*QueryChangepointGroupSummariesResponseLegacy) ProtoReflect

func (*QueryChangepointGroupSummariesResponseLegacy) Reset

func (*QueryChangepointGroupSummariesResponseLegacy) String

type QueryChangepointsInGroupRequest

type QueryChangepointsInGroupRequest struct {

	// The LUCI project. Mandatory field.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// Identify a group with this changepoint. Mandatory field.
	GroupKey *QueryChangepointsInGroupRequest_ChangepointIdentifier `protobuf:"bytes,2,opt,name=group_key,json=groupKey,proto3" json:"group_key,omitempty"`
	// A filter to be applied to each changepoint.
	Predicate *ChangepointPredicate `protobuf:"bytes,3,opt,name=predicate,proto3" json:"predicate,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryChangepointsInGroupRequest) Descriptor deprecated

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

Deprecated: Use QueryChangepointsInGroupRequest.ProtoReflect.Descriptor instead.

func (*QueryChangepointsInGroupRequest) GetGroupKey

func (*QueryChangepointsInGroupRequest) GetPredicate

func (*QueryChangepointsInGroupRequest) GetProject

func (x *QueryChangepointsInGroupRequest) GetProject() string

func (*QueryChangepointsInGroupRequest) ProtoMessage

func (*QueryChangepointsInGroupRequest) ProtoMessage()

func (*QueryChangepointsInGroupRequest) ProtoReflect

func (*QueryChangepointsInGroupRequest) Reset

func (*QueryChangepointsInGroupRequest) String

type QueryChangepointsInGroupRequest_ChangepointIdentifier

type QueryChangepointsInGroupRequest_ChangepointIdentifier struct {
	TestId               string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	VariantHash          string `protobuf:"bytes,2,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	RefHash              string `protobuf:"bytes,3,opt,name=ref_hash,json=refHash,proto3" json:"ref_hash,omitempty"`
	NominalStartPosition int64  `protobuf:"varint,4,opt,name=nominal_start_position,json=nominalStartPosition,proto3" json:"nominal_start_position,omitempty"`
	// The nominal start hour of this changepoint in UTC.
	// This is used to locate a week in UTC (Saturday to Sunday) to generate changepoint groups.
	StartHour *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=start_hour,json=startHour,proto3" json:"start_hour,omitempty"`
	// contains filtered or unexported fields
}

We consider two changepoints matches if

  • their test_id, variant_hash, ref_hash are exactly the same, AND
  • nominal_start_position is within the other changepoint's 99% confidence interval (inclusive).

Most of the time there should be only one matching changepoint. However, in rare cases adjacent segments can have an overlapping 99% confidence interval. It makes it possible that more than one changepoint matches. In this case, we select the one with the closest nominal start position.

func (*QueryChangepointsInGroupRequest_ChangepointIdentifier) Descriptor deprecated

Deprecated: Use QueryChangepointsInGroupRequest_ChangepointIdentifier.ProtoReflect.Descriptor instead.

func (*QueryChangepointsInGroupRequest_ChangepointIdentifier) GetNominalStartPosition

func (x *QueryChangepointsInGroupRequest_ChangepointIdentifier) GetNominalStartPosition() int64

func (*QueryChangepointsInGroupRequest_ChangepointIdentifier) GetRefHash

func (*QueryChangepointsInGroupRequest_ChangepointIdentifier) GetStartHour

func (*QueryChangepointsInGroupRequest_ChangepointIdentifier) GetTestId

func (*QueryChangepointsInGroupRequest_ChangepointIdentifier) GetVariantHash

func (*QueryChangepointsInGroupRequest_ChangepointIdentifier) ProtoMessage

func (*QueryChangepointsInGroupRequest_ChangepointIdentifier) ProtoReflect

func (*QueryChangepointsInGroupRequest_ChangepointIdentifier) Reset

func (*QueryChangepointsInGroupRequest_ChangepointIdentifier) String

type QueryChangepointsInGroupResponse

type QueryChangepointsInGroupResponse struct {

	// A list of changepoints in a group.
	Changepoints []*Changepoint `protobuf:"bytes,1,rep,name=changepoints,proto3" json:"changepoints,omitempty"`
	// contains filtered or unexported fields
}

TODO: Implement pagination, currently just return at most 1000 changepoints.

func (*QueryChangepointsInGroupResponse) Descriptor deprecated

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

Deprecated: Use QueryChangepointsInGroupResponse.ProtoReflect.Descriptor instead.

func (*QueryChangepointsInGroupResponse) GetChangepoints

func (x *QueryChangepointsInGroupResponse) GetChangepoints() []*Changepoint

func (*QueryChangepointsInGroupResponse) ProtoMessage

func (*QueryChangepointsInGroupResponse) ProtoMessage()

func (*QueryChangepointsInGroupResponse) ProtoReflect

func (*QueryChangepointsInGroupResponse) Reset

func (*QueryChangepointsInGroupResponse) String

type QueryClusterExoneratedTestVariantBranchesRequest

type QueryClusterExoneratedTestVariantBranchesRequest struct {

	// The resource name of the cluster exonerated test variant branches to retrieve.
	// Format: projects/{project}/clusters/{cluster_algorithm}/{cluster_id}/exoneratedTestVariantBranches.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryClusterExoneratedTestVariantBranchesRequest) Descriptor deprecated

Deprecated: Use QueryClusterExoneratedTestVariantBranchesRequest.ProtoReflect.Descriptor instead.

func (*QueryClusterExoneratedTestVariantBranchesRequest) GetParent

func (*QueryClusterExoneratedTestVariantBranchesRequest) ProtoMessage

func (*QueryClusterExoneratedTestVariantBranchesRequest) ProtoReflect

func (*QueryClusterExoneratedTestVariantBranchesRequest) Reset

func (*QueryClusterExoneratedTestVariantBranchesRequest) String

type QueryClusterExoneratedTestVariantBranchesResponse

type QueryClusterExoneratedTestVariantBranchesResponse struct {

	// A list of test variants branches in the cluster which have exonerated
	// critical failures. Ordered by recency of the exoneration (most recent
	// exonerations first) and limited to at most 100 test variant branches.
	//
	// Pagination following AIP-158 may be implemented in future if
	// more than 100 items is needed.
	TestVariantBranches []*ClusterExoneratedTestVariantBranch `protobuf:"bytes,1,rep,name=test_variant_branches,json=testVariantBranches,proto3" json:"test_variant_branches,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryClusterExoneratedTestVariantBranchesResponse) Descriptor deprecated

Deprecated: Use QueryClusterExoneratedTestVariantBranchesResponse.ProtoReflect.Descriptor instead.

func (*QueryClusterExoneratedTestVariantBranchesResponse) GetTestVariantBranches

func (*QueryClusterExoneratedTestVariantBranchesResponse) ProtoMessage

func (*QueryClusterExoneratedTestVariantBranchesResponse) ProtoReflect

func (*QueryClusterExoneratedTestVariantBranchesResponse) Reset

func (*QueryClusterExoneratedTestVariantBranchesResponse) String

type QueryClusterExoneratedTestVariantsRequest

type QueryClusterExoneratedTestVariantsRequest struct {

	// The resource name of the cluster exonerated test variants to retrieve.
	// Format: projects/{project}/clusters/{cluster_algorithm}/{cluster_id}/exoneratedTestVariants.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryClusterExoneratedTestVariantsRequest) Descriptor deprecated

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

Deprecated: Use QueryClusterExoneratedTestVariantsRequest.ProtoReflect.Descriptor instead.

func (*QueryClusterExoneratedTestVariantsRequest) GetParent

func (*QueryClusterExoneratedTestVariantsRequest) ProtoMessage

func (*QueryClusterExoneratedTestVariantsRequest) ProtoReflect

func (*QueryClusterExoneratedTestVariantsRequest) Reset

func (*QueryClusterExoneratedTestVariantsRequest) String

type QueryClusterExoneratedTestVariantsResponse

type QueryClusterExoneratedTestVariantsResponse struct {

	// A list of test variants in the cluster which have exonerated critical
	// failures. Ordered by recency of the exoneration (most recent exonerations
	// first) and limited to at most 100 test variants.
	TestVariants []*ClusterExoneratedTestVariant `protobuf:"bytes,1,rep,name=test_variants,json=testVariants,proto3" json:"test_variants,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryClusterExoneratedTestVariantsResponse) Descriptor deprecated

Deprecated: Use QueryClusterExoneratedTestVariantsResponse.ProtoReflect.Descriptor instead.

func (*QueryClusterExoneratedTestVariantsResponse) GetTestVariants

func (*QueryClusterExoneratedTestVariantsResponse) ProtoMessage

func (*QueryClusterExoneratedTestVariantsResponse) ProtoReflect

func (*QueryClusterExoneratedTestVariantsResponse) Reset

func (*QueryClusterExoneratedTestVariantsResponse) String

type QueryClusterFailuresRequest

type QueryClusterFailuresRequest struct {

	// The resource name of the cluster failures to retrieve.
	// Format: projects/{project}/clusters/{cluster_algorithm}/{cluster_id}/failures.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Optional. The resource name of the metric for which failures should
	// be displayed.
	// Format: projects/{project}/metrics/{metric_id}.
	//
	// If no metrics is specified here, then no filtering is performed
	// and all failures are eligible to be returned. Over time, we may wish
	// to migrate this to an AIP-160 filter clause, e.g. "in_metric(`metric-id`)"
	// where in_metric is a function.
	MetricFilter string `protobuf:"bytes,2,opt,name=metric_filter,json=metricFilter,proto3" json:"metric_filter,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryClusterFailuresRequest) Descriptor deprecated

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

Deprecated: Use QueryClusterFailuresRequest.ProtoReflect.Descriptor instead.

func (*QueryClusterFailuresRequest) GetMetricFilter

func (x *QueryClusterFailuresRequest) GetMetricFilter() string

func (*QueryClusterFailuresRequest) GetParent

func (x *QueryClusterFailuresRequest) GetParent() string

func (*QueryClusterFailuresRequest) ProtoMessage

func (*QueryClusterFailuresRequest) ProtoMessage()

func (*QueryClusterFailuresRequest) ProtoReflect

func (*QueryClusterFailuresRequest) Reset

func (x *QueryClusterFailuresRequest) Reset()

func (*QueryClusterFailuresRequest) String

func (x *QueryClusterFailuresRequest) String() string

type QueryClusterFailuresResponse

type QueryClusterFailuresResponse struct {

	// Example failures in the cluster.
	// Limited to the most recent 2000 examples.
	Failures []*DistinctClusterFailure `protobuf:"bytes,1,rep,name=failures,proto3" json:"failures,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryClusterFailuresResponse) Descriptor deprecated

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

Deprecated: Use QueryClusterFailuresResponse.ProtoReflect.Descriptor instead.

func (*QueryClusterFailuresResponse) GetFailures

func (*QueryClusterFailuresResponse) ProtoMessage

func (*QueryClusterFailuresResponse) ProtoMessage()

func (*QueryClusterFailuresResponse) ProtoReflect

func (*QueryClusterFailuresResponse) Reset

func (x *QueryClusterFailuresResponse) Reset()

func (*QueryClusterFailuresResponse) String

type QueryClusterHistoryRequest

type QueryClusterHistoryRequest struct {

	// The LUCI Project.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// An AIP-160 style filter to select test failures in the project
	// to calculate metrics for.
	//
	// See the description of the QueryClusterSummariesRequest.failure_filter
	// above for the format of this field.
	//
	// Note that cost is greatly reduced (more than 90%) if exact matches for the
	// cluster_algorithm and cluster_id field are both provided in the filter string.
	FailureFilter string `protobuf:"bytes,2,opt,name=failure_filter,json=failureFilter,proto3" json:"failure_filter,omitempty"`
	// The number of days of history to return.  Maximum of 90 as only 90 days of
	// history is kept by LUCI Analysis.  Note that the cost of the query scales
	// linearly with the number of days.
	Days int32 `protobuf:"varint,3,opt,name=days,proto3" json:"days,omitempty"`
	// The resource name(s) of the metrics to include in the cluster histories.
	// Format: projects/{project}/metrics/{metric_id}.
	// See the metrics field on the luci.analysis.v1.Cluster message for details
	// about valid metric identifiers.
	Metrics []string `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryClusterHistoryRequest) Descriptor deprecated

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

Deprecated: Use QueryClusterHistoryRequest.ProtoReflect.Descriptor instead.

func (*QueryClusterHistoryRequest) GetDays

func (x *QueryClusterHistoryRequest) GetDays() int32

func (*QueryClusterHistoryRequest) GetFailureFilter

func (x *QueryClusterHistoryRequest) GetFailureFilter() string

func (*QueryClusterHistoryRequest) GetMetrics

func (x *QueryClusterHistoryRequest) GetMetrics() []string

func (*QueryClusterHistoryRequest) GetProject

func (x *QueryClusterHistoryRequest) GetProject() string

func (*QueryClusterHistoryRequest) ProtoMessage

func (*QueryClusterHistoryRequest) ProtoMessage()

func (*QueryClusterHistoryRequest) ProtoReflect

func (*QueryClusterHistoryRequest) Reset

func (x *QueryClusterHistoryRequest) Reset()

func (*QueryClusterHistoryRequest) String

func (x *QueryClusterHistoryRequest) String() string

type QueryClusterHistoryResponse

type QueryClusterHistoryResponse struct {

	// The metrics for each day.  There will be the same number of days as
	// requested in the request.  The entries will be returned in sorted date
	// order, earliest day first.
	Days []*ClusterHistoryDay `protobuf:"bytes,1,rep,name=days,proto3" json:"days,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryClusterHistoryResponse) Descriptor deprecated

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

Deprecated: Use QueryClusterHistoryResponse.ProtoReflect.Descriptor instead.

func (*QueryClusterHistoryResponse) GetDays

func (*QueryClusterHistoryResponse) ProtoMessage

func (*QueryClusterHistoryResponse) ProtoMessage()

func (*QueryClusterHistoryResponse) ProtoReflect

func (*QueryClusterHistoryResponse) Reset

func (x *QueryClusterHistoryResponse) Reset()

func (*QueryClusterHistoryResponse) String

func (x *QueryClusterHistoryResponse) String() string

type QueryClusterSummariesRequest

type QueryClusterSummariesRequest struct {

	// The LUCI Project.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// An AIP-160 style filter to select test failures in the project
	// to cluster and calculate metrics for.
	//
	// Filtering supports a subset of [AIP-160 filtering](https://google.aip.dev/160).
	//
	// All values are case-sensitive.
	//
	// A bare value is searched for in the columns test_id and
	// failure_reason. E.g. ninja or "test failed".
	//
	// You can use AND, OR and NOT (case sensitive) logical operators, along
	// with grouping. '-' is equivalent to NOT. Multiple bare values are
	// considered to be AND separated.  E.g. These are equivalent:
	// hello world
	// and:
	// hello AND world
	//
	// More examples:
	// a OR b
	// a AND NOT(b or -c)
	//
	// You can filter particular columns with '=', '!=' and ':' (has) operators.
	// The right hand side of the operator must be a simple value. E.g:
	// test_id:telemetry
	// -failure_reason:Timeout
	// ingested_invocation_id="build-8822963500388678513"
	//
	// Supported columns to search on:
	// - test_id
	// - failure_reason
	// - realm
	// - ingested_invocation_id
	// - cluster_algorithm
	// - cluster_id
	// - variant_hash
	// - test_run_id
	// - tags
	//
	// Note that cost is greatly reduced (more than 90%) if exact matches for the
	// cluster_algorithm and cluster_id field are both provided in the filter string.
	FailureFilter string `protobuf:"bytes,2,opt,name=failure_filter,json=failureFilter,proto3" json:"failure_filter,omitempty"`
	// A comma-separated list of fields to order the response by.
	//
	// The default sorting order is ascending; to specify descending order
	// for a field append a " desc" suffix. The dot syntax can be used
	// to navigate fields and map keys, and the backtick character (“) used
	// to escape field names that do not match `[a-zA-Z_][a-zA-Z0-9_]`.
	//
	// The only sortable columns that are supported currently are metric
	// fields.
	//
	// For example, to sort by human CLs failed presubmit descending, use:
	// "metrics.`human-cls-failed-presubmit`.value desc".
	// To sort by human CLs failed presubmit followed by failures, use:
	// "metrics.`human-cls-failed-presubmit`.value desc, metrics.`failures`.value desc"
	//
	// For more details, see aip.dev/132 for ordering syntax, and
	// aip.dev/161#map-fields for navigating map fields.
	OrderBy string `protobuf:"bytes,3,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
	// The resource name(s) of the metrics to include in the cluster summaries.
	// Format: projects/{project}/metrics/{metric_id}.
	// See the metrics field on the luci.analysis.v1.Cluster message for details
	// about valid metric identifiers.
	Metrics []string `protobuf:"bytes,4,rep,name=metrics,proto3" json:"metrics,omitempty"`
	// The time range over which to get the cluster summaries.
	// Note: the response will include only data for the portion of the
	// time range that is within the data retention period of 90 days.
	TimeRange *TimeRange `protobuf:"bytes,5,opt,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"`
	// The level of detail that the returned cluster summaries should have. See
	// luci.analysis.v1.ClusterSummaryView.
	View ClusterSummaryView `protobuf:"varint,6,opt,name=view,proto3,enum=luci.analysis.v1.ClusterSummaryView" json:"view,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryClusterSummariesRequest) Descriptor deprecated

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

Deprecated: Use QueryClusterSummariesRequest.ProtoReflect.Descriptor instead.

func (*QueryClusterSummariesRequest) GetFailureFilter

func (x *QueryClusterSummariesRequest) GetFailureFilter() string

func (*QueryClusterSummariesRequest) GetMetrics

func (x *QueryClusterSummariesRequest) GetMetrics() []string

func (*QueryClusterSummariesRequest) GetOrderBy

func (x *QueryClusterSummariesRequest) GetOrderBy() string

func (*QueryClusterSummariesRequest) GetProject

func (x *QueryClusterSummariesRequest) GetProject() string

func (*QueryClusterSummariesRequest) GetTimeRange

func (x *QueryClusterSummariesRequest) GetTimeRange() *TimeRange

func (*QueryClusterSummariesRequest) GetView

func (*QueryClusterSummariesRequest) ProtoMessage

func (*QueryClusterSummariesRequest) ProtoMessage()

func (*QueryClusterSummariesRequest) ProtoReflect

func (*QueryClusterSummariesRequest) Reset

func (x *QueryClusterSummariesRequest) Reset()

func (*QueryClusterSummariesRequest) String

type QueryClusterSummariesResponse

type QueryClusterSummariesResponse struct {

	// The clusters and impact metrics from the filtered failures.
	ClusterSummaries []*ClusterSummary `protobuf:"bytes,1,rep,name=cluster_summaries,json=clusterSummaries,proto3" json:"cluster_summaries,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryClusterSummariesResponse) Descriptor deprecated

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

Deprecated: Use QueryClusterSummariesResponse.ProtoReflect.Descriptor instead.

func (*QueryClusterSummariesResponse) GetClusterSummaries

func (x *QueryClusterSummariesResponse) GetClusterSummaries() []*ClusterSummary

func (*QueryClusterSummariesResponse) ProtoMessage

func (*QueryClusterSummariesResponse) ProtoMessage()

func (*QueryClusterSummariesResponse) ProtoReflect

func (*QueryClusterSummariesResponse) Reset

func (x *QueryClusterSummariesResponse) Reset()

func (*QueryClusterSummariesResponse) String

type QuerySourcePositionsRequest

type QuerySourcePositionsRequest struct {

	// The LUCI project.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The identifier of a test.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// The hash of the variant.
	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"`
	// The source position where to start listing from, in descending order (newest commit to older commits).
	// This start source position will be the largest source position in the response.
	StartSourcePosition int64 `protobuf:"varint,5,opt,name=start_source_position,json=startSourcePosition,proto3" json:"start_source_position,omitempty"`
	// The maximum number of commits to return.
	//
	// The service may return fewer than this value.
	// If unspecified, at most 100 commits will be returned.
	// The maximum value is 1,000; values above 1,000 will be coerced to 1,000.
	PageSize int32 `protobuf:"varint,6,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token, received from a previous `QuerySourcePositions` call.
	// Provide this to retrieve the subsequent page.
	//
	// When paginating, all other parameters provided to `QuerySourcePositions` MUST
	// match the call that provided the page token.
	PageToken string `protobuf:"bytes,7,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*QuerySourcePositionsRequest) Descriptor deprecated

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

Deprecated: Use QuerySourcePositionsRequest.ProtoReflect.Descriptor instead.

func (*QuerySourcePositionsRequest) GetPageSize

func (x *QuerySourcePositionsRequest) GetPageSize() int32

func (*QuerySourcePositionsRequest) GetPageToken

func (x *QuerySourcePositionsRequest) GetPageToken() string

func (*QuerySourcePositionsRequest) GetProject

func (x *QuerySourcePositionsRequest) GetProject() string

func (*QuerySourcePositionsRequest) GetRefHash

func (x *QuerySourcePositionsRequest) GetRefHash() string

func (*QuerySourcePositionsRequest) GetStartSourcePosition

func (x *QuerySourcePositionsRequest) GetStartSourcePosition() int64

func (*QuerySourcePositionsRequest) GetTestId

func (x *QuerySourcePositionsRequest) GetTestId() string

func (*QuerySourcePositionsRequest) GetVariantHash

func (x *QuerySourcePositionsRequest) GetVariantHash() string

func (*QuerySourcePositionsRequest) ProtoMessage

func (*QuerySourcePositionsRequest) ProtoMessage()

func (*QuerySourcePositionsRequest) ProtoReflect

func (*QuerySourcePositionsRequest) Reset

func (x *QuerySourcePositionsRequest) Reset()

func (*QuerySourcePositionsRequest) String

func (x *QuerySourcePositionsRequest) String() string

type QuerySourcePositionsResponse

type QuerySourcePositionsResponse struct {

	// Source positions in descending order, start from the commit at start_source_position.
	SourcePositions []*SourcePosition `protobuf:"bytes,1,rep,name=source_positions,json=sourcePositions,proto3" json:"source_positions,omitempty"`
	// A page token for next QuerySourcePositionsRequest to fetch the next page of commits.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*QuerySourcePositionsResponse) Descriptor deprecated

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

Deprecated: Use QuerySourcePositionsResponse.ProtoReflect.Descriptor instead.

func (*QuerySourcePositionsResponse) GetNextPageToken

func (x *QuerySourcePositionsResponse) GetNextPageToken() string

func (*QuerySourcePositionsResponse) GetSourcePositions

func (x *QuerySourcePositionsResponse) GetSourcePositions() []*SourcePosition

func (*QuerySourcePositionsResponse) ProtoMessage

func (*QuerySourcePositionsResponse) ProtoMessage()

func (*QuerySourcePositionsResponse) ProtoReflect

func (*QuerySourcePositionsResponse) Reset

func (x *QuerySourcePositionsResponse) Reset()

func (*QuerySourcePositionsResponse) String

type QuerySourceVerdictsRequest

type QuerySourceVerdictsRequest struct {

	// The name of the test variant branch to query.
	// It MUST be of the form projects/{PROJECT}/tests/{URL_ESCAPED_TEST_ID}/variants/{VARIANT_HASH}/refs/{REF_HASH}
	// where:
	// PROJECT is the LUCI Project of the test variant branch analysis.
	// URL_ESCAPED_TEST_ID is the test ID, escaped with
	// https://golang.org/pkg/net/url/#PathEscape. See also https://aip.dev/122.
	// VARIANT_HASH is the variant hash of the test variant analysis (16 lower-case-character hex string).
	// REF_HASH is the identity of the branch of the analysis. It is a 16 lower-case-character hex string.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The source position to start querying from, inclusive. This is the maximum source
	// position to be returned in the response.
	//
	// Note: The start is the maximum source position (not the minimum) as this RPC
	// is designed for UIs that paginate backwards through source history.
	StartSourcePosition int64 `protobuf:"varint,2,opt,name=start_source_position,json=startSourcePosition,proto3" json:"start_source_position,omitempty"`
	// The source position to stop querying at, exclusive. This is an exclusive lower
	// bound on the source positions returned in the response. As this is a lower bound,
	// it is required that end_source_position < start_source_position.
	//
	// In addition, no more than 1,000 source positions may be requested in one call,
	// i.e. start_source_position - end_source_position <= 1,000.
	EndSourcePosition int64 `protobuf:"varint,3,opt,name=end_source_position,json=endSourcePosition,proto3" json:"end_source_position,omitempty"`
	// contains filtered or unexported fields
}

func (*QuerySourceVerdictsRequest) Descriptor deprecated

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

Deprecated: Use QuerySourceVerdictsRequest.ProtoReflect.Descriptor instead.

func (*QuerySourceVerdictsRequest) GetEndSourcePosition

func (x *QuerySourceVerdictsRequest) GetEndSourcePosition() int64

func (*QuerySourceVerdictsRequest) GetParent

func (x *QuerySourceVerdictsRequest) GetParent() string

func (*QuerySourceVerdictsRequest) GetStartSourcePosition

func (x *QuerySourceVerdictsRequest) GetStartSourcePosition() int64

func (*QuerySourceVerdictsRequest) ProtoMessage

func (*QuerySourceVerdictsRequest) ProtoMessage()

func (*QuerySourceVerdictsRequest) ProtoReflect

func (*QuerySourceVerdictsRequest) Reset

func (x *QuerySourceVerdictsRequest) Reset()

func (*QuerySourceVerdictsRequest) String

func (x *QuerySourceVerdictsRequest) String() string

type QuerySourceVerdictsResponse

type QuerySourceVerdictsResponse struct {

	// Source verdicts in descending source position order. Only source verdicts
	// with test results are returned.
	SourceVerdicts []*QuerySourceVerdictsResponse_SourceVerdict `protobuf:"bytes,1,rep,name=source_verdicts,json=sourceVerdicts,proto3" json:"source_verdicts,omitempty"`
	// contains filtered or unexported fields
}

func (*QuerySourceVerdictsResponse) Descriptor deprecated

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

Deprecated: Use QuerySourceVerdictsResponse.ProtoReflect.Descriptor instead.

func (*QuerySourceVerdictsResponse) GetSourceVerdicts

func (*QuerySourceVerdictsResponse) ProtoMessage

func (*QuerySourceVerdictsResponse) ProtoMessage()

func (*QuerySourceVerdictsResponse) ProtoReflect

func (*QuerySourceVerdictsResponse) Reset

func (x *QuerySourceVerdictsResponse) Reset()

func (*QuerySourceVerdictsResponse) String

func (x *QuerySourceVerdictsResponse) String() string

type QuerySourceVerdictsResponse_SourceVerdict

type QuerySourceVerdictsResponse_SourceVerdict struct {

	// The source position.
	Position int64 `protobuf:"varint,1,opt,name=position,proto3" json:"position,omitempty"`
	// The overall status of the source verdict. Due to limitations in the implementation,
	// this currently reflects the aggregation of all test verdicts included in the
	// source verdict, and may include verdicts for unsubmitted code. As such, it may
	// differ from the actual source verdict status as used in change point analysis.
	Status QuerySourceVerdictsResponse_VerdictStatus `` /* 130-byte string literal not displayed */
	// The test verdicts at the source position. Note some of these test verdicts
	// may have not been used in change point analysis as they pertain to test results
	// for unsubmitted code.
	// Test verdicts will be ordered by ascending partition time, i.e. earliest test
	// verdict first.
	// Limited to at most 20 test verdicts.
	Verdicts []*QuerySourceVerdictsResponse_TestVerdict `protobuf:"bytes,3,rep,name=verdicts,proto3" json:"verdicts,omitempty"`
	// contains filtered or unexported fields
}

Source verdict is the aggregation of test results of a test variant at a source position.

func (*QuerySourceVerdictsResponse_SourceVerdict) Descriptor deprecated

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

Deprecated: Use QuerySourceVerdictsResponse_SourceVerdict.ProtoReflect.Descriptor instead.

func (*QuerySourceVerdictsResponse_SourceVerdict) GetPosition

func (*QuerySourceVerdictsResponse_SourceVerdict) GetStatus

func (*QuerySourceVerdictsResponse_SourceVerdict) GetVerdicts

func (*QuerySourceVerdictsResponse_SourceVerdict) ProtoMessage

func (*QuerySourceVerdictsResponse_SourceVerdict) ProtoReflect

func (*QuerySourceVerdictsResponse_SourceVerdict) Reset

func (*QuerySourceVerdictsResponse_SourceVerdict) String

type QuerySourceVerdictsResponse_TestVerdict

type QuerySourceVerdictsResponse_TestVerdict struct {

	// The ID of the top-level invocation that the test verdict belongs to.
	InvocationId string `protobuf:"bytes,1,opt,name=invocation_id,json=invocationId,proto3" json:"invocation_id,omitempty"`
	// The partition time of the test verdict.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// The status of the test verdict as it is interpreted by changepoint analysis.
	Status QuerySourceVerdictsResponse_VerdictStatus `` /* 130-byte string literal not displayed */
	// The changelist(s) that were tested, if any. If there are more 10, only
	// the first 10 are returned here.
	Changelists []*Changelist `protobuf:"bytes,4,rep,name=changelists,proto3" json:"changelists,omitempty"`
	// contains filtered or unexported fields
}

Test verdict is the aggregation of test results of a test variant in an invocation.

func (*QuerySourceVerdictsResponse_TestVerdict) Descriptor deprecated

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

Deprecated: Use QuerySourceVerdictsResponse_TestVerdict.ProtoReflect.Descriptor instead.

func (*QuerySourceVerdictsResponse_TestVerdict) GetChangelists

func (x *QuerySourceVerdictsResponse_TestVerdict) GetChangelists() []*Changelist

func (*QuerySourceVerdictsResponse_TestVerdict) GetInvocationId

func (x *QuerySourceVerdictsResponse_TestVerdict) GetInvocationId() string

func (*QuerySourceVerdictsResponse_TestVerdict) GetPartitionTime

func (*QuerySourceVerdictsResponse_TestVerdict) GetStatus

func (*QuerySourceVerdictsResponse_TestVerdict) ProtoMessage

func (*QuerySourceVerdictsResponse_TestVerdict) ProtoReflect

func (*QuerySourceVerdictsResponse_TestVerdict) Reset

func (*QuerySourceVerdictsResponse_TestVerdict) String

type QuerySourceVerdictsResponse_VerdictStatus

type QuerySourceVerdictsResponse_VerdictStatus int32

VerdictStatus represents the status of a verdict as it is seen by changepoint analysis. Changepoint analysis does not consider skipped test results or exonerations.

const (
	QuerySourceVerdictsResponse_VERDICT_EXPECTATION_STATUS_UNSPECIFIED QuerySourceVerdictsResponse_VerdictStatus = 0
	// The verdict (excluding skips) has only unexpected results.
	QuerySourceVerdictsResponse_UNEXPECTED QuerySourceVerdictsResponse_VerdictStatus = 1
	// The verdict (excluding skips) has only expected results.
	QuerySourceVerdictsResponse_EXPECTED QuerySourceVerdictsResponse_VerdictStatus = 2
	// The verdict (excluding skips) has a mix of expected and unexpected results.
	QuerySourceVerdictsResponse_FLAKY QuerySourceVerdictsResponse_VerdictStatus = 3
	// The verdict has only skips, and as such was not used in change
	// point analysis.
	QuerySourceVerdictsResponse_SKIPPED QuerySourceVerdictsResponse_VerdictStatus = 4
)

func (QuerySourceVerdictsResponse_VerdictStatus) Descriptor

func (QuerySourceVerdictsResponse_VerdictStatus) Enum

func (QuerySourceVerdictsResponse_VerdictStatus) EnumDescriptor deprecated

func (QuerySourceVerdictsResponse_VerdictStatus) EnumDescriptor() ([]byte, []int)

Deprecated: Use QuerySourceVerdictsResponse_VerdictStatus.Descriptor instead.

func (QuerySourceVerdictsResponse_VerdictStatus) Number

func (QuerySourceVerdictsResponse_VerdictStatus) String

func (QuerySourceVerdictsResponse_VerdictStatus) Type

type QueryTestHistoryRequest

type QueryTestHistoryRequest struct {

	// Required. The LUCI Project of the test results.
	// I.e. For a result to be part of the history, it needs to be contained
	// transitively by an invocation in this project.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// Required. The test ID to query the history from.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Required. A test verdict in the response must satisfy this predicate.
	Predicate *TestVerdictPredicate `protobuf:"bytes,3,opt,name=predicate,proto3" json:"predicate,omitempty"`
	// The maximum number of entries to return.
	//
	// The service may return fewer than this value.
	// If unspecified, at most 100 variants will be returned.
	// The maximum value is 1000; values above 1000 will be coerced to 1000.
	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token, received from a previous call.
	// Provide this to retrieve the subsequent page.
	//
	// When paginating, all other parameters provided to the next call MUST
	// match the call that provided the page token.
	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

A request message for `TestHistory.Query` RPC.

func (*QueryTestHistoryRequest) Descriptor deprecated

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

Deprecated: Use QueryTestHistoryRequest.ProtoReflect.Descriptor instead.

func (*QueryTestHistoryRequest) GetPageSize

func (x *QueryTestHistoryRequest) GetPageSize() int32

func (*QueryTestHistoryRequest) GetPageToken

func (x *QueryTestHistoryRequest) GetPageToken() string

func (*QueryTestHistoryRequest) GetPredicate

func (x *QueryTestHistoryRequest) GetPredicate() *TestVerdictPredicate

func (*QueryTestHistoryRequest) GetProject

func (x *QueryTestHistoryRequest) GetProject() string

func (*QueryTestHistoryRequest) GetTestId

func (x *QueryTestHistoryRequest) GetTestId() string

func (*QueryTestHistoryRequest) ProtoMessage

func (*QueryTestHistoryRequest) ProtoMessage()

func (*QueryTestHistoryRequest) ProtoReflect

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

func (*QueryTestHistoryRequest) Reset

func (x *QueryTestHistoryRequest) Reset()

func (*QueryTestHistoryRequest) String

func (x *QueryTestHistoryRequest) String() string

type QueryTestHistoryResponse

type QueryTestHistoryResponse struct {

	// The list of test verdicts.
	// Test verdicts will be ordered by `partition_time` DESC, `variant_hash` ASC,
	// `invocation_id` ASC.
	Verdicts []*TestVerdict `protobuf:"bytes,1,rep,name=verdicts,proto3" json:"verdicts,omitempty"`
	// This field will be set if there are more results to return.
	// To get the next page of data, send the same request again, but include this
	// token.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

A response message for `TestHistory.Query` RPC.

func (*QueryTestHistoryResponse) Descriptor deprecated

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

Deprecated: Use QueryTestHistoryResponse.ProtoReflect.Descriptor instead.

func (*QueryTestHistoryResponse) GetNextPageToken

func (x *QueryTestHistoryResponse) GetNextPageToken() string

func (*QueryTestHistoryResponse) GetVerdicts

func (x *QueryTestHistoryResponse) GetVerdicts() []*TestVerdict

func (*QueryTestHistoryResponse) ProtoMessage

func (*QueryTestHistoryResponse) ProtoMessage()

func (*QueryTestHistoryResponse) ProtoReflect

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

func (*QueryTestHistoryResponse) Reset

func (x *QueryTestHistoryResponse) Reset()

func (*QueryTestHistoryResponse) String

func (x *QueryTestHistoryResponse) String() string

type QueryTestHistoryStatsRequest

type QueryTestHistoryStatsRequest struct {

	// Required. The LUCI Project of the test results.
	// I.e. For a result to be part of the history, it needs to be contained
	// transitively by an invocation in this project.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// Required. The test ID to query the history from.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Required. A test verdict in the response must satisfy this predicate.
	Predicate *TestVerdictPredicate `protobuf:"bytes,3,opt,name=predicate,proto3" json:"predicate,omitempty"`
	// The maximum number of entries to return.
	//
	// The service may return fewer than this value.
	// If unspecified, at most 100 variants will be returned.
	// The maximum value is 1000; values above 1000 will be coerced to 1000.
	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token, received from a previous call.
	// Provide this to retrieve the subsequent page.
	//
	// When paginating, all other parameters provided to the next call
	// MUST match the call that provided the page token.
	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

A request message for `TestHistory.QueryStats` RPC.

func (*QueryTestHistoryStatsRequest) Descriptor deprecated

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

Deprecated: Use QueryTestHistoryStatsRequest.ProtoReflect.Descriptor instead.

func (*QueryTestHistoryStatsRequest) GetPageSize

func (x *QueryTestHistoryStatsRequest) GetPageSize() int32

func (*QueryTestHistoryStatsRequest) GetPageToken

func (x *QueryTestHistoryStatsRequest) GetPageToken() string

func (*QueryTestHistoryStatsRequest) GetPredicate

func (*QueryTestHistoryStatsRequest) GetProject

func (x *QueryTestHistoryStatsRequest) GetProject() string

func (*QueryTestHistoryStatsRequest) GetTestId

func (x *QueryTestHistoryStatsRequest) GetTestId() string

func (*QueryTestHistoryStatsRequest) ProtoMessage

func (*QueryTestHistoryStatsRequest) ProtoMessage()

func (*QueryTestHistoryStatsRequest) ProtoReflect

func (*QueryTestHistoryStatsRequest) Reset

func (x *QueryTestHistoryStatsRequest) Reset()

func (*QueryTestHistoryStatsRequest) String

type QueryTestHistoryStatsResponse

type QueryTestHistoryStatsResponse struct {

	// The list of test verdict groups. Test verdicts will be grouped and ordered
	// by `partition_date` DESC, `variant_hash` ASC.
	Groups []*QueryTestHistoryStatsResponse_Group `protobuf:"bytes,1,rep,name=groups,proto3" json:"groups,omitempty"`
	// This field will be set if there are more results to return.
	// To get the next page of data, send the same request again, but include this
	// token.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

A response message for `TestHistory.QueryStats` RPC.

func (*QueryTestHistoryStatsResponse) Descriptor deprecated

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

Deprecated: Use QueryTestHistoryStatsResponse.ProtoReflect.Descriptor instead.

func (*QueryTestHistoryStatsResponse) GetGroups

func (*QueryTestHistoryStatsResponse) GetNextPageToken

func (x *QueryTestHistoryStatsResponse) GetNextPageToken() string

func (*QueryTestHistoryStatsResponse) ProtoMessage

func (*QueryTestHistoryStatsResponse) ProtoMessage()

func (*QueryTestHistoryStatsResponse) ProtoReflect

func (*QueryTestHistoryStatsResponse) Reset

func (x *QueryTestHistoryStatsResponse) Reset()

func (*QueryTestHistoryStatsResponse) String

type QueryTestHistoryStatsResponse_Group

type QueryTestHistoryStatsResponse_Group struct {

	// The start time of this group.
	// Test verdicts that are paritioned in the 24 hours following this
	// timestamp are captured in this group.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// The hash of the variant.
	VariantHash string `protobuf:"bytes,2,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// The number of unexpected test verdicts in the group.
	UnexpectedCount int32 `protobuf:"varint,3,opt,name=unexpected_count,json=unexpectedCount,proto3" json:"unexpected_count,omitempty"`
	// The number of unexpectedly skipped test verdicts in the group.
	UnexpectedlySkippedCount int32 `` /* 136-byte string literal not displayed */
	// The number of flaky test verdicts in the group.
	FlakyCount int32 `protobuf:"varint,5,opt,name=flaky_count,json=flakyCount,proto3" json:"flaky_count,omitempty"`
	// The number of exonerated test verdicts in the group.
	ExoneratedCount int32 `protobuf:"varint,6,opt,name=exonerated_count,json=exoneratedCount,proto3" json:"exonerated_count,omitempty"`
	// The number of expected test verdicts in the group.
	ExpectedCount int32 `protobuf:"varint,7,opt,name=expected_count,json=expectedCount,proto3" json:"expected_count,omitempty"`
	// The average duration of passing test results in the group.
	PassedAvgDuration *durationpb.Duration `protobuf:"bytes,8,opt,name=passed_avg_duration,json=passedAvgDuration,proto3" json:"passed_avg_duration,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryTestHistoryStatsResponse_Group) Descriptor deprecated

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

Deprecated: Use QueryTestHistoryStatsResponse_Group.ProtoReflect.Descriptor instead.

func (*QueryTestHistoryStatsResponse_Group) GetExoneratedCount

func (x *QueryTestHistoryStatsResponse_Group) GetExoneratedCount() int32

func (*QueryTestHistoryStatsResponse_Group) GetExpectedCount

func (x *QueryTestHistoryStatsResponse_Group) GetExpectedCount() int32

func (*QueryTestHistoryStatsResponse_Group) GetFlakyCount

func (x *QueryTestHistoryStatsResponse_Group) GetFlakyCount() int32

func (*QueryTestHistoryStatsResponse_Group) GetPartitionTime

func (*QueryTestHistoryStatsResponse_Group) GetPassedAvgDuration

func (x *QueryTestHistoryStatsResponse_Group) GetPassedAvgDuration() *durationpb.Duration

func (*QueryTestHistoryStatsResponse_Group) GetUnexpectedCount

func (x *QueryTestHistoryStatsResponse_Group) GetUnexpectedCount() int32

func (*QueryTestHistoryStatsResponse_Group) GetUnexpectedlySkippedCount

func (x *QueryTestHistoryStatsResponse_Group) GetUnexpectedlySkippedCount() int32

func (*QueryTestHistoryStatsResponse_Group) GetVariantHash

func (x *QueryTestHistoryStatsResponse_Group) GetVariantHash() string

func (*QueryTestHistoryStatsResponse_Group) ProtoMessage

func (*QueryTestHistoryStatsResponse_Group) ProtoMessage()

func (*QueryTestHistoryStatsResponse_Group) ProtoReflect

func (*QueryTestHistoryStatsResponse_Group) Reset

func (*QueryTestHistoryStatsResponse_Group) String

type QueryTestVariantBranchRequest

type QueryTestVariantBranchRequest struct {

	// Required. The LUCI project of the test variant branch.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// Required. The test id of test variant branches.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Required. The source ref of test variant branches.
	Ref *SourceRef `protobuf:"bytes,3,opt,name=ref,proto3" json:"ref,omitempty"`
	// The maximum number of entries to return.
	//
	// The service may return fewer than this value.
	// If unspecified, at most 100 variants will be returned.
	// The maximum value is 1000; values above 1000 will be coerced to 1000.
	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token, received from a previous call.
	// Provide this to retrieve the subsequent page.
	//
	// When paginating, all other parameters provided to the next call MUST
	// match the call that provided the page token.
	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

A request message for `TestVariantBranches.Query` RPC.

func (*QueryTestVariantBranchRequest) Descriptor deprecated

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

Deprecated: Use QueryTestVariantBranchRequest.ProtoReflect.Descriptor instead.

func (*QueryTestVariantBranchRequest) GetPageSize

func (x *QueryTestVariantBranchRequest) GetPageSize() int32

func (*QueryTestVariantBranchRequest) GetPageToken

func (x *QueryTestVariantBranchRequest) GetPageToken() string

func (*QueryTestVariantBranchRequest) GetProject

func (x *QueryTestVariantBranchRequest) GetProject() string

func (*QueryTestVariantBranchRequest) GetRef

func (*QueryTestVariantBranchRequest) GetTestId

func (x *QueryTestVariantBranchRequest) GetTestId() string

func (*QueryTestVariantBranchRequest) ProtoMessage

func (*QueryTestVariantBranchRequest) ProtoMessage()

func (*QueryTestVariantBranchRequest) ProtoReflect

func (*QueryTestVariantBranchRequest) Reset

func (x *QueryTestVariantBranchRequest) Reset()

func (*QueryTestVariantBranchRequest) String

type QueryTestVariantBranchResponse

type QueryTestVariantBranchResponse struct {

	// The list of test variant branches ordered by `variant_hash` ASC.
	TestVariantBranch []*TestVariantBranch `protobuf:"bytes,1,rep,name=test_variant_branch,json=testVariantBranch,proto3" json:"test_variant_branch,omitempty"`
	// This field will be set if there are more results to return.
	// To get the next page of data, send the same request again, but include this
	// token.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryTestVariantBranchResponse) Descriptor deprecated

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

Deprecated: Use QueryTestVariantBranchResponse.ProtoReflect.Descriptor instead.

func (*QueryTestVariantBranchResponse) GetNextPageToken

func (x *QueryTestVariantBranchResponse) GetNextPageToken() string

func (*QueryTestVariantBranchResponse) GetTestVariantBranch

func (x *QueryTestVariantBranchResponse) GetTestVariantBranch() []*TestVariantBranch

func (*QueryTestVariantBranchResponse) ProtoMessage

func (*QueryTestVariantBranchResponse) ProtoMessage()

func (*QueryTestVariantBranchResponse) ProtoReflect

func (*QueryTestVariantBranchResponse) Reset

func (x *QueryTestVariantBranchResponse) Reset()

func (*QueryTestVariantBranchResponse) String

type QueryTestVariantFailureRateRequest

type QueryTestVariantFailureRateRequest struct {

	// The LUCI Project for which test variants should be looked up.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The list of test variants to retrieve results for.
	// At most 100 test variants may be specified in one request.
	// It is an error to request the same test variant twice.
	TestVariants []*TestVariantIdentifier `protobuf:"bytes,2,rep,name=test_variants,json=testVariants,proto3" json:"test_variants,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryTestVariantFailureRateRequest) Descriptor deprecated

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

Deprecated: Use QueryTestVariantFailureRateRequest.ProtoReflect.Descriptor instead.

func (*QueryTestVariantFailureRateRequest) GetProject

func (*QueryTestVariantFailureRateRequest) GetTestVariants

func (*QueryTestVariantFailureRateRequest) ProtoMessage

func (*QueryTestVariantFailureRateRequest) ProtoMessage()

func (*QueryTestVariantFailureRateRequest) ProtoReflect

func (*QueryTestVariantFailureRateRequest) Reset

func (*QueryTestVariantFailureRateRequest) String

type QueryTestVariantFailureRateResponse

type QueryTestVariantFailureRateResponse struct {

	// The time buckets used for time interval data.
	//
	// Currently each interval represents 24 weekday hours, including the
	// weekend contained in that range (if any). This is to compensate
	// for the typically reduced testing that is seen over weekends.
	// So interval with age=1 is the last 24 hours of weekday data
	// before the time the query is made, age=2 is the 24 hours of
	// weekday data before that, and so on.
	// In total, there will be 5 intervals, numbered 1 to 5.
	//
	// 24 hours of weekday data before X is defined to be
	// the smallest period ending at X which includes exactly 24
	// hours of a weekday in UTC. Therefore:
	// If X is on a weekend (in UTC), the returned data will
	// cover all of the weekend up to X and all of previous Friday (in UTC).
	// If X is on a Monday (in UTC), the returned data will cover all
	// of the weekend, up to a time on Friday that corresponds to
	// X's time on Monday (e.g. if X is Monday at 8am, the period goes
	// back to Friday at 8am).
	// Otherwise, X is on a Tuesday to Friday (in UTC), the period
	// will cover the last 24 hours.
	Intervals []*QueryTestVariantFailureRateResponse_Interval `protobuf:"bytes,1,rep,name=intervals,proto3" json:"intervals,omitempty"`
	// The test variant failure rate analysis requested.
	// Test variants are returned in the order they were requested.
	TestVariants []*TestVariantFailureRateAnalysis `protobuf:"bytes,2,rep,name=test_variants,json=testVariants,proto3" json:"test_variants,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryTestVariantFailureRateResponse) Descriptor deprecated

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

Deprecated: Use QueryTestVariantFailureRateResponse.ProtoReflect.Descriptor instead.

func (*QueryTestVariantFailureRateResponse) GetIntervals

func (*QueryTestVariantFailureRateResponse) GetTestVariants

func (*QueryTestVariantFailureRateResponse) ProtoMessage

func (*QueryTestVariantFailureRateResponse) ProtoMessage()

func (*QueryTestVariantFailureRateResponse) ProtoReflect

func (*QueryTestVariantFailureRateResponse) Reset

func (*QueryTestVariantFailureRateResponse) String

type QueryTestVariantFailureRateResponse_Interval

type QueryTestVariantFailureRateResponse_Interval struct {

	// The interval being defined. age=1 is the most recent
	// interval, age=2 is the interval immediately before that,
	// and so on.
	IntervalAge int32 `protobuf:"varint,1,opt,name=interval_age,json=intervalAge,proto3" json:"interval_age,omitempty"`
	// The start time of the interval (inclusive).
	StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// The end time of the interval (exclusive).
	EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
	// contains filtered or unexported fields
}

Interval defines the time buckets used for time interval data.

func (*QueryTestVariantFailureRateResponse_Interval) Descriptor deprecated

Deprecated: Use QueryTestVariantFailureRateResponse_Interval.ProtoReflect.Descriptor instead.

func (*QueryTestVariantFailureRateResponse_Interval) GetEndTime

func (*QueryTestVariantFailureRateResponse_Interval) GetIntervalAge

func (*QueryTestVariantFailureRateResponse_Interval) GetStartTime

func (*QueryTestVariantFailureRateResponse_Interval) ProtoMessage

func (*QueryTestVariantFailureRateResponse_Interval) ProtoReflect

func (*QueryTestVariantFailureRateResponse_Interval) Reset

func (*QueryTestVariantFailureRateResponse_Interval) String

type QueryTestVariantStabilityRequest

type QueryTestVariantStabilityRequest struct {

	// The LUCI Project for which test variants should be looked up.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// The test variant positions to query.
	TestVariants []*QueryTestVariantStabilityRequest_TestVariantPosition `protobuf:"bytes,2,rep,name=test_variants,json=testVariants,proto3" json:"test_variants,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryTestVariantStabilityRequest) Descriptor deprecated

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

Deprecated: Use QueryTestVariantStabilityRequest.ProtoReflect.Descriptor instead.

func (*QueryTestVariantStabilityRequest) GetProject

func (x *QueryTestVariantStabilityRequest) GetProject() string

func (*QueryTestVariantStabilityRequest) GetTestVariants

func (*QueryTestVariantStabilityRequest) ProtoMessage

func (*QueryTestVariantStabilityRequest) ProtoMessage()

func (*QueryTestVariantStabilityRequest) ProtoReflect

func (*QueryTestVariantStabilityRequest) Reset

func (*QueryTestVariantStabilityRequest) String

type QueryTestVariantStabilityRequest_TestVariantPosition

type QueryTestVariantStabilityRequest_TestVariantPosition struct {

	// The unique identifier of the test in a LUCI project.
	TestId string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Description of one specific way of running the test,
	// e.g. a specific bucket, builder and test suite.
	Variant *Variant `protobuf:"bytes,2,opt,name=variant,proto3" json:"variant,omitempty"`
	// The variant hash. Alternative to specifying the variant.
	// Prefer to specify the full variant (if available), as the
	// variant hashing implementation is an implementation detail
	// and may change.
	VariantHash string `protobuf:"bytes,3,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// The source positions to obtain stability relevant to.
	//
	// The base sources (e.g. base git commit branch and position)
	// is mandatory, except for the commit hash, which is ignored.
	//
	// If any changelists are specified then any stability analysis
	// will exclude prior results for that changelist from the
	// analysis.
	//
	// is_dirty is ignored.
	Sources *Sources `protobuf:"bytes,4,opt,name=sources,proto3" json:"sources,omitempty"`
	// contains filtered or unexported fields
}

Represents a test variant at a particular source position.

func (*QueryTestVariantStabilityRequest_TestVariantPosition) Descriptor deprecated

Deprecated: Use QueryTestVariantStabilityRequest_TestVariantPosition.ProtoReflect.Descriptor instead.

func (*QueryTestVariantStabilityRequest_TestVariantPosition) GetSources

func (*QueryTestVariantStabilityRequest_TestVariantPosition) GetTestId

func (*QueryTestVariantStabilityRequest_TestVariantPosition) GetVariant

func (*QueryTestVariantStabilityRequest_TestVariantPosition) GetVariantHash

func (*QueryTestVariantStabilityRequest_TestVariantPosition) ProtoMessage

func (*QueryTestVariantStabilityRequest_TestVariantPosition) ProtoReflect

func (*QueryTestVariantStabilityRequest_TestVariantPosition) Reset

func (*QueryTestVariantStabilityRequest_TestVariantPosition) String

type QueryTestVariantStabilityResponse

type QueryTestVariantStabilityResponse struct {

	// The requested test variant stability analysis.
	TestVariants []*TestVariantStabilityAnalysis `protobuf:"bytes,1,rep,name=test_variants,json=testVariants,proto3" json:"test_variants,omitempty"`
	// The criteria used to determine if tests are stable.
	// This is as configured in the project's LUCI Analysis configuration.
	Criteria *TestStabilityCriteria `protobuf:"bytes,2,opt,name=criteria,proto3" json:"criteria,omitempty"`
	// contains filtered or unexported fields
}

func (*QueryTestVariantStabilityResponse) Descriptor deprecated

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

Deprecated: Use QueryTestVariantStabilityResponse.ProtoReflect.Descriptor instead.

func (*QueryTestVariantStabilityResponse) GetCriteria

func (*QueryTestVariantStabilityResponse) GetTestVariants

func (*QueryTestVariantStabilityResponse) ProtoMessage

func (*QueryTestVariantStabilityResponse) ProtoMessage()

func (*QueryTestVariantStabilityResponse) ProtoReflect

func (*QueryTestVariantStabilityResponse) Reset

func (*QueryTestVariantStabilityResponse) String

type QueryTestsRequest

type QueryTestsRequest struct {

	// Required. The LUCI project to query the tests from.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// Required. Only tests that contain the substring will be returned.
	TestIdSubstring string `protobuf:"bytes,2,opt,name=test_id_substring,json=testIdSubstring,proto3" json:"test_id_substring,omitempty"`
	// Optional. The project-scoped realm to query the variants from.
	// This is the realm without the "<project>:" prefix.
	//
	// When specified, only the tests found in the matching realm will be
	// returned.
	SubRealm string `protobuf:"bytes,3,opt,name=sub_realm,json=subRealm,proto3" json:"sub_realm,omitempty"`
	// The maximum number of test IDs to return.
	//
	// The service may return fewer than this value.
	// If unspecified, at most 100 test IDs will be returned.
	// The maximum value is 1000; values above 1000 will be coerced to 1000.
	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token, received from a previous `QueryTests` call.
	// Provide this to retrieve the subsequent page.
	//
	// When paginating, all other parameters provided to `QueryTests` MUST
	// match the call that provided the page token.
	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

A request message for the `QueryTests` RPC.

func (*QueryTestsRequest) Descriptor deprecated

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

Deprecated: Use QueryTestsRequest.ProtoReflect.Descriptor instead.

func (*QueryTestsRequest) GetPageSize

func (x *QueryTestsRequest) GetPageSize() int32

func (*QueryTestsRequest) GetPageToken

func (x *QueryTestsRequest) GetPageToken() string

func (*QueryTestsRequest) GetProject

func (x *QueryTestsRequest) GetProject() string

func (*QueryTestsRequest) GetSubRealm

func (x *QueryTestsRequest) GetSubRealm() string

func (*QueryTestsRequest) GetTestIdSubstring

func (x *QueryTestsRequest) GetTestIdSubstring() string

func (*QueryTestsRequest) ProtoMessage

func (*QueryTestsRequest) ProtoMessage()

func (*QueryTestsRequest) ProtoReflect

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

func (*QueryTestsRequest) Reset

func (x *QueryTestsRequest) Reset()

func (*QueryTestsRequest) String

func (x *QueryTestsRequest) String() string

type QueryTestsResponse

type QueryTestsResponse struct {

	// A list of test Ids. Ordered alphabetically.
	TestIds []string `protobuf:"bytes,1,rep,name=test_ids,json=testIds,proto3" json:"test_ids,omitempty"`
	// A token, which can be sent as `page_token` to retrieve the next page.
	// If this field is omitted, there were no subsequent pages at the time of
	// request.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

A response message for the `QueryTests` RPC.

func (*QueryTestsResponse) Descriptor deprecated

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

Deprecated: Use QueryTestsResponse.ProtoReflect.Descriptor instead.

func (*QueryTestsResponse) GetNextPageToken

func (x *QueryTestsResponse) GetNextPageToken() string

func (*QueryTestsResponse) GetTestIds

func (x *QueryTestsResponse) GetTestIds() []string

func (*QueryTestsResponse) ProtoMessage

func (*QueryTestsResponse) ProtoMessage()

func (*QueryTestsResponse) ProtoReflect

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

func (*QueryTestsResponse) Reset

func (x *QueryTestsResponse) Reset()

func (*QueryTestsResponse) String

func (x *QueryTestsResponse) String() string

type QueryVariantsRequest

type QueryVariantsRequest struct {

	// Required. The LUCI project to query the variants from.
	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
	// Required. The test ID to query the variants from.
	TestId string `protobuf:"bytes,2,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Optional. The project-scoped realm to query the variants from.
	// This is the realm without the "<project>:" prefix.
	//
	// When specified, only the test variants found in the matching realm will be
	// returned.
	SubRealm string `protobuf:"bytes,3,opt,name=sub_realm,json=subRealm,proto3" json:"sub_realm,omitempty"`
	// Optional. When specified, only variant matches this predicate will be
	// returned.
	VariantPredicate *VariantPredicate `protobuf:"bytes,6,opt,name=variant_predicate,json=variantPredicate,proto3" json:"variant_predicate,omitempty"`
	// The maximum number of variants to return.
	//
	// The service may return fewer than this value.
	// If unspecified, at most 100 variants will be returned.
	// The maximum value is 1000; values above 1000 will be coerced to 1000.
	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token, received from a previous `QueryVariants` call.
	// Provide this to retrieve the subsequent page.
	//
	// When paginating, all other parameters provided to `QueryVariants` MUST
	// match the call that provided the page token.
	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

A request message for the `QueryVariants` RPC.

func (*QueryVariantsRequest) Descriptor deprecated

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

Deprecated: Use QueryVariantsRequest.ProtoReflect.Descriptor instead.

func (*QueryVariantsRequest) GetPageSize

func (x *QueryVariantsRequest) GetPageSize() int32

func (*QueryVariantsRequest) GetPageToken

func (x *QueryVariantsRequest) GetPageToken() string

func (*QueryVariantsRequest) GetProject

func (x *QueryVariantsRequest) GetProject() string

func (*QueryVariantsRequest) GetSubRealm

func (x *QueryVariantsRequest) GetSubRealm() string

func (*QueryVariantsRequest) GetTestId

func (x *QueryVariantsRequest) GetTestId() string

func (*QueryVariantsRequest) GetVariantPredicate

func (x *QueryVariantsRequest) GetVariantPredicate() *VariantPredicate

func (*QueryVariantsRequest) ProtoMessage

func (*QueryVariantsRequest) ProtoMessage()

func (*QueryVariantsRequest) ProtoReflect

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

func (*QueryVariantsRequest) Reset

func (x *QueryVariantsRequest) Reset()

func (*QueryVariantsRequest) String

func (x *QueryVariantsRequest) String() string

type QueryVariantsResponse

type QueryVariantsResponse struct {

	// A list of variants. Ordered by variant hash.
	Variants []*QueryVariantsResponse_VariantInfo `protobuf:"bytes,1,rep,name=variants,proto3" json:"variants,omitempty"`
	// A token, which can be sent as `page_token` to retrieve the next page.
	// If this field is omitted, there were no subsequent pages at the time of
	// request.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

A response message for the `QueryVariants` RPC.

func (*QueryVariantsResponse) Descriptor deprecated

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

Deprecated: Use QueryVariantsResponse.ProtoReflect.Descriptor instead.

func (*QueryVariantsResponse) GetNextPageToken

func (x *QueryVariantsResponse) GetNextPageToken() string

func (*QueryVariantsResponse) GetVariants

func (*QueryVariantsResponse) ProtoMessage

func (*QueryVariantsResponse) ProtoMessage()

func (*QueryVariantsResponse) ProtoReflect

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

func (*QueryVariantsResponse) Reset

func (x *QueryVariantsResponse) Reset()

func (*QueryVariantsResponse) String

func (x *QueryVariantsResponse) String() string

type QueryVariantsResponse_VariantInfo

type QueryVariantsResponse_VariantInfo struct {

	// The hash of the variant.
	VariantHash string `protobuf:"bytes,1,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// The definition of the variant.
	Variant *Variant `protobuf:"bytes,2,opt,name=variant,proto3" json:"variant,omitempty"`
	// contains filtered or unexported fields
}

Contains the variant definition and its hash.

func (*QueryVariantsResponse_VariantInfo) Descriptor deprecated

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

Deprecated: Use QueryVariantsResponse_VariantInfo.ProtoReflect.Descriptor instead.

func (*QueryVariantsResponse_VariantInfo) GetVariant

func (x *QueryVariantsResponse_VariantInfo) GetVariant() *Variant

func (*QueryVariantsResponse_VariantInfo) GetVariantHash

func (x *QueryVariantsResponse_VariantInfo) GetVariantHash() string

func (*QueryVariantsResponse_VariantInfo) ProtoMessage

func (*QueryVariantsResponse_VariantInfo) ProtoMessage()

func (*QueryVariantsResponse_VariantInfo) ProtoReflect

func (*QueryVariantsResponse_VariantInfo) Reset

func (*QueryVariantsResponse_VariantInfo) String

type ReclusteringProgress

type ReclusteringProgress struct {

	// The name of the reclustering progress resource.
	// Format: projects/{project}/reclusteringProgress.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// ProgressPerMille is the progress of the current re-clustering run,
	// measured in thousandths (per mille). As such, this value ranges
	// from 0 (0% complete) to 1000 (100% complete).
	ProgressPerMille int32 `protobuf:"varint,2,opt,name=progress_per_mille,json=progressPerMille,proto3" json:"progress_per_mille,omitempty"`
	// The goal of the last completed re-clustering run.
	Last *ClusteringVersion `protobuf:"bytes,5,opt,name=last,proto3" json:"last,omitempty"`
	// The goal of the current re-clustering run. (For which
	// ProgressPerMille is specified.) This may be the same as the
	// last completed re-clustering run the available algorithm versions,
	// rules and configuration is unchanged.
	Next *ClusteringVersion `protobuf:"bytes,6,opt,name=next,proto3" json:"next,omitempty"`
	// contains filtered or unexported fields
}

ReclusteringProgress captures the progress re-clustering a given LUCI project's test results using specific rules versions or algorithms versions.

func (*ReclusteringProgress) Descriptor deprecated

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

Deprecated: Use ReclusteringProgress.ProtoReflect.Descriptor instead.

func (*ReclusteringProgress) GetLast

func (*ReclusteringProgress) GetName

func (x *ReclusteringProgress) GetName() string

func (*ReclusteringProgress) GetNext

func (*ReclusteringProgress) GetProgressPerMille

func (x *ReclusteringProgress) GetProgressPerMille() int32

func (*ReclusteringProgress) ProtoMessage

func (*ReclusteringProgress) ProtoMessage()

func (*ReclusteringProgress) ProtoReflect

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

func (*ReclusteringProgress) Reset

func (x *ReclusteringProgress) Reset()

func (*ReclusteringProgress) String

func (x *ReclusteringProgress) String() string

type Rule

type Rule 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}.
	// See also https://google.aip.dev/122.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The LUCI Project for which this rule is defined.
	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
	// The unique identifier for the failure association rule,
	// as 32 lowercase hexadecimal characters.
	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.
	// For example, 'reason LIKE "Some error: %"'.
	//
	// analysis/internal/clustering/rules/lang/lang.go contains the
	// EBNF grammar for the language used to define rule predicates;
	// it is a subset of Google Standard SQL.
	//
	// The maximum allowed length is 65536 characters.
	RuleDefinition string `protobuf:"bytes,4,opt,name=rule_definition,json=ruleDefinition,proto3" json:"rule_definition,omitempty"`
	// The bug that the failures are associated with.
	Bug *AssociatedBug `protobuf:"bytes,5,opt,name=bug,proto3" json:"bug,omitempty"`
	// Whether the bug should be updated by LUCI Analysis, and whether
	// failures should still be matched against the rule.
	IsActive bool `protobuf:"varint,6,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
	// Whether LUCI Analysis should manage the priority and verified status
	// of the associated bug based on the impact established via this rule.
	IsManagingBug bool `protobuf:"varint,14,opt,name=is_managing_bug,json=isManagingBug,proto3" json:"is_managing_bug,omitempty"`
	// Determines whether LUCI Analysis is managing the bug priority updates
	// of the bug.
	IsManagingBugPriority bool `` /* 130-byte string literal not displayed */
	// Output Only. The time is_managing_bug_priority was last updated.
	IsManagingBugPriorityLastUpdateTime *timestamppb.Timestamp `` /* 177-byte string literal not displayed */
	// The suggested cluster this rule was created from (if any).
	// Until re-clustering is complete and has reduced the residual impact
	// of the source cluster, this cluster ID tells bug filing to ignore
	// the source cluster when determining whether new bugs need to be filed.
	// Immutable after creation.
	SourceCluster *ClusterId `protobuf:"bytes,7,opt,name=source_cluster,json=sourceCluster,proto3" json:"source_cluster,omitempty"`
	// Bug management state.
	// System controlled data, cannot be modified by the user.
	BugManagementState *BugManagementState `protobuf:"bytes,17,opt,name=bug_management_state,json=bugManagementState,proto3" json:"bug_management_state,omitempty"`
	// The time the rule was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// The user which created the rule.
	// This could be an email address or the value 'system' (for rules
	// automaticatically created by LUCI Analysis itself).
	// This value may not be available, as its disclosure is limited
	// to Googlers only and is subject to automatic deletion after 30 days.
	CreateUser string `protobuf:"bytes,9,opt,name=create_user,json=createUser,proto3" json:"create_user,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 user which updated an auditable field. An auditable field
	// is any field other than a system controlled data field.
	// This could be an email address or the value 'system' (for rules
	// automaticatically modified by LUCI Analysis itself).
	// This value may not be available, as its disclosure is limited
	// to Googlers only and is subject to automatic deletion after 30 days.
	LastAuditableUpdateUser string `` /* 135-byte string literal not displayed */
	// The time the rule was last updated.
	LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"`
	// The time the rule was last updated in a way that caused the
	// matched failures to change, i.e. because of a change to rule_definition
	// or is_active. (By contrast, updating the associated bug does NOT change
	// the matched failures, so does NOT update this field.)
	// Output only.
	PredicateLastUpdateTime *timestamppb.Timestamp `` /* 135-byte string literal not displayed */
	// This checksum is computed by the server based on the value of other
	// fields, and may be sent on update requests to ensure the client
	// has an up-to-date value before proceeding.
	// See also https://google.aip.dev/154.
	Etag string `protobuf:"bytes,12,opt,name=etag,proto3" json:"etag,omitempty"`
	// contains filtered or unexported fields
}

A rule associating failures with a bug.

func (*Rule) Descriptor deprecated

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

Deprecated: Use Rule.ProtoReflect.Descriptor instead.

func (*Rule) GetBug

func (x *Rule) GetBug() *AssociatedBug

func (*Rule) GetBugManagementState

func (x *Rule) GetBugManagementState() *BugManagementState

func (*Rule) GetCreateTime

func (x *Rule) GetCreateTime() *timestamppb.Timestamp

func (*Rule) GetCreateUser

func (x *Rule) GetCreateUser() string

func (*Rule) GetEtag

func (x *Rule) GetEtag() string

func (*Rule) GetIsActive

func (x *Rule) GetIsActive() bool

func (*Rule) GetIsManagingBug

func (x *Rule) GetIsManagingBug() bool

func (*Rule) GetIsManagingBugPriority

func (x *Rule) GetIsManagingBugPriority() bool

func (*Rule) GetIsManagingBugPriorityLastUpdateTime

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

func (*Rule) GetLastAuditableUpdateTime

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

func (*Rule) GetLastAuditableUpdateUser

func (x *Rule) GetLastAuditableUpdateUser() string

func (*Rule) GetLastUpdateTime

func (x *Rule) GetLastUpdateTime() *timestamppb.Timestamp

func (*Rule) GetName

func (x *Rule) GetName() string

func (*Rule) GetPredicateLastUpdateTime

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

func (*Rule) GetProject

func (x *Rule) GetProject() string

func (*Rule) GetRuleDefinition

func (x *Rule) GetRuleDefinition() string

func (*Rule) GetRuleId

func (x *Rule) GetRuleId() string

func (*Rule) GetSourceCluster

func (x *Rule) GetSourceCluster() *ClusterId

func (*Rule) ProtoMessage

func (*Rule) ProtoMessage()

func (*Rule) ProtoReflect

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

func (*Rule) Reset

func (x *Rule) Reset()

func (*Rule) String

func (x *Rule) String() string

type RulesClient

type RulesClient interface {
	// Retrieves a rule.
	// Designed to conform to https://google.aip.dev/131.
	Get(ctx context.Context, in *GetRuleRequest, opts ...grpc.CallOption) (*Rule, error)
	// Lists rules.
	// TODO: implement pagination to make this
	// RPC compliant with https://google.aip.dev/132.
	// This RPC is incomplete. Future breaking changes are
	// expressly flagged.
	List(ctx context.Context, in *ListRulesRequest, opts ...grpc.CallOption) (*ListRulesResponse, error)
	// Creates a new rule.
	// Designed to conform to https://google.aip.dev/133.
	Create(ctx context.Context, in *CreateRuleRequest, opts ...grpc.CallOption) (*Rule, error)
	// Updates a rule.
	// Designed to conform to https://google.aip.dev/134.
	Update(ctx context.Context, in *UpdateRuleRequest, opts ...grpc.CallOption) (*Rule, error)
	// Looks up the rule associated with a given bug, without knowledge
	// of the LUCI project the rule is in.
	// Designed to conform to https://google.aip.dev/136.
	LookupBug(ctx context.Context, in *LookupBugRequest, opts ...grpc.CallOption) (*LookupBugResponse, error)
	// Prepares default values for a rule.
	PrepareDefaults(ctx context.Context, in *PrepareRuleDefaultsRequest, opts ...grpc.CallOption) (*PrepareRuleDefaultsResponse, error)
	// Creates a new rule and creates a new issue in an issue tracker.
	// Returns the rule that was created, which references the
	// newly filed issue.
	//
	// Designed as a compound RPC rather than separate NewIssue + CreateRule RPCs
	// to ensure that issues with the definition of the failure association rule
	// can be caught before the bug is filed (reduces chance of partial success
	// in which bug is filed but rule cannot then be created).
	// Designed to conform to https://google.aip.dev/136.
	CreateWithNewIssue(ctx context.Context, in *CreateRuleWithNewIssueRequest, opts ...grpc.CallOption) (*Rule, error)
}

RulesClient is the client API for Rules service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewRulesClient

func NewRulesClient(cc grpc.ClientConnInterface) RulesClient

func NewRulesPRPCClient

func NewRulesPRPCClient(client *prpc.Client) RulesClient

type RulesServer

type RulesServer interface {
	// Retrieves a rule.
	// Designed to conform to https://google.aip.dev/131.
	Get(context.Context, *GetRuleRequest) (*Rule, error)
	// Lists rules.
	// TODO: implement pagination to make this
	// RPC compliant with https://google.aip.dev/132.
	// This RPC is incomplete. Future breaking changes are
	// expressly flagged.
	List(context.Context, *ListRulesRequest) (*ListRulesResponse, error)
	// Creates a new rule.
	// Designed to conform to https://google.aip.dev/133.
	Create(context.Context, *CreateRuleRequest) (*Rule, error)
	// Updates a rule.
	// Designed to conform to https://google.aip.dev/134.
	Update(context.Context, *UpdateRuleRequest) (*Rule, error)
	// Looks up the rule associated with a given bug, without knowledge
	// of the LUCI project the rule is in.
	// Designed to conform to https://google.aip.dev/136.
	LookupBug(context.Context, *LookupBugRequest) (*LookupBugResponse, error)
	// Prepares default values for a rule.
	PrepareDefaults(context.Context, *PrepareRuleDefaultsRequest) (*PrepareRuleDefaultsResponse, error)
	// Creates a new rule and creates a new issue in an issue tracker.
	// Returns the rule that was created, which references the
	// newly filed issue.
	//
	// Designed as a compound RPC rather than separate NewIssue + CreateRule RPCs
	// to ensure that issues with the definition of the failure association rule
	// can be caught before the bug is filed (reduces chance of partial success
	// in which bug is filed but rule cannot then be created).
	// Designed to conform to https://google.aip.dev/136.
	CreateWithNewIssue(context.Context, *CreateRuleWithNewIssueRequest) (*Rule, error)
}

RulesServer is the server API for Rules service.

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_upper_bound_99th <= end_position
	// where previous_segment refers to the chronologically previous segment.
	StartPositionUpperBound_99Th int64 `` /* 149-byte string literal not displayed */
	// The starting changepoint position distribution. Only available for new
	// changepoints detected from ~July 2024 onwards.
	StartPositionDistribution *Segment_PositionDistribution `` /* 138-byte string literal not displayed */
	// The earliest hour a test run 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 run
	// 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 run 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. Same structure with bigquery proto here, but make a separate copy to allow it to evolve over time. https://source.chromium.org/chromium/infra/infra/+/main:go/src/go.chromium.org/luci/analysis/proto/bq/test_variant_branch_row.proto;l=80

Next ID: 10.

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) GetStartPositionDistribution

func (x *Segment) GetStartPositionDistribution() *Segment_PositionDistribution

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 int32 `protobuf:"varint,1,opt,name=unexpected_results,json=unexpectedResults,proto3" json:"unexpected_results,omitempty"`
	// The total number of non-skipped test results.
	TotalResults int32 `protobuf:"varint,2,opt,name=total_results,json=totalResults,proto3" json:"total_results,omitempty"`
	// The number of expected passed test results.
	ExpectedPassedResults int32 `` /* 127-byte string literal not displayed */
	// The number of expected failed test results.
	ExpectedFailedResults int32 `` /* 127-byte string literal not displayed */
	// The number of expected crashed test results.
	ExpectedCrashedResults int32 `` /* 130-byte string literal not displayed */
	// The number of expected aborted test results.
	ExpectedAbortedResults int32 `` /* 130-byte string literal not displayed */
	// The number of unexpected passed test results.
	UnexpectedPassedResults int32 `` /* 133-byte string literal not displayed */
	// The number of unexpected failed test results.
	UnexpectedFailedResults int32 `` /* 133-byte string literal not displayed */
	// The number of unexpected crashed test results.
	UnexpectedCrashedResults int32 `` /* 136-byte string literal not displayed */
	// The number of unexpected aborted test results.
	UnexpectedAbortedResults int32 `` /* 137-byte string literal not displayed */
	// The number of test runs which had an unexpected test result but were
	// not retried.
	UnexpectedUnretriedRuns int32 `` /* 134-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 int32 `` /* 139-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 int32 `protobuf:"varint,13,opt,name=flaky_runs,json=flakyRuns,proto3" json:"flaky_runs,omitempty"`
	// The total number of test runs.
	TotalRuns int32 `protobuf:"varint,14,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 int32 `protobuf:"varint,15,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 int32 `protobuf:"varint,16,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 int32 `protobuf:"varint,17,opt,name=total_verdicts,json=totalVerdicts,proto3" json:"total_verdicts,omitempty"`
	// contains filtered or unexported fields
}

Counts of source 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.

Source verdicts represent the aggregation of all test results at a given source position.

Statistics for test results and test runs can be added here when needed.

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() int32

func (*Segment_Counts) GetExpectedCrashedResults

func (x *Segment_Counts) GetExpectedCrashedResults() int32

func (*Segment_Counts) GetExpectedFailedResults

func (x *Segment_Counts) GetExpectedFailedResults() int32

func (*Segment_Counts) GetExpectedPassedResults

func (x *Segment_Counts) GetExpectedPassedResults() int32

func (*Segment_Counts) GetFlakyRuns

func (x *Segment_Counts) GetFlakyRuns() int32

func (*Segment_Counts) GetFlakyVerdicts

func (x *Segment_Counts) GetFlakyVerdicts() int32

func (*Segment_Counts) GetTotalResults

func (x *Segment_Counts) GetTotalResults() int32

func (*Segment_Counts) GetTotalRuns

func (x *Segment_Counts) GetTotalRuns() int32

func (*Segment_Counts) GetTotalVerdicts

func (x *Segment_Counts) GetTotalVerdicts() int32

func (*Segment_Counts) GetUnexpectedAbortedResults

func (x *Segment_Counts) GetUnexpectedAbortedResults() int32

func (*Segment_Counts) GetUnexpectedAfterRetryRuns

func (x *Segment_Counts) GetUnexpectedAfterRetryRuns() int32

func (*Segment_Counts) GetUnexpectedCrashedResults

func (x *Segment_Counts) GetUnexpectedCrashedResults() int32

func (*Segment_Counts) GetUnexpectedFailedResults

func (x *Segment_Counts) GetUnexpectedFailedResults() int32

func (*Segment_Counts) GetUnexpectedPassedResults

func (x *Segment_Counts) GetUnexpectedPassedResults() int32

func (*Segment_Counts) GetUnexpectedResults

func (x *Segment_Counts) GetUnexpectedResults() int32

func (*Segment_Counts) GetUnexpectedUnretriedRuns

func (x *Segment_Counts) GetUnexpectedUnretriedRuns() int32

func (*Segment_Counts) GetUnexpectedVerdicts

func (x *Segment_Counts) GetUnexpectedVerdicts() int32

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 Segment_PositionDistribution

type Segment_PositionDistribution struct {

	// Changepoint position cumulative distribution function (CDF) probability
	// values at which the distribution is characterised. These are values
	// between 0.0 and 1.0.
	//
	// This distribution is guaranteed to have points sufficient to allow
	// exact extraction of 99.9%, 99%, 95%, 90%, 80%, 70%, 60%, 50% two-tailed
	// confidence intervals, and the distribution median (CDF = 0.5).
	//
	// Usage: to estimate the 99% confidence interval (two-tail), find the
	// index of the cdf equal to 0.005 (i.e. (1-CI)/2) and the index of the
	// cdf equal to or greater than 0.995 (i.e. 1-((1-CI)/2)).
	// Then lookup the corresponding source positions in source_positions.
	//
	// This array is sorted in ascending order.
	Cdfs []float64 `protobuf:"fixed64,1,rep,packed,name=cdfs,proto3" json:"cdfs,omitempty"`
	// The source positions corresponding to each of the above cdf values.
	// I.E. source_positions[i] corresponds to cfs[i].
	//
	// The probability of a changepoint occuring at or before source_positions[i]
	// is at least cdfs[i].
	//
	// Invariant: length(source_positions) == len(cdfs).
	//
	// Because cdfs is in ascending order, this array is also in ascending
	// order.
	SourcePositions []int64 `protobuf:"varint,2,rep,packed,name=source_positions,json=sourcePositions,proto3" json:"source_positions,omitempty"`
	// contains filtered or unexported fields
}

func (*Segment_PositionDistribution) Descriptor deprecated

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

Deprecated: Use Segment_PositionDistribution.ProtoReflect.Descriptor instead.

func (*Segment_PositionDistribution) GetCdfs

func (x *Segment_PositionDistribution) GetCdfs() []float64

func (*Segment_PositionDistribution) GetSourcePositions

func (x *Segment_PositionDistribution) GetSourcePositions() []int64

func (*Segment_PositionDistribution) ProtoMessage

func (*Segment_PositionDistribution) ProtoMessage()

func (*Segment_PositionDistribution) ProtoReflect

func (*Segment_PositionDistribution) Reset

func (x *Segment_PositionDistribution) Reset()

func (*Segment_PositionDistribution) String

type SkipReason

type SkipReason int32

Machine-readable reason that a test execution was skipped. It is a mirror of luci.resultdb.v1.SkipReason, but the right to evolve it independently is reserved.

const (
	// Skip reason was not specified.
	// This represents an unset field which should be used for non-skip test
	// result statuses.  It can also be used if none of the other statuses
	// apply.
	SkipReason_SKIP_REASON_UNSPECIFIED SkipReason = 0
	// Disabled automatically in response to a test skipping policy that skips
	// flaky tests.
	// Used for ChromeOS CQ test filtering.
	SkipReason_AUTOMATICALLY_DISABLED_FOR_FLAKINESS SkipReason = 1
)

func (SkipReason) Descriptor

func (SkipReason) Descriptor() protoreflect.EnumDescriptor

func (SkipReason) Enum

func (x SkipReason) Enum() *SkipReason

func (SkipReason) EnumDescriptor deprecated

func (SkipReason) EnumDescriptor() ([]byte, []int)

Deprecated: Use SkipReason.Descriptor instead.

func (SkipReason) Number

func (x SkipReason) Number() protoreflect.EnumNumber

func (SkipReason) String

func (x SkipReason) String() string

func (SkipReason) Type

type SourcePosition

type SourcePosition struct {

	// Source position.
	Position int64 `protobuf:"varint,1,opt,name=position,proto3" json:"position,omitempty"`
	// The git commit.
	Commit *git.Commit `protobuf:"bytes,2,opt,name=commit,proto3" json:"commit,omitempty"`
	// Test verdicts at this source position.
	// Test verdicts will be ordered by `partition_time` DESC.
	// At most 20 verdicts will be returned here.
	// Most of time, a test variant at the same source position has less than 20 verdicts.
	Verdicts []*TestVerdict `protobuf:"bytes,3,rep,name=verdicts,proto3" json:"verdicts,omitempty"`
	// contains filtered or unexported fields
}

SourcePosition contains the commit and the test verdicts at a source position for a test variant branch.

func (*SourcePosition) Descriptor deprecated

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

Deprecated: Use SourcePosition.ProtoReflect.Descriptor instead.

func (*SourcePosition) GetCommit

func (x *SourcePosition) GetCommit() *git.Commit

func (*SourcePosition) GetPosition

func (x *SourcePosition) GetPosition() int64

func (*SourcePosition) GetVerdicts

func (x *SourcePosition) GetVerdicts() []*TestVerdict

func (*SourcePosition) ProtoMessage

func (*SourcePosition) ProtoMessage()

func (*SourcePosition) ProtoReflect

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

func (*SourcePosition) Reset

func (x *SourcePosition) Reset()

func (*SourcePosition) String

func (x *SourcePosition) String() string

type SourceRef

type SourceRef struct {

	// The source control system used.
	// Only gitiles is supported at this moment. If other systems need to be
	// supported in future (e.g. non-gitiles git, subversion, google storage
	// buckets), they can be added here
	//
	// Types that are assignable to System:
	//
	//	*SourceRef_Gitiles
	System isSourceRef_System `protobuf_oneof:"system"`
	// contains filtered or unexported fields
}

Represents a reference in a source control system.

func (*SourceRef) Descriptor deprecated

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

Deprecated: Use SourceRef.ProtoReflect.Descriptor instead.

func (*SourceRef) GetGitiles

func (x *SourceRef) GetGitiles() *GitilesRef

func (*SourceRef) GetSystem

func (m *SourceRef) GetSystem() isSourceRef_System

func (*SourceRef) ProtoMessage

func (*SourceRef) ProtoMessage()

func (*SourceRef) ProtoReflect

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

func (*SourceRef) Reset

func (x *SourceRef) Reset()

func (*SourceRef) String

func (x *SourceRef) String() string

type SourceRef_Gitiles

type SourceRef_Gitiles struct {
	// A branch in gitiles repository.
	Gitiles *GitilesRef `protobuf:"bytes,1,opt,name=gitiles,proto3,oneof"`
}

type Sources

type Sources struct {

	// The base version of code sources checked out. Mandatory.
	// If necessary, we could add support for non-gitiles sources here in
	// future, using a oneof statement. E.g.
	//
	//	oneof system {
	//	   GitilesCommit gitiles_commit = 1;
	//	   SubversionRevision svn_revision = 4;
	//	   ...
	//	}
	GitilesCommit *GitilesCommit `protobuf:"bytes,1,opt,name=gitiles_commit,json=gitilesCommit,proto3" json:"gitiles_commit,omitempty"`
	// The changelist(s) which were applied upon the base version of sources
	// checked out. E.g. in commit queue tryjobs.
	//
	// At most 10 changelist(s) may be specified here. If there
	// are more, only include the first 10 and set is_dirty.
	Changelists []*GerritChange `protobuf:"bytes,2,rep,name=changelists,proto3" json:"changelists,omitempty"`
	// Whether there were any changes made to the sources, not described above.
	// For example, a version of a dependency was upgraded before testing (e.g.
	// in an autoroller recipe).
	//
	// Cherry-picking a changelist on top of the base checkout is not considered
	// making the sources dirty as it is reported separately above.
	IsDirty bool `protobuf:"varint,3,opt,name=is_dirty,json=isDirty,proto3" json:"is_dirty,omitempty"`
	// contains filtered or unexported fields
}

Specifies the source code that was tested.

func (*Sources) Descriptor deprecated

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

Deprecated: Use Sources.ProtoReflect.Descriptor instead.

func (*Sources) GetChangelists

func (x *Sources) GetChangelists() []*GerritChange

func (*Sources) GetGitilesCommit

func (x *Sources) GetGitilesCommit() *GitilesCommit

func (*Sources) GetIsDirty

func (x *Sources) GetIsDirty() bool

func (*Sources) ProtoMessage

func (*Sources) ProtoMessage()

func (*Sources) ProtoReflect

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

func (*Sources) Reset

func (x *Sources) Reset()

func (*Sources) String

func (x *Sources) String() string

type StringPair

type StringPair struct {

	// Regex: ^[a-z][a-z0-9_]*(/[a-z][a-z0-9_]*)*$
	// Max length: 64.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Max length: 256.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*StringPair) Descriptor deprecated

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

Deprecated: Use StringPair.ProtoReflect.Descriptor instead.

func (*StringPair) GetKey

func (x *StringPair) GetKey() string

func (*StringPair) GetValue

func (x *StringPair) GetValue() string

func (*StringPair) ProtoMessage

func (*StringPair) ProtoMessage()

func (*StringPair) ProtoReflect

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

func (*StringPair) Reset

func (x *StringPair) Reset()

func (*StringPair) String

func (x *StringPair) String() string

type SubmittedFilter

type SubmittedFilter int32

SubmittedFilter filters test verdicts based on whether they had unsubmitted changes.

const (
	// Default value. Include all test verdicts.
	SubmittedFilter_SUBMITTED_FILTER_UNSPECIFIED SubmittedFilter = 0
	// Only include test verdicts that don't have unsubmitted changes.
	SubmittedFilter_ONLY_SUBMITTED SubmittedFilter = 1
	// Only include test verdicts that have unsubmitted changes.
	SubmittedFilter_ONLY_UNSUBMITTED SubmittedFilter = 2
)

func (SubmittedFilter) Descriptor

func (SubmittedFilter) Enum

func (x SubmittedFilter) Enum() *SubmittedFilter

func (SubmittedFilter) EnumDescriptor deprecated

func (SubmittedFilter) EnumDescriptor() ([]byte, []int)

Deprecated: Use SubmittedFilter.Descriptor instead.

func (SubmittedFilter) Number

func (SubmittedFilter) String

func (x SubmittedFilter) String() string

func (SubmittedFilter) Type

type TestHistoryClient

type TestHistoryClient interface {
	// Retrieves test verdicts for a given test ID in a given project and in a
	// given range of time.
	// Accepts a test variant predicate to filter the verdicts.
	Query(ctx context.Context, in *QueryTestHistoryRequest, opts ...grpc.CallOption) (*QueryTestHistoryResponse, error)
	// Retrieves a summary of test verdicts for a given test ID in a given project
	// and in a given range of times.
	// Accepts a test variant predicate to filter the verdicts.
	QueryStats(ctx context.Context, in *QueryTestHistoryStatsRequest, opts ...grpc.CallOption) (*QueryTestHistoryStatsResponse, error)
	// Retrieves variants for a given test ID in a given project that were
	// recorded in the past 90 days.
	QueryVariants(ctx context.Context, in *QueryVariantsRequest, opts ...grpc.CallOption) (*QueryVariantsResponse, error)
	// Finds test IDs that contain the given substring in a given project that
	// were recorded in the past 90 days.
	QueryTests(ctx context.Context, in *QueryTestsRequest, opts ...grpc.CallOption) (*QueryTestsResponse, error)
}

TestHistoryClient is the client API for TestHistory service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewTestHistoryPRPCClient

func NewTestHistoryPRPCClient(client *prpc.Client) TestHistoryClient

type TestHistoryServer

type TestHistoryServer interface {
	// Retrieves test verdicts for a given test ID in a given project and in a
	// given range of time.
	// Accepts a test variant predicate to filter the verdicts.
	Query(context.Context, *QueryTestHistoryRequest) (*QueryTestHistoryResponse, error)
	// Retrieves a summary of test verdicts for a given test ID in a given project
	// and in a given range of times.
	// Accepts a test variant predicate to filter the verdicts.
	QueryStats(context.Context, *QueryTestHistoryStatsRequest) (*QueryTestHistoryStatsResponse, error)
	// Retrieves variants for a given test ID in a given project that were
	// recorded in the past 90 days.
	QueryVariants(context.Context, *QueryVariantsRequest) (*QueryVariantsResponse, error)
	// Finds test IDs that contain the given substring in a given project that
	// were recorded in the past 90 days.
	QueryTests(context.Context, *QueryTestsRequest) (*QueryTestsResponse, error)
}

TestHistoryServer is the server API for TestHistory service.

type TestLocation

type TestLocation struct {

	// Gitiles URL as the identifier for a repo.
	// Format for Gitiles URL: https://<host>/<project>
	// For example "https://chromium.googlesource.com/chromium/src"
	// Must not end with ".git".
	// SHOULD be specified.
	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
	// Name of the file where the test is defined.
	// For files in a repository, must start with "//"
	// Example: "//components/payments/core/payment_request_data_util_unittest.cc"
	// Max length: 512.
	// MUST not use backslashes.
	// Required.
	FileName string `protobuf:"bytes,2,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
	// One-based line number where the test is defined.
	Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"`
	// contains filtered or unexported fields
}

Location of the test definition.

func (*TestLocation) Descriptor deprecated

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

Deprecated: Use TestLocation.ProtoReflect.Descriptor instead.

func (*TestLocation) GetFileName

func (x *TestLocation) GetFileName() string

func (*TestLocation) GetLine

func (x *TestLocation) GetLine() int32

func (*TestLocation) GetRepo

func (x *TestLocation) GetRepo() string

func (*TestLocation) ProtoMessage

func (*TestLocation) ProtoMessage()

func (*TestLocation) ProtoReflect

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

func (*TestLocation) Reset

func (x *TestLocation) Reset()

func (*TestLocation) String

func (x *TestLocation) String() string

type TestMetadata

type TestMetadata struct {

	// The original test name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Where the test is defined, e.g. the file name.
	// location.repo MUST be specified.
	Location *TestLocation `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"`
	// The issue tracker component associated with the test, if any.
	// Bugs related to the test may be filed here.
	BugComponent *BugComponent `protobuf:"bytes,3,opt,name=bug_component,json=bugComponent,proto3" json:"bug_component,omitempty"`
	// contains filtered or unexported fields
}

Information about a test.

Currently a clone of resultdb.v1.TestMetadata. Do not use that proto directly to allow for independent evolution of protos in LUCI Analysis and ResultDB.

func (*TestMetadata) Descriptor deprecated

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

Deprecated: Use TestMetadata.ProtoReflect.Descriptor instead.

func (*TestMetadata) GetBugComponent

func (x *TestMetadata) GetBugComponent() *BugComponent

func (*TestMetadata) GetLocation

func (x *TestMetadata) GetLocation() *TestLocation

func (*TestMetadata) GetName

func (x *TestMetadata) GetName() string

func (*TestMetadata) ProtoMessage

func (*TestMetadata) ProtoMessage()

func (*TestMetadata) ProtoReflect

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

func (*TestMetadata) Reset

func (x *TestMetadata) Reset()

func (*TestMetadata) String

func (x *TestMetadata) String() string

type TestResultId

type TestResultId struct {

	// The test results system.
	// Currently, the only valid value is "resultdb".
	System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"`
	// ID for the test result in the test results system.
	// 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.
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

Identity of a test result.

func (*TestResultId) Descriptor deprecated

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

Deprecated: Use TestResultId.ProtoReflect.Descriptor instead.

func (*TestResultId) GetId

func (x *TestResultId) GetId() string

func (*TestResultId) GetSystem

func (x *TestResultId) GetSystem() string

func (*TestResultId) ProtoMessage

func (*TestResultId) ProtoMessage()

func (*TestResultId) ProtoReflect

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

func (*TestResultId) Reset

func (x *TestResultId) Reset()

func (*TestResultId) String

func (x *TestResultId) String() string

type TestResultStatus

type TestResultStatus int32

Status of a test result. It is a mirror of luci.resultdb.v1.TestStatus, but the right to evolve it independently is reserved.

const (
	// Status was not specified.
	// Not to be used in actual test results; serves as a default value for an
	// unset field.
	TestResultStatus_TEST_RESULT_STATUS_UNSPECIFIED TestResultStatus = 0
	// The test case has passed.
	TestResultStatus_PASS TestResultStatus = 1
	// The test case has failed.
	// Suggests that the code under test is incorrect, but it is also possible
	// that the test is incorrect or it is a flake.
	TestResultStatus_FAIL TestResultStatus = 2
	// The test case has crashed during execution.
	// The outcome is inconclusive: the code under test might or might not be
	// correct, but the test+code is incorrect.
	TestResultStatus_CRASH TestResultStatus = 3
	// The test case has started, but was aborted before finishing.
	// A common reason: timeout.
	TestResultStatus_ABORT TestResultStatus = 4
	// The test case did not execute.
	// Examples:
	//   - The execution of the collection of test cases, such as a test
	//     binary, was aborted prematurely and execution of some test cases was
	//     skipped.
	//   - The test harness configuration specified that the test case MUST be
	//     skipped.
	TestResultStatus_SKIP TestResultStatus = 5
)

func (TestResultStatus) Descriptor

func (TestResultStatus) Enum

func (TestResultStatus) EnumDescriptor deprecated

func (TestResultStatus) EnumDescriptor() ([]byte, []int)

Deprecated: Use TestResultStatus.Descriptor instead.

func (TestResultStatus) Number

func (TestResultStatus) String

func (x TestResultStatus) String() string

func (TestResultStatus) Type

type TestStabilityCriteria

type TestStabilityCriteria struct {

	// The failure rate criteria to apply. Mandatory.
	FailureRate *TestStabilityCriteria_FailureRateCriteria `protobuf:"bytes,1,opt,name=failure_rate,json=failureRate,proto3" json:"failure_rate,omitempty"`
	// The flake rate criteria to apply. Mandatory.
	FlakeRate *TestStabilityCriteria_FlakeRateCriteria `protobuf:"bytes,2,opt,name=flake_rate,json=flakeRate,proto3" json:"flake_rate,omitempty"`
	// contains filtered or unexported fields
}

Criteria used to determine test stability. This criteria is used to inform test exoneration in presubmit via the TestVariants.QueryStability RPC.

Criteria is applied using a data source which contains the last 14 days' of test result data for all test variants, with certain filterings applied.

See go/luci-exoneration-v2 as well each criteria below for more details.

func (*TestStabilityCriteria) Descriptor deprecated

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

Deprecated: Use TestStabilityCriteria.ProtoReflect.Descriptor instead.

func (*TestStabilityCriteria) GetFailureRate

func (*TestStabilityCriteria) GetFlakeRate

func (*TestStabilityCriteria) ProtoMessage

func (*TestStabilityCriteria) ProtoMessage()

func (*TestStabilityCriteria) ProtoReflect

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

func (*TestStabilityCriteria) Reset

func (x *TestStabilityCriteria) Reset()

func (*TestStabilityCriteria) String

func (x *TestStabilityCriteria) String() string

type TestStabilityCriteria_FailureRateCriteria

type TestStabilityCriteria_FailureRateCriteria struct {

	// The number of unexpected test runs that must be
	// found in a sliding window of size 10 containing the
	// queried position to begin exoneration.
	// 6 is a good starting value.
	//
	// The criteria is applied over sliding windows of size
	// 10 around the query position. Assuming the full 20 test
	// runs are obtained, this means 11 window positions are considered.
	// If any window satisifes the threshold, the criteria is met
	// and the test is considered unstable.
	//
	// In the event that 10 test runs cannot be found in the last
	// 14 days of test history, a window sized to the available
	// test runs is used but the criteria is not scaled.
	FailureThreshold int32 `protobuf:"varint,1,opt,name=failure_threshold,json=failureThreshold,proto3" json:"failure_threshold,omitempty"`
	// The number of consecutive unexpected test runs, which if
	// present at the leading or trailing part of the (up to) 20
	// test verdicts, will trigger exoneration.
	// 3 is a good starting value.
	//
	// The consecutive failures must also touch the query position.
	//
	// This is designed to create a fast path to exoneration for
	// 100% failing tests which produce a strong and consistent
	// failing signal, leveraging the statistical significance
	// of consecutive failures. If this threshold is met,
	// the failure_threshold above does NOT need to be met.
	//
	// E.g. the following scenario WILL trigger this criteria for
	// a threshold of four or less.
	//
	// History: >F F F F< P P P P P P P
	//
	//	^
	//	Query position
	//
	// The following scenario WILL NOT trigger this criteria:
	//
	// History:>P F F F F< P P P P P P P
	//
	//	^
	//	Query position
	//
	// (N.B. Direction of history is irrelevant as criteria is
	// applied symmetrically. Either the left or right could
	// represent 'later' by commit position.)
	ConsecutiveFailureThreshold int32 `` /* 145-byte string literal not displayed */
	// contains filtered or unexported fields
}

The failure rate criteria detects consistently failing and highly flaky tests (e.g. 95%+ failing) by looking for a high number of failures at the queried position of the test's history.

The criteria obtains from the last 14 days' of filtered test data a set of (up to) 20 test runs centered on the queried commit position (10 prior and 10 after) and applies criteria to this in various ways. The 20 test runs are sorted by commit position and then time.

See go/luci-exoneration-v2 for more detail.

func (*TestStabilityCriteria_FailureRateCriteria) Descriptor deprecated

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

Deprecated: Use TestStabilityCriteria_FailureRateCriteria.ProtoReflect.Descriptor instead.

func (*TestStabilityCriteria_FailureRateCriteria) GetConsecutiveFailureThreshold

func (x *TestStabilityCriteria_FailureRateCriteria) GetConsecutiveFailureThreshold() int32

func (*TestStabilityCriteria_FailureRateCriteria) GetFailureThreshold

func (x *TestStabilityCriteria_FailureRateCriteria) GetFailureThreshold() int32

func (*TestStabilityCriteria_FailureRateCriteria) ProtoMessage

func (*TestStabilityCriteria_FailureRateCriteria) ProtoReflect

func (*TestStabilityCriteria_FailureRateCriteria) Reset

func (*TestStabilityCriteria_FailureRateCriteria) String

type TestStabilityCriteria_FlakeRateCriteria

type TestStabilityCriteria_FlakeRateCriteria struct {

	// The minimum number of source verdicts desired
	// for the analysis window.
	//
	// As standard, all source verdicts for sources
	// +/- 7 days from the queried position are used.
	// The conversion between time and commit position is discussed
	// in go/luci-exoneration-v2.
	//
	// However, if the number of verdicts is not equal
	// to or greater than min_window, all source verdicts
	// from the last 14 days will be used. This is designed
	// to prioritise adequate flake detection performance
	// for test variants with low result volumes, at the
	// cost of data recency.
	//
	// If the number of source verdicts in the last 14 days
	// is less than min_window, then whatever source verdicts
	// are available are still used. This is to improve
	// detection performance on tests with a low volume of results.
	//
	// 100 is a good starting value.
	MinWindow int32 `protobuf:"varint,1,opt,name=min_window,json=minWindow,proto3" json:"min_window,omitempty"`
	// The minimum number of flaky source verdicts required
	// to trigger the criteria. 2 is a good starting value.
	FlakeThreshold int32 `protobuf:"varint,2,opt,name=flake_threshold,json=flakeThreshold,proto3" json:"flake_threshold,omitempty"`
	// The minimum flake rate required to trigger the criteria,
	// as a proportion of all source verdicts. This must be a
	// value between 0.0 and 1.0.
	// 0.01 (1%) is a good starting value.
	//
	// Note that not even the most flaky (50% flaky) test would
	// be expected to produce more than a 25% flake rate if
	// failures are retried once. This is because its expected
	// outcomes are:
	// - Pass on first try = 50%
	// - Fail on first try, pass on second try = 25% (flaky)
	// - Fail on both tries = 25%
	FlakeRateThreshold float64 `protobuf:"fixed64,3,opt,name=flake_rate_threshold,json=flakeRateThreshold,proto3" json:"flake_rate_threshold,omitempty"`
	// The minimum number of flaky source verdicts required to
	// occur on sources within one weekday either side of the
	// queried source position.
	//
	// The conversion between time and commit position is discussed
	// in go/luci-exoneration-v2.
	//
	// One weekday means 24 hours on a weekday as observed in
	// UTC, and includes any intervening weekend. For example:
	//   - if the queried source position corresponds to 8:00 UTC
	//     on Monday, the queried interval will be from 8:00 UTC
	//     the previous Friday to 8:00 UTC on the following Tuesday.
	//   - if the queried source position corresponds to 15:00 UTC
	//     on Wednesday, the queried interval will be from 15:00 UTC
	//     on Tuesday to 15:00 UTC on Thursday.
	//   - if the queried source position corresponds to 12:00 UTC
	//     on Saturday, the queried interval will be from 0:00 UTC
	//     on Friday to 0:00 UTC on Tuesday.
	//
	// Setting this thresold to a non-zero value may substantially
	// desensitise flaky test detection, but offers more guarantees
	// that exoneration will stop within a given period of time
	// if a test is fixed.
	FlakeThreshold_1Wd int32 `protobuf:"varint,4,opt,name=flake_threshold_1wd,json=flakeThreshold1wd,proto3" json:"flake_threshold_1wd,omitempty"`
	// contains filtered or unexported fields
}

The flake rate criteria detects flaky tests by looking for examples where a test has obtained expected and unexpected test runs for the same sources under test.

If there are more flaky source verdicts found than a threshold, the test is considered flaky.

To be satisfied, ALL of the criteria must be met: - flake_threshold - flake_rate_threshold - flake_threshold_1wd To ignore criteria, set the threshold to zero.

func (*TestStabilityCriteria_FlakeRateCriteria) Descriptor deprecated

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

Deprecated: Use TestStabilityCriteria_FlakeRateCriteria.ProtoReflect.Descriptor instead.

func (*TestStabilityCriteria_FlakeRateCriteria) GetFlakeRateThreshold

func (x *TestStabilityCriteria_FlakeRateCriteria) GetFlakeRateThreshold() float64

func (*TestStabilityCriteria_FlakeRateCriteria) GetFlakeThreshold

func (x *TestStabilityCriteria_FlakeRateCriteria) GetFlakeThreshold() int32

func (*TestStabilityCriteria_FlakeRateCriteria) GetFlakeThreshold_1Wd

func (x *TestStabilityCriteria_FlakeRateCriteria) GetFlakeThreshold_1Wd() int32

func (*TestStabilityCriteria_FlakeRateCriteria) GetMinWindow

func (*TestStabilityCriteria_FlakeRateCriteria) ProtoMessage

func (*TestStabilityCriteria_FlakeRateCriteria) ProtoReflect

func (*TestStabilityCriteria_FlakeRateCriteria) Reset

func (*TestStabilityCriteria_FlakeRateCriteria) String

type TestVariantBranch

type TestVariantBranch struct {

	// The name of the test variant branch.
	// Of the form projects/{PROJECT}/tests/{URL_ESCAPED_TEST_ID}/variants/{VARIANT_HASH}/refs/{REF_HASH}
	// where:
	// PROJECT is the LUCI Project of the test variant branch analysis.
	// URL_ESCAPED_TEST_ID is the test ID, escaped with
	// https://golang.org/pkg/net/url/#PathEscape. See also https://aip.dev/122.
	// VARIANT_HASH is the variant hash of the test variant analysis (16 lower-case-character hex string).
	// REF_HASH is the identity of the branch of the analysis. It is a 16 lower-case-character hex string.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The LUCI Project. E.g. "chromium".
	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
	// The identity of the test.
	TestId string `protobuf:"bytes,3,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,4,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,5,opt,name=ref_hash,json=refHash,proto3" json:"ref_hash,omitempty"`
	// key:value pairs to specify the way of running a particular test.
	// e.g. a specific bucket, builder and a test suite.
	Variant *Variant `protobuf:"bytes,6,opt,name=variant,proto3" json:"variant,omitempty"`
	// The branch in source control.
	Ref *SourceRef `protobuf:"bytes,7,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,8,rep,name=segments,proto3" json:"segments,omitempty"`
	// contains filtered or unexported fields
}

Represents changepoint analysis for a particular (project, test, variant, ref).

func (*TestVariantBranch) Descriptor deprecated

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

Deprecated: Use TestVariantBranch.ProtoReflect.Descriptor instead.

func (*TestVariantBranch) GetName

func (x *TestVariantBranch) GetName() string

func (*TestVariantBranch) GetProject

func (x *TestVariantBranch) GetProject() string

func (*TestVariantBranch) GetRef

func (x *TestVariantBranch) GetRef() *SourceRef

func (*TestVariantBranch) GetRefHash

func (x *TestVariantBranch) GetRefHash() string

func (*TestVariantBranch) GetSegments

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

func (*TestVariantBranch) GetTestId

func (x *TestVariantBranch) GetTestId() string

func (*TestVariantBranch) GetVariant

func (x *TestVariantBranch) GetVariant() *Variant

func (*TestVariantBranch) GetVariantHash

func (x *TestVariantBranch) GetVariantHash() string

func (*TestVariantBranch) ProtoMessage

func (*TestVariantBranch) ProtoMessage()

func (*TestVariantBranch) ProtoReflect

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

func (*TestVariantBranch) Reset

func (x *TestVariantBranch) Reset()

func (*TestVariantBranch) String

func (x *TestVariantBranch) String() string

type TestVariantBranchRaw

type TestVariantBranchRaw struct {

	// The name of the test variant branch.
	// Of the form projects/{PROJECT}/tests/{URL_ESCAPED_TEST_ID}/variants/{VARIANT_HASH}/refs/{REF_HASH}
	// where:
	// PROJECT is the LUCI Project of the test variant branch analysis.
	// URL_ESCAPED_TEST_ID is the test ID, escaped with
	// https://golang.org/pkg/net/url/#PathEscape. See also https://aip.dev/122.
	// VARIANT_HASH is the variant hash of the test variant analysis (16 lower-case-character hex string).
	// REF_HASH is the identity of the branch of the analysis. It is a 16 lower-case-character hex string.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The LUCI Project. E.g. "chromium".
	Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
	// The identity of the test.
	TestId string `protobuf:"bytes,3,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,4,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,5,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.
	Variant *Variant `protobuf:"bytes,6,opt,name=variant,proto3" json:"variant,omitempty"`
	// The branch in source control.
	Ref *SourceRef `protobuf:"bytes,7,opt,name=ref,proto3" json:"ref,omitempty"`
	// The finalized segments in the output buffer.
	//
	// Do not depend on this field. The internal protocol buffer stored in
	// Spanner is returned here for debug purposes only. We use
	// google.protobuf.Any to avoid revealing its type and having clients
	// possibly depend on it.
	//
	// If any tool needs to read this data, a wire proto (that is different
	// from the storage proto) needs to be defined and this field replaced
	// by a field of that wire type.
	FinalizedSegments *anypb.Any `protobuf:"bytes,8,opt,name=finalized_segments,json=finalizedSegments,proto3" json:"finalized_segments,omitempty"`
	// The finalizing segment in the output buffer.
	//
	// Do not depend on this field. The internal protocol buffer stored in
	// Spanner is returned here for debug purposes only. We use
	// google.protobuf.Any to avoid revealing its type and having clients
	// possibly depend on it.
	//
	// If any tool needs to read this data, a wire proto (that is different
	// from the storage proto) needs to be defined and this field replaced
	// by a field of that wire type.
	FinalizingSegment *anypb.Any `protobuf:"bytes,9,opt,name=finalizing_segment,json=finalizingSegment,proto3" json:"finalizing_segment,omitempty"`
	// Statistics about verdicts in the output buffer.
	//
	// Do not depend on this field. The internal protocol buffer stored in
	// Spanner is returned here for debug purposes only. We use
	// google.protobuf.Any to avoid revealing its type and having clients
	// possibly depend on it.
	//
	// If any tool needs to read this data, a wire proto (that is different
	// from the storage proto) needs to be defined and this field replaced
	// by a field of that wire type.
	Statistics *anypb.Any `protobuf:"bytes,12,opt,name=statistics,proto3" json:"statistics,omitempty"`
	// The hot input buffer.
	HotBuffer *InputBuffer `protobuf:"bytes,10,opt,name=hot_buffer,json=hotBuffer,proto3" json:"hot_buffer,omitempty"`
	// The cold input buffer.
	ColdBuffer *InputBuffer `protobuf:"bytes,11,opt,name=cold_buffer,json=coldBuffer,proto3" json:"cold_buffer,omitempty"`
	// contains filtered or unexported fields
}

Represents changepoint analysis raw data for a particular (project, test, variant, ref) in spanner.

func (*TestVariantBranchRaw) Descriptor deprecated

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

Deprecated: Use TestVariantBranchRaw.ProtoReflect.Descriptor instead.

func (*TestVariantBranchRaw) GetColdBuffer

func (x *TestVariantBranchRaw) GetColdBuffer() *InputBuffer

func (*TestVariantBranchRaw) GetFinalizedSegments

func (x *TestVariantBranchRaw) GetFinalizedSegments() *anypb.Any

func (*TestVariantBranchRaw) GetFinalizingSegment

func (x *TestVariantBranchRaw) GetFinalizingSegment() *anypb.Any

func (*TestVariantBranchRaw) GetHotBuffer

func (x *TestVariantBranchRaw) GetHotBuffer() *InputBuffer

func (*TestVariantBranchRaw) GetName

func (x *TestVariantBranchRaw) GetName() string

func (*TestVariantBranchRaw) GetProject

func (x *TestVariantBranchRaw) GetProject() string

func (*TestVariantBranchRaw) GetRef

func (x *TestVariantBranchRaw) GetRef() *SourceRef

func (*TestVariantBranchRaw) GetRefHash

func (x *TestVariantBranchRaw) GetRefHash() string

func (*TestVariantBranchRaw) GetStatistics

func (x *TestVariantBranchRaw) GetStatistics() *anypb.Any

func (*TestVariantBranchRaw) GetTestId

func (x *TestVariantBranchRaw) GetTestId() string

func (*TestVariantBranchRaw) GetVariant

func (x *TestVariantBranchRaw) GetVariant() *Variant

func (*TestVariantBranchRaw) GetVariantHash

func (x *TestVariantBranchRaw) GetVariantHash() string

func (*TestVariantBranchRaw) ProtoMessage

func (*TestVariantBranchRaw) ProtoMessage()

func (*TestVariantBranchRaw) ProtoReflect

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

func (*TestVariantBranchRaw) Reset

func (x *TestVariantBranchRaw) Reset()

func (*TestVariantBranchRaw) String

func (x *TestVariantBranchRaw) String() string

type TestVariantBranchesClient

type TestVariantBranchesClient interface {
	// Retrieves the raw state of test variant branch analysis.
	// For reading test variant branch analyses from Spanner.
	// This enables us to inspect the state of a test variant branch
	// analysis in Spanner (which cannot easily inspected using SQL queries,
	// because the data is encoded).
	// This is currently only for LUCI Analysis admin users.
	GetRaw(ctx context.Context, in *GetRawTestVariantBranchRequest, opts ...grpc.CallOption) (*TestVariantBranchRaw, error)
	// Retrieves the current state of segments of test variant branch analysis in batches.
	BatchGet(ctx context.Context, in *BatchGetTestVariantBranchRequest, opts ...grpc.CallOption) (*BatchGetTestVariantBranchResponse, error)
	// Query queries test variant branches for a given test id and ref.
	Query(ctx context.Context, in *QueryTestVariantBranchRequest, opts ...grpc.CallOption) (*QueryTestVariantBranchResponse, error)
	// Lists commits and the test verdicts at these commits, starting from a source position.
	QuerySourcePositions(ctx context.Context, in *QuerySourcePositionsRequest, opts ...grpc.CallOption) (*QuerySourcePositionsResponse, error)
	// Lists source verdicts for a test variant branch.
	QuerySourceVerdicts(ctx context.Context, in *QuerySourceVerdictsRequest, opts ...grpc.CallOption) (*QuerySourceVerdictsResponse, error)
	// Query for AI analysis of the possible culprits of a test changepoint.
	// Note: to use this RPC, you must be a member of the group `googlers`.
	QueryChangepointAIAnalysis(ctx context.Context, in *QueryChangepointAIAnalysisRequest, opts ...grpc.CallOption) (*QueryChangepointAIAnalysisResponse, error)
}

TestVariantBranchesClient is the client API for TestVariantBranches service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewTestVariantBranchesPRPCClient

func NewTestVariantBranchesPRPCClient(client *prpc.Client) TestVariantBranchesClient

type TestVariantBranchesServer

type TestVariantBranchesServer interface {
	// Retrieves the raw state of test variant branch analysis.
	// For reading test variant branch analyses from Spanner.
	// This enables us to inspect the state of a test variant branch
	// analysis in Spanner (which cannot easily inspected using SQL queries,
	// because the data is encoded).
	// This is currently only for LUCI Analysis admin users.
	GetRaw(context.Context, *GetRawTestVariantBranchRequest) (*TestVariantBranchRaw, error)
	// Retrieves the current state of segments of test variant branch analysis in batches.
	BatchGet(context.Context, *BatchGetTestVariantBranchRequest) (*BatchGetTestVariantBranchResponse, error)
	// Query queries test variant branches for a given test id and ref.
	Query(context.Context, *QueryTestVariantBranchRequest) (*QueryTestVariantBranchResponse, error)
	// Lists commits and the test verdicts at these commits, starting from a source position.
	QuerySourcePositions(context.Context, *QuerySourcePositionsRequest) (*QuerySourcePositionsResponse, error)
	// Lists source verdicts for a test variant branch.
	QuerySourceVerdicts(context.Context, *QuerySourceVerdictsRequest) (*QuerySourceVerdictsResponse, error)
	// Query for AI analysis of the possible culprits of a test changepoint.
	// Note: to use this RPC, you must be a member of the group `googlers`.
	QueryChangepointAIAnalysis(context.Context, *QueryChangepointAIAnalysisRequest) (*QueryChangepointAIAnalysisResponse, error)
}

TestVariantBranchesServer is the server API for TestVariantBranches service.

type TestVariantFailureRateAnalysis

type TestVariantFailureRateAnalysis struct {

	// A unique identifier of the test in a LUCI project.
	TestId string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Description of one specific way of running the test,
	// e.g. a specific bucket, builder and a test suite.
	// Only populated if populated on the request.
	Variant *Variant `protobuf:"bytes,2,opt,name=variant,proto3" json:"variant,omitempty"`
	// The variant hash.
	// Only populated if populated on the request.
	VariantHash string `protobuf:"bytes,3,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// Statistics broken down by time interval. Intervals will be ordered
	// by recency, starting at the most recent interval (age = 1).
	//
	// The following filtering applies to verdicts used in time interval data:
	//   - Verdicts are filtered to at most one per unique CL under test,
	//     with verdicts for multi-CL tryjob runs excluded.
	IntervalStats []*TestVariantFailureRateAnalysis_IntervalStats `protobuf:"bytes,4,rep,name=interval_stats,json=intervalStats,proto3" json:"interval_stats,omitempty"`
	// Examples of verdicts which had both expected and unexpected runs.
	//
	// Ordered by recency, starting at the most recent example at offset 0.
	//
	// Limited to at most 10. Further limited to only verdicts produced
	// since 5 weekdays ago (this corresponds to the exact same time range
	// as for which interval data is provided).
	RunFlakyVerdictExamples []*TestVariantFailureRateAnalysis_VerdictExample `` /* 134-byte string literal not displayed */
	// The most recent verdicts for the test variant.
	//
	// The following filtering applies to verdicts used in this field:
	//   - Verdicts are filtered to at most one per unique CL under test,
	//     with verdicts for multi-CL tryjob runs excluded.
	//   - Verdicts for CLs authored by automation are excluded, to avoid a
	//     single repeatedly failing automatic uprev process populating
	//     this list with 10 failures.
	//
	// Ordered by recency, starting at the most recent verdict at offset 0.
	//
	// Limited to at most 10. Further limited to only verdicts produced
	// since 5 weekdays ago (this corresponds to the exact same time range
	// as for which interval data is provided).
	RecentVerdicts []*TestVariantFailureRateAnalysis_RecentVerdict `protobuf:"bytes,6,rep,name=recent_verdicts,json=recentVerdicts,proto3" json:"recent_verdicts,omitempty"`
	// contains filtered or unexported fields
}

Signals relevant to determining whether a test variant should be exonerated in presubmit.

func (*TestVariantFailureRateAnalysis) Descriptor deprecated

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

Deprecated: Use TestVariantFailureRateAnalysis.ProtoReflect.Descriptor instead.

func (*TestVariantFailureRateAnalysis) GetIntervalStats

func (*TestVariantFailureRateAnalysis) GetRecentVerdicts

func (*TestVariantFailureRateAnalysis) GetRunFlakyVerdictExamples

func (*TestVariantFailureRateAnalysis) GetTestId

func (x *TestVariantFailureRateAnalysis) GetTestId() string

func (*TestVariantFailureRateAnalysis) GetVariant

func (x *TestVariantFailureRateAnalysis) GetVariant() *Variant

func (*TestVariantFailureRateAnalysis) GetVariantHash

func (x *TestVariantFailureRateAnalysis) GetVariantHash() string

func (*TestVariantFailureRateAnalysis) ProtoMessage

func (*TestVariantFailureRateAnalysis) ProtoMessage()

func (*TestVariantFailureRateAnalysis) ProtoReflect

func (*TestVariantFailureRateAnalysis) Reset

func (x *TestVariantFailureRateAnalysis) Reset()

func (*TestVariantFailureRateAnalysis) String

type TestVariantFailureRateAnalysis_IntervalStats

type TestVariantFailureRateAnalysis_IntervalStats struct {

	// The age of the interval. 1 is the most recent interval,
	// 2 is the interval immediately before that, and so on.
	// Cross reference with the intervals field on the
	// QueryTestVariantFailureRateResponse response to
	// identify the exact time interval this represents.
	IntervalAge int32 `protobuf:"varint,1,opt,name=interval_age,json=intervalAge,proto3" json:"interval_age,omitempty"`
	// The number of verdicts which had only expected runs.
	// An expected run is a run (e.g. swarming task) which has at least
	// one expected result, excluding skipped results.
	TotalRunExpectedVerdicts int32 `` /* 138-byte string literal not displayed */
	// The number of verdicts which had both expected and
	// unexpected runs.
	// An expected run is a run (e.g. swarming task) which has at least
	// one expected result, excluding skips.
	// An unexpected run is a run which had only unexpected
	// results (and at least one unexpected result), excluding skips.
	TotalRunFlakyVerdicts int32 `` /* 129-byte string literal not displayed */
	// The number of verdicts which had only unexpected runs.
	// An unexpected run is a run (e.g. swarming task) which had only
	// unexpected results (and at least one unexpected result),
	// excluding skips.
	TotalRunUnexpectedVerdicts int32 `` /* 144-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*TestVariantFailureRateAnalysis_IntervalStats) Descriptor deprecated

Deprecated: Use TestVariantFailureRateAnalysis_IntervalStats.ProtoReflect.Descriptor instead.

func (*TestVariantFailureRateAnalysis_IntervalStats) GetIntervalAge

func (*TestVariantFailureRateAnalysis_IntervalStats) GetTotalRunExpectedVerdicts

func (x *TestVariantFailureRateAnalysis_IntervalStats) GetTotalRunExpectedVerdicts() int32

func (*TestVariantFailureRateAnalysis_IntervalStats) GetTotalRunFlakyVerdicts

func (x *TestVariantFailureRateAnalysis_IntervalStats) GetTotalRunFlakyVerdicts() int32

func (*TestVariantFailureRateAnalysis_IntervalStats) GetTotalRunUnexpectedVerdicts

func (x *TestVariantFailureRateAnalysis_IntervalStats) GetTotalRunUnexpectedVerdicts() int32

func (*TestVariantFailureRateAnalysis_IntervalStats) ProtoMessage

func (*TestVariantFailureRateAnalysis_IntervalStats) ProtoReflect

func (*TestVariantFailureRateAnalysis_IntervalStats) Reset

func (*TestVariantFailureRateAnalysis_IntervalStats) String

type TestVariantFailureRateAnalysis_RecentVerdict

type TestVariantFailureRateAnalysis_RecentVerdict struct {

	// The time the verdict's invocation was created in Spanner. This
	// is the start of the test verdict's retention period.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// The identity of the ingested invocation.
	IngestedInvocationId string `protobuf:"bytes,2,opt,name=ingested_invocation_id,json=ingestedInvocationId,proto3" json:"ingested_invocation_id,omitempty"`
	// The changelist(s) tested, if any.
	Changelists []*Changelist `protobuf:"bytes,3,rep,name=changelists,proto3" json:"changelists,omitempty"`
	// Whether the verdict had an unexpected run.
	// An unexpected run is a run (e.g. swarming task) which
	// had only unexpected results, after excluding skips.
	//
	// Example: a verdict includes the result of two
	// swarming tasks (i.e. two runs), which each contain two
	// test results.
	// One of the two test runs has two unexpected failures.
	// Therefore, the verdict has an unexpected run.
	HasUnexpectedRuns bool `protobuf:"varint,4,opt,name=has_unexpected_runs,json=hasUnexpectedRuns,proto3" json:"has_unexpected_runs,omitempty"`
	// contains filtered or unexported fields
}

func (*TestVariantFailureRateAnalysis_RecentVerdict) Descriptor deprecated

Deprecated: Use TestVariantFailureRateAnalysis_RecentVerdict.ProtoReflect.Descriptor instead.

func (*TestVariantFailureRateAnalysis_RecentVerdict) GetChangelists

func (*TestVariantFailureRateAnalysis_RecentVerdict) GetHasUnexpectedRuns

func (x *TestVariantFailureRateAnalysis_RecentVerdict) GetHasUnexpectedRuns() bool

func (*TestVariantFailureRateAnalysis_RecentVerdict) GetIngestedInvocationId

func (x *TestVariantFailureRateAnalysis_RecentVerdict) GetIngestedInvocationId() string

func (*TestVariantFailureRateAnalysis_RecentVerdict) GetPartitionTime

func (*TestVariantFailureRateAnalysis_RecentVerdict) ProtoMessage

func (*TestVariantFailureRateAnalysis_RecentVerdict) ProtoReflect

func (*TestVariantFailureRateAnalysis_RecentVerdict) Reset

func (*TestVariantFailureRateAnalysis_RecentVerdict) String

type TestVariantFailureRateAnalysis_VerdictExample

type TestVariantFailureRateAnalysis_VerdictExample struct {

	// The time the verdict's invocation was created in Spanner. This
	// is the start of the test verdict's retention period.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// The identity of the ingested invocation.
	IngestedInvocationId string `protobuf:"bytes,2,opt,name=ingested_invocation_id,json=ingestedInvocationId,proto3" json:"ingested_invocation_id,omitempty"`
	// The changelist(s) tested, if any.
	Changelists []*Changelist `protobuf:"bytes,3,rep,name=changelists,proto3" json:"changelists,omitempty"`
	// contains filtered or unexported fields
}

VerdictExample describes a verdict that is part of a statistic.

func (*TestVariantFailureRateAnalysis_VerdictExample) Descriptor deprecated

Deprecated: Use TestVariantFailureRateAnalysis_VerdictExample.ProtoReflect.Descriptor instead.

func (*TestVariantFailureRateAnalysis_VerdictExample) GetChangelists

func (*TestVariantFailureRateAnalysis_VerdictExample) GetIngestedInvocationId

func (x *TestVariantFailureRateAnalysis_VerdictExample) GetIngestedInvocationId() string

func (*TestVariantFailureRateAnalysis_VerdictExample) GetPartitionTime

func (*TestVariantFailureRateAnalysis_VerdictExample) ProtoMessage

func (*TestVariantFailureRateAnalysis_VerdictExample) ProtoReflect

func (*TestVariantFailureRateAnalysis_VerdictExample) Reset

func (*TestVariantFailureRateAnalysis_VerdictExample) String

type TestVariantIdentifier

type TestVariantIdentifier struct {

	// A unique identifier of the test in a LUCI project.
	TestId string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Description of one specific way of running the test,
	// e.g. a specific bucket, builder and a test suite.
	Variant *Variant `protobuf:"bytes,2,opt,name=variant,proto3" json:"variant,omitempty"`
	// The variant hash. Alternative to specifying the variant.
	// Prefer to specify the full variant (if available), as the
	// variant hashing implementation is an implementation detail
	// and may change.
	VariantHash string `protobuf:"bytes,3,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// contains filtered or unexported fields
}

The identity of a test variant.

func (*TestVariantIdentifier) Descriptor deprecated

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

Deprecated: Use TestVariantIdentifier.ProtoReflect.Descriptor instead.

func (*TestVariantIdentifier) GetTestId

func (x *TestVariantIdentifier) GetTestId() string

func (*TestVariantIdentifier) GetVariant

func (x *TestVariantIdentifier) GetVariant() *Variant

func (*TestVariantIdentifier) GetVariantHash

func (x *TestVariantIdentifier) GetVariantHash() string

func (*TestVariantIdentifier) ProtoMessage

func (*TestVariantIdentifier) ProtoMessage()

func (*TestVariantIdentifier) ProtoReflect

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

func (*TestVariantIdentifier) Reset

func (x *TestVariantIdentifier) Reset()

func (*TestVariantIdentifier) String

func (x *TestVariantIdentifier) String() string

type TestVariantStabilityAnalysis

type TestVariantStabilityAnalysis struct {

	// A unique identifier of the test in a LUCI project.
	TestId string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// Description of one specific way of running the test,
	// e.g. a specific bucket, builder and a test suite.
	// Only populated if populated on the request.
	Variant *Variant `protobuf:"bytes,2,opt,name=variant,proto3" json:"variant,omitempty"`
	// The variant hash.
	// Only populated if populated on the request.
	VariantHash string `protobuf:"bytes,3,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// Information related to the application of failure rate
	// criteria, if this criteria was considered.
	FailureRate *TestVariantStabilityAnalysis_FailureRate `protobuf:"bytes,4,opt,name=failure_rate,json=failureRate,proto3" json:"failure_rate,omitempty"`
	// Information related to the application of flake rate
	// criteria, if this criteria was considered.
	FlakeRate *TestVariantStabilityAnalysis_FlakeRate `protobuf:"bytes,5,opt,name=flake_rate,json=flakeRate,proto3" json:"flake_rate,omitempty"`
	// contains filtered or unexported fields
}

Stability analysis for a test variant at a particular source position.

func (*TestVariantStabilityAnalysis) Descriptor deprecated

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

Deprecated: Use TestVariantStabilityAnalysis.ProtoReflect.Descriptor instead.

func (*TestVariantStabilityAnalysis) GetFailureRate

func (*TestVariantStabilityAnalysis) GetFlakeRate

func (*TestVariantStabilityAnalysis) GetTestId

func (x *TestVariantStabilityAnalysis) GetTestId() string

func (*TestVariantStabilityAnalysis) GetVariant

func (x *TestVariantStabilityAnalysis) GetVariant() *Variant

func (*TestVariantStabilityAnalysis) GetVariantHash

func (x *TestVariantStabilityAnalysis) GetVariantHash() string

func (*TestVariantStabilityAnalysis) ProtoMessage

func (*TestVariantStabilityAnalysis) ProtoMessage()

func (*TestVariantStabilityAnalysis) ProtoReflect

func (*TestVariantStabilityAnalysis) Reset

func (x *TestVariantStabilityAnalysis) Reset()

func (*TestVariantStabilityAnalysis) String

type TestVariantStabilityAnalysis_FailureRate

type TestVariantStabilityAnalysis_FailureRate struct {

	// Whether the failure rate criteria was met. If set, this means the
	// test is unstable by this criteria.
	IsMet bool `protobuf:"varint,1,opt,name=is_met,json=isMet,proto3" json:"is_met,omitempty"`
	// The maximum number of failures observed in any analysis window.
	UnexpectedTestRuns int32 `protobuf:"varint,2,opt,name=unexpected_test_runs,json=unexpectedTestRuns,proto3" json:"unexpected_test_runs,omitempty"`
	// The number of consecutive unexpected test runs from the leading
	// and/or trailing part of test history, which touches the
	// the query position.
	// If there is no such sequence, this is 0.
	ConsecutiveUnexpectedTestRuns int32 `` /* 153-byte string literal not displayed */
	// Relevant source verdicts used in the analysis. Limited to 20 runs,
	// which may span between 1 and 20 source verdicts.
	RecentVerdicts []*TestVariantStabilityAnalysis_FailureRate_RecentVerdict `protobuf:"bytes,4,rep,name=recent_verdicts,json=recentVerdicts,proto3" json:"recent_verdicts,omitempty"`
	// contains filtered or unexported fields
}

func (*TestVariantStabilityAnalysis_FailureRate) Descriptor deprecated

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

Deprecated: Use TestVariantStabilityAnalysis_FailureRate.ProtoReflect.Descriptor instead.

func (*TestVariantStabilityAnalysis_FailureRate) GetConsecutiveUnexpectedTestRuns

func (x *TestVariantStabilityAnalysis_FailureRate) GetConsecutiveUnexpectedTestRuns() int32

func (*TestVariantStabilityAnalysis_FailureRate) GetIsMet

func (*TestVariantStabilityAnalysis_FailureRate) GetRecentVerdicts

func (*TestVariantStabilityAnalysis_FailureRate) GetUnexpectedTestRuns

func (x *TestVariantStabilityAnalysis_FailureRate) GetUnexpectedTestRuns() int32

func (*TestVariantStabilityAnalysis_FailureRate) ProtoMessage

func (*TestVariantStabilityAnalysis_FailureRate) ProtoReflect

func (*TestVariantStabilityAnalysis_FailureRate) Reset

func (*TestVariantStabilityAnalysis_FailureRate) String

type TestVariantStabilityAnalysis_FailureRate_RecentVerdict

type TestVariantStabilityAnalysis_FailureRate_RecentVerdict struct {

	// The commit position of the source verdict on the queried branch.
	Position int64 `protobuf:"varint,1,opt,name=position,proto3" json:"position,omitempty"`
	// The changelist(s) tested, if any.
	Changelists []*Changelist `protobuf:"bytes,2,rep,name=changelists,proto3" json:"changelists,omitempty"`
	// The invocations included in this source verdict.
	Invocations []string `protobuf:"bytes,3,rep,name=invocations,proto3" json:"invocations,omitempty"`
	// The number of unexpected runs associated with the verdict.
	// An unexpected run is a run (e.g. swarming task) which
	// had only unexpected results, after excluding skips.
	// Presubmit results are limited to contributing 1 unexpected
	// run to the analysis by design. Postsubmit results can have more.
	UnexpectedRuns int32 `protobuf:"varint,4,opt,name=unexpected_runs,json=unexpectedRuns,proto3" json:"unexpected_runs,omitempty"`
	// The total number of test runs associated with the verdict.
	// Presubmit results are limited to contributing 1 unexpected
	// run to the analysis by design. Postsubmit results can have more.
	TotalRuns int32 `protobuf:"varint,5,opt,name=total_runs,json=totalRuns,proto3" json:"total_runs,omitempty"`
	// contains filtered or unexported fields
}

func (*TestVariantStabilityAnalysis_FailureRate_RecentVerdict) Descriptor deprecated

Deprecated: Use TestVariantStabilityAnalysis_FailureRate_RecentVerdict.ProtoReflect.Descriptor instead.

func (*TestVariantStabilityAnalysis_FailureRate_RecentVerdict) GetChangelists

func (*TestVariantStabilityAnalysis_FailureRate_RecentVerdict) GetInvocations

func (*TestVariantStabilityAnalysis_FailureRate_RecentVerdict) GetPosition

func (*TestVariantStabilityAnalysis_FailureRate_RecentVerdict) GetTotalRuns

func (*TestVariantStabilityAnalysis_FailureRate_RecentVerdict) GetUnexpectedRuns

func (*TestVariantStabilityAnalysis_FailureRate_RecentVerdict) ProtoMessage

func (*TestVariantStabilityAnalysis_FailureRate_RecentVerdict) ProtoReflect

func (*TestVariantStabilityAnalysis_FailureRate_RecentVerdict) Reset

func (*TestVariantStabilityAnalysis_FailureRate_RecentVerdict) String

type TestVariantStabilityAnalysis_FlakeRate

type TestVariantStabilityAnalysis_FlakeRate struct {

	// Whether the flake rate criteria was met. If set, this means the
	// test was deemed unstable by this criteria.
	IsMet bool `protobuf:"varint,1,opt,name=is_met,json=isMet,proto3" json:"is_met,omitempty"`
	// The total number of run-flaky verdicts observed.
	RunFlakyVerdicts int32 `protobuf:"varint,2,opt,name=run_flaky_verdicts,json=runFlakyVerdicts,proto3" json:"run_flaky_verdicts,omitempty"`
	// The total number of verdicts in the run flaky verdicts analysis window.
	TotalVerdicts int32 `protobuf:"varint,3,opt,name=total_verdicts,json=totalVerdicts,proto3" json:"total_verdicts,omitempty"`
	// Examples of source verdicts which had both expected and unexpected runs,
	// that contributed to run_flaky_verdicts.
	//
	// Ordered by recency, starting at the most recent example.
	//
	// Limited to at most 10 examples.
	FlakeExamples []*TestVariantStabilityAnalysis_FlakeRate_VerdictExample `protobuf:"bytes,4,rep,name=flake_examples,json=flakeExamples,proto3" json:"flake_examples,omitempty"`
	// The least source position included in the analysis window. Inclusive.
	// If the analysis window is empty (e.g. because there is no data), this is zero.
	StartPosition int64 `protobuf:"varint,5,opt,name=start_position,json=startPosition,proto3" json:"start_position,omitempty"`
	// The greatest source position included in the analysis window. Inclusive.
	// If the analysis window is empty (e.g. because there is no data), this is zero.
	EndPosition int64 `protobuf:"varint,6,opt,name=end_position,json=endPosition,proto3" json:"end_position,omitempty"`
	// The total number of run-flaky source verdicts observed in a special +/- 1 weekday
	// analysis window around the queried source position.
	RunFlakyVerdicts_1Wd int32 `protobuf:"varint,7,opt,name=run_flaky_verdicts_1wd,json=runFlakyVerdicts1wd,proto3" json:"run_flaky_verdicts_1wd,omitempty"`
	// The least source position included in the +/- 1 weekday analysis window. Inclusive.
	// If the analysis window is empty (e.g. because there is no data), this is zero.
	StartPosition_1Wd int64 `protobuf:"varint,8,opt,name=start_position_1wd,json=startPosition1wd,proto3" json:"start_position_1wd,omitempty"`
	// The greatest source position included in the +/- 1 weekday analysis window. Inclusive.
	// If the analysis window is empty (e.g. because there is no data), this is zero.
	EndPosition_1Wd int64 `protobuf:"varint,9,opt,name=end_position_1wd,json=endPosition1wd,proto3" json:"end_position_1wd,omitempty"`
	// The total number of run-flaky source verdicts observed in a special +/- 12 hour
	// analysis window around the queried source position.
	RunFlakyVerdicts_12H int32 `protobuf:"varint,10,opt,name=run_flaky_verdicts_12h,json=runFlakyVerdicts12h,proto3" json:"run_flaky_verdicts_12h,omitempty"`
	// contains filtered or unexported fields
}

func (*TestVariantStabilityAnalysis_FlakeRate) Descriptor deprecated

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

Deprecated: Use TestVariantStabilityAnalysis_FlakeRate.ProtoReflect.Descriptor instead.

func (*TestVariantStabilityAnalysis_FlakeRate) GetEndPosition

func (x *TestVariantStabilityAnalysis_FlakeRate) GetEndPosition() int64

func (*TestVariantStabilityAnalysis_FlakeRate) GetEndPosition_1Wd

func (x *TestVariantStabilityAnalysis_FlakeRate) GetEndPosition_1Wd() int64

func (*TestVariantStabilityAnalysis_FlakeRate) GetFlakeExamples

func (*TestVariantStabilityAnalysis_FlakeRate) GetIsMet

func (*TestVariantStabilityAnalysis_FlakeRate) GetRunFlakyVerdicts

func (x *TestVariantStabilityAnalysis_FlakeRate) GetRunFlakyVerdicts() int32

func (*TestVariantStabilityAnalysis_FlakeRate) GetRunFlakyVerdicts_12H

func (x *TestVariantStabilityAnalysis_FlakeRate) GetRunFlakyVerdicts_12H() int32

func (*TestVariantStabilityAnalysis_FlakeRate) GetRunFlakyVerdicts_1Wd

func (x *TestVariantStabilityAnalysis_FlakeRate) GetRunFlakyVerdicts_1Wd() int32

func (*TestVariantStabilityAnalysis_FlakeRate) GetStartPosition

func (x *TestVariantStabilityAnalysis_FlakeRate) GetStartPosition() int64

func (*TestVariantStabilityAnalysis_FlakeRate) GetStartPosition_1Wd

func (x *TestVariantStabilityAnalysis_FlakeRate) GetStartPosition_1Wd() int64

func (*TestVariantStabilityAnalysis_FlakeRate) GetTotalVerdicts

func (x *TestVariantStabilityAnalysis_FlakeRate) GetTotalVerdicts() int32

func (*TestVariantStabilityAnalysis_FlakeRate) ProtoMessage

func (*TestVariantStabilityAnalysis_FlakeRate) ProtoReflect

func (*TestVariantStabilityAnalysis_FlakeRate) Reset

func (*TestVariantStabilityAnalysis_FlakeRate) String

type TestVariantStabilityAnalysis_FlakeRate_VerdictExample

type TestVariantStabilityAnalysis_FlakeRate_VerdictExample struct {

	// The commit position of the verdict on the queried branch.
	Position int64 `protobuf:"varint,1,opt,name=position,proto3" json:"position,omitempty"`
	// The changelist(s) tested, if any.
	Changelists []*Changelist `protobuf:"bytes,2,rep,name=changelists,proto3" json:"changelists,omitempty"`
	// The invocations included in this source verdict.
	Invocations []string `protobuf:"bytes,3,rep,name=invocations,proto3" json:"invocations,omitempty"`
	// contains filtered or unexported fields
}

VerdictExample describes a source verdict that is part of a statistic. Note that a source verdict may contain data from multiple test verdicts, such as in the case of retried presubmit runs on the same patchset.

func (*TestVariantStabilityAnalysis_FlakeRate_VerdictExample) Descriptor deprecated

Deprecated: Use TestVariantStabilityAnalysis_FlakeRate_VerdictExample.ProtoReflect.Descriptor instead.

func (*TestVariantStabilityAnalysis_FlakeRate_VerdictExample) GetChangelists

func (*TestVariantStabilityAnalysis_FlakeRate_VerdictExample) GetInvocations

func (*TestVariantStabilityAnalysis_FlakeRate_VerdictExample) GetPosition

func (*TestVariantStabilityAnalysis_FlakeRate_VerdictExample) ProtoMessage

func (*TestVariantStabilityAnalysis_FlakeRate_VerdictExample) ProtoReflect

func (*TestVariantStabilityAnalysis_FlakeRate_VerdictExample) Reset

func (*TestVariantStabilityAnalysis_FlakeRate_VerdictExample) String

type TestVariantsClient

type TestVariantsClient interface {
	// Queries the failure rate of specified test variants, returning
	// signals indicating if the test variant is flaky and/or
	// deterministically failing. Intended for use by recipes to
	// inform exoneration decisions.
	//
	// This RPC is used to support version one of exoneration.
	// It will be replaced by QueryStability over time.
	//
	// Changes to this RPC should comply with https://google.aip.dev/231.
	QueryFailureRate(ctx context.Context, in *QueryTestVariantFailureRateRequest, opts ...grpc.CallOption) (*QueryTestVariantFailureRateResponse, error)
	// Queries the stability of specified test variants.
	// Intended for use by recipes to inform exoneration decisions,
	// and by UI to show test stability.
	QueryStability(ctx context.Context, in *QueryTestVariantStabilityRequest, opts ...grpc.CallOption) (*QueryTestVariantStabilityResponse, error)
}

TestVariantsClient is the client API for TestVariants service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewTestVariantsPRPCClient

func NewTestVariantsPRPCClient(client *prpc.Client) TestVariantsClient

type TestVariantsServer

type TestVariantsServer interface {
	// Queries the failure rate of specified test variants, returning
	// signals indicating if the test variant is flaky and/or
	// deterministically failing. Intended for use by recipes to
	// inform exoneration decisions.
	//
	// This RPC is used to support version one of exoneration.
	// It will be replaced by QueryStability over time.
	//
	// Changes to this RPC should comply with https://google.aip.dev/231.
	QueryFailureRate(context.Context, *QueryTestVariantFailureRateRequest) (*QueryTestVariantFailureRateResponse, error)
	// Queries the stability of specified test variants.
	// Intended for use by recipes to inform exoneration decisions,
	// and by UI to show test stability.
	QueryStability(context.Context, *QueryTestVariantStabilityRequest) (*QueryTestVariantStabilityResponse, error)
}

TestVariantsServer is the server API for TestVariants service.

type TestVerdict

type TestVerdict struct {

	// Unique identifier of the test.
	// This has the same value as luci.resultdb.v1.TestResult.test_id.
	TestId string `protobuf:"bytes,1,opt,name=test_id,json=testId,proto3" json:"test_id,omitempty"`
	// The hash of the variant.
	VariantHash string `protobuf:"bytes,2,opt,name=variant_hash,json=variantHash,proto3" json:"variant_hash,omitempty"`
	// The ID of the top-level invocation that the test verdict belongs to when
	// ingested.
	InvocationId string `protobuf:"bytes,3,opt,name=invocation_id,json=invocationId,proto3" json:"invocation_id,omitempty"`
	// The status of the test verdict.
	Status TestVerdictStatus `protobuf:"varint,4,opt,name=status,proto3,enum=luci.analysis.v1.TestVerdictStatus" json:"status,omitempty"`
	// The time the verdict's invocation was created in Spanner. This
	// is the start of the test verdict's retention period.
	PartitionTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=partition_time,json=partitionTime,proto3" json:"partition_time,omitempty"`
	// The average duration of the PASSED test results included in the test
	// verdict.
	PassedAvgDuration *durationpb.Duration `protobuf:"bytes,6,opt,name=passed_avg_duration,json=passedAvgDuration,proto3" json:"passed_avg_duration,omitempty"`
	// The changelist(s) that were tested, if any. If there are more 10, only
	// the first 10 are returned here.
	Changelists []*Changelist `protobuf:"bytes,7,rep,name=changelists,proto3" json:"changelists,omitempty"`
	// contains filtered or unexported fields
}

func (*TestVerdict) Descriptor deprecated

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

Deprecated: Use TestVerdict.ProtoReflect.Descriptor instead.

func (*TestVerdict) GetChangelists

func (x *TestVerdict) GetChangelists() []*Changelist

func (*TestVerdict) GetInvocationId

func (x *TestVerdict) GetInvocationId() string

func (*TestVerdict) GetPartitionTime

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

func (*TestVerdict) GetPassedAvgDuration

func (x *TestVerdict) GetPassedAvgDuration() *durationpb.Duration

func (*TestVerdict) GetStatus

func (x *TestVerdict) GetStatus() TestVerdictStatus

func (*TestVerdict) GetTestId

func (x *TestVerdict) GetTestId() string

func (*TestVerdict) GetVariantHash

func (x *TestVerdict) GetVariantHash() string

func (*TestVerdict) ProtoMessage

func (*TestVerdict) ProtoMessage()

func (*TestVerdict) ProtoReflect

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

func (*TestVerdict) Reset

func (x *TestVerdict) Reset()

func (*TestVerdict) String

func (x *TestVerdict) String() string

type TestVerdictPredicate

type TestVerdictPredicate struct {

	// Optional. The project-scoped realm to query the history from.
	// This is the realm without the "<project>:" prefix.
	//
	// When specified, only the test history entries found in the matching realm
	// will be returned.
	SubRealm string `protobuf:"bytes,1,opt,name=sub_realm,json=subRealm,proto3" json:"sub_realm,omitempty"`
	// Optional. The subset of test variants to request history for.
	VariantPredicate *VariantPredicate `protobuf:"bytes,2,opt,name=variant_predicate,json=variantPredicate,proto3" json:"variant_predicate,omitempty"`
	// Optional. Whether test verdicts generated by code with unsubmitted changes
	// (e.g. Gerrit changes) should be included in the response.
	//
	// If no filter is specified, all verdicts are returned (regardless of
	// submitted status).
	SubmittedFilter SubmittedFilter `` /* 145-byte string literal not displayed */
	// Optional. Specify a range of timestamps to query the test history from.
	//
	// Test history older than the configured TTL (90 days) will not be returned.
	// When omitted, return all available test history.
	PartitionTimeRange *TimeRange `protobuf:"bytes,4,opt,name=partition_time_range,json=partitionTimeRange,proto3" json:"partition_time_range,omitempty"`
	// Optional. Whether to include the test results from LUCI Bisection.
	// Results from LUCI Bisection are only return if this is true.
	// LUCI Bisection results are excluded by default.
	IncludeBisectionResults bool `` /* 133-byte string literal not displayed */
	// contains filtered or unexported fields
}

Represents a function TestVerdict -> bool.

func (*TestVerdictPredicate) Descriptor deprecated

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

Deprecated: Use TestVerdictPredicate.ProtoReflect.Descriptor instead.

func (*TestVerdictPredicate) GetIncludeBisectionResults

func (x *TestVerdictPredicate) GetIncludeBisectionResults() bool

func (*TestVerdictPredicate) GetPartitionTimeRange

func (x *TestVerdictPredicate) GetPartitionTimeRange() *TimeRange

func (*TestVerdictPredicate) GetSubRealm

func (x *TestVerdictPredicate) GetSubRealm() string

func (*TestVerdictPredicate) GetSubmittedFilter

func (x *TestVerdictPredicate) GetSubmittedFilter() SubmittedFilter

func (*TestVerdictPredicate) GetVariantPredicate

func (x *TestVerdictPredicate) GetVariantPredicate() *VariantPredicate

func (*TestVerdictPredicate) ProtoMessage

func (*TestVerdictPredicate) ProtoMessage()

func (*TestVerdictPredicate) ProtoReflect

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

func (*TestVerdictPredicate) Reset

func (x *TestVerdictPredicate) Reset()

func (*TestVerdictPredicate) String

func (x *TestVerdictPredicate) String() string

type TestVerdictStatus

type TestVerdictStatus int32

Status of a test verdict. It is a mirror of luci.resultdb.v1.TestVariantStatus.

const (
	// a test verdict must not have this status.
	// This is only used when filtering verdicts.
	TestVerdictStatus_TEST_VERDICT_STATUS_UNSPECIFIED TestVerdictStatus = 0
	// The test verdict has no exonerations, and all results are unexpected.
	TestVerdictStatus_UNEXPECTED TestVerdictStatus = 10
	// The test verdict has no exonerations, and all results are unexpectedly skipped.
	TestVerdictStatus_UNEXPECTEDLY_SKIPPED TestVerdictStatus = 20
	// The test verdict has no exonerations, and has both expected and unexpected
	// results.
	TestVerdictStatus_FLAKY TestVerdictStatus = 30
	// The test verdict has one or more test exonerations.
	TestVerdictStatus_EXONERATED TestVerdictStatus = 40
	// The test verdict has no exonerations, and all results are expected.
	TestVerdictStatus_EXPECTED TestVerdictStatus = 50
)

func (TestVerdictStatus) Descriptor

func (TestVerdictStatus) Enum

func (TestVerdictStatus) EnumDescriptor deprecated

func (TestVerdictStatus) EnumDescriptor() ([]byte, []int)

Deprecated: Use TestVerdictStatus.Descriptor instead.

func (TestVerdictStatus) Number

func (TestVerdictStatus) String

func (x TestVerdictStatus) String() string

func (TestVerdictStatus) Type

type TimeRange

type TimeRange struct {

	// The oldest timestamp to include in the range.
	Earliest *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=earliest,proto3" json:"earliest,omitempty"`
	// Include only timestamps that are strictly older than this.
	Latest *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=latest,proto3" json:"latest,omitempty"`
	// contains filtered or unexported fields
}

A range of timestamps.

func (*TimeRange) Descriptor deprecated

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

Deprecated: Use TimeRange.ProtoReflect.Descriptor instead.

func (*TimeRange) GetEarliest

func (x *TimeRange) GetEarliest() *timestamppb.Timestamp

func (*TimeRange) GetLatest

func (x *TimeRange) GetLatest() *timestamppb.Timestamp

func (*TimeRange) ProtoMessage

func (*TimeRange) ProtoMessage()

func (*TimeRange) ProtoReflect

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

func (*TimeRange) Reset

func (x *TimeRange) Reset()

func (*TimeRange) String

func (x *TimeRange) String() string

type UnimplementedBuganizerTesterServer

type UnimplementedBuganizerTesterServer struct {
}

UnimplementedBuganizerTesterServer can be embedded to have forward compatible implementations.

func (*UnimplementedBuganizerTesterServer) CreateSampleIssue

type UnimplementedChangepointsServer

type UnimplementedChangepointsServer struct {
}

UnimplementedChangepointsServer can be embedded to have forward compatible implementations.

type UnimplementedClustersServer

type UnimplementedClustersServer struct {
}

UnimplementedClustersServer can be embedded to have forward compatible implementations.

func (*UnimplementedClustersServer) Cluster

func (*UnimplementedClustersServer) Get

func (*UnimplementedClustersServer) GetReclusteringProgress

type UnimplementedMetricsServer

type UnimplementedMetricsServer struct {
}

UnimplementedMetricsServer can be embedded to have forward compatible implementations.

type UnimplementedProjectsServer

type UnimplementedProjectsServer struct {
}

UnimplementedProjectsServer can be embedded to have forward compatible implementations.

func (*UnimplementedProjectsServer) GetConfig

func (*UnimplementedProjectsServer) List

type UnimplementedRulesServer

type UnimplementedRulesServer struct {
}

UnimplementedRulesServer can be embedded to have forward compatible implementations.

func (*UnimplementedRulesServer) Create

func (*UnimplementedRulesServer) CreateWithNewIssue

func (*UnimplementedRulesServer) Get

func (*UnimplementedRulesServer) List

func (*UnimplementedRulesServer) LookupBug

func (*UnimplementedRulesServer) Update

type UnimplementedTestHistoryServer

type UnimplementedTestHistoryServer struct {
}

UnimplementedTestHistoryServer can be embedded to have forward compatible implementations.

func (*UnimplementedTestHistoryServer) Query

func (*UnimplementedTestHistoryServer) QueryTests

func (*UnimplementedTestHistoryServer) QueryVariants

type UnimplementedTestVariantBranchesServer

type UnimplementedTestVariantBranchesServer struct {
}

UnimplementedTestVariantBranchesServer can be embedded to have forward compatible implementations.

func (*UnimplementedTestVariantBranchesServer) GetRaw

func (*UnimplementedTestVariantBranchesServer) QuerySourcePositions

func (*UnimplementedTestVariantBranchesServer) QuerySourceVerdicts

type UnimplementedTestVariantsServer

type UnimplementedTestVariantsServer struct {
}

UnimplementedTestVariantsServer can be embedded to have forward compatible implementations.

type UpdateRuleRequest

type UpdateRuleRequest struct {

	// The rule to update.
	//
	// The rule's `name` field is used to identify the book to update.
	// Format: projects/{project}/rules/{rule_id}.
	Rule *Rule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"`
	// The list of fields to update.
	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	// The current etag of the rule.
	// If an etag is provided and does not match the current etag of the rule,
	// update will be blocked and an ABORTED error will be returned.
	Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"`
	// contains filtered or unexported fields
}

func (*UpdateRuleRequest) Descriptor deprecated

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

Deprecated: Use UpdateRuleRequest.ProtoReflect.Descriptor instead.

func (*UpdateRuleRequest) GetEtag

func (x *UpdateRuleRequest) GetEtag() string

func (*UpdateRuleRequest) GetRule

func (x *UpdateRuleRequest) GetRule() *Rule

func (*UpdateRuleRequest) GetUpdateMask

func (x *UpdateRuleRequest) GetUpdateMask() *fieldmaskpb.FieldMask

func (*UpdateRuleRequest) ProtoMessage

func (*UpdateRuleRequest) ProtoMessage()

func (*UpdateRuleRequest) ProtoReflect

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

func (*UpdateRuleRequest) Reset

func (x *UpdateRuleRequest) Reset()

func (*UpdateRuleRequest) String

func (x *UpdateRuleRequest) String() string

type Variant

type Variant struct {

	// The definition of the variant. Each key-value pair represents a
	// parameter describing how the test was run (e.g. OS, GPU, etc.).
	Def map[string]string `` /* 147-byte string literal not displayed */
	// contains filtered or unexported fields
}

Variant represents a way of running a test case.

The same test case can be executed in different ways, for example on different OS, GPUs, with different compile options or runtime flags.

func (*Variant) Descriptor deprecated

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

Deprecated: Use Variant.ProtoReflect.Descriptor instead.

func (*Variant) GetDef

func (x *Variant) GetDef() map[string]string

func (*Variant) ProtoMessage

func (*Variant) ProtoMessage()

func (*Variant) ProtoReflect

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

func (*Variant) Reset

func (x *Variant) Reset()

func (*Variant) String

func (x *Variant) String() string

type VariantPredicate

type VariantPredicate struct {

	// Types that are assignable to Predicate:
	//
	//	*VariantPredicate_Equals
	//	*VariantPredicate_Contains
	//	*VariantPredicate_HashEquals
	Predicate isVariantPredicate_Predicate `protobuf_oneof:"predicate"`
	// contains filtered or unexported fields
}

Represents a function Variant -> bool.

func (*VariantPredicate) Descriptor deprecated

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

Deprecated: Use VariantPredicate.ProtoReflect.Descriptor instead.

func (*VariantPredicate) GetContains

func (x *VariantPredicate) GetContains() *Variant

func (*VariantPredicate) GetEquals

func (x *VariantPredicate) GetEquals() *Variant

func (*VariantPredicate) GetHashEquals

func (x *VariantPredicate) GetHashEquals() string

func (*VariantPredicate) GetPredicate

func (m *VariantPredicate) GetPredicate() isVariantPredicate_Predicate

func (*VariantPredicate) ProtoMessage

func (*VariantPredicate) ProtoMessage()

func (*VariantPredicate) ProtoReflect

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

func (*VariantPredicate) Reset

func (x *VariantPredicate) Reset()

func (*VariantPredicate) String

func (x *VariantPredicate) String() string

type VariantPredicate_Contains

type VariantPredicate_Contains struct {
	// A variant's key-value pairs must contain those in this one.
	Contains *Variant `protobuf:"bytes,2,opt,name=contains,proto3,oneof"`
}

type VariantPredicate_Equals

type VariantPredicate_Equals struct {
	// A variant must be equal this definition exactly.
	Equals *Variant `protobuf:"bytes,1,opt,name=equals,proto3,oneof"`
}

type VariantPredicate_HashEquals

type VariantPredicate_HashEquals struct {
	// A variant's hash must equal this value exactly.
	HashEquals string `protobuf:"bytes,3,opt,name=hash_equals,json=hashEquals,proto3,oneof"`
}

Jump to

Keyboard shortcuts

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