blob: 03eed79a7b74e761d03256eaa9f2c8280a4e3739 [file]
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.10
// protoc v3.21.12
// source: service.proto
// Working in progress protobuf and service definition.
//
package pinpointpb
import (
reflect "reflect"
sync "sync"
unsafe "unsafe"
proto "go.skia.org/infra/cabe/go/proto"
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Swarming task statuses. These definitions have been condensed
// down to a few categories pertaining to the Perf on CQ use case.
// The statuses are based on swarming V2's enum definitions.
// https://pkg.go.dev/go.chromium.org/luci/swarming/proto/api_v2#TaskState
// BENCHMARK_FAILURE is the only status not listed amongst the swarming
// enums.
type SwarmingStatus int32
const (
SwarmingStatus_UNSPECIFIED SwarmingStatus = 0
// COMPLETED means the swarming task succeeded and the benchmark ran.
SwarmingStatus_COMPLETED SwarmingStatus = 1
// BENCHMARK_FAILURE means that the swarming task completed but
// the benchmark run itself failed. If a user sees a lot of BENCHMARK_FAILUREs
// on their CL but none on the tip of tree during presubmit, that implies
// their CL could be the cause of flakiness. This status is the only one
// not included in swarming.
SwarmingStatus_BENCHMARK_FAILURE SwarmingStatus = 2
// FAILURE status encompass all swarming potential failures i.e.
// BOT_DIED, NO_RESOURCE, CANCELLED, TIMED_OUT
SwarmingStatus_FAILURE SwarmingStatus = 3
// RUNNING status encompasses PENDING and RUNNING.
SwarmingStatus_RUNNING SwarmingStatus = 4
)
// Enum value maps for SwarmingStatus.
var (
SwarmingStatus_name = map[int32]string{
0: "UNSPECIFIED",
1: "COMPLETED",
2: "BENCHMARK_FAILURE",
3: "FAILURE",
4: "RUNNING",
}
SwarmingStatus_value = map[string]int32{
"UNSPECIFIED": 0,
"COMPLETED": 1,
"BENCHMARK_FAILURE": 2,
"FAILURE": 3,
"RUNNING": 4,
}
)
func (x SwarmingStatus) Enum() *SwarmingStatus {
p := new(SwarmingStatus)
*p = x
return p
}
func (x SwarmingStatus) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SwarmingStatus) Descriptor() protoreflect.EnumDescriptor {
return file_service_proto_enumTypes[0].Descriptor()
}
func (SwarmingStatus) Type() protoreflect.EnumType {
return &file_service_proto_enumTypes[0]
}
func (x SwarmingStatus) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SwarmingStatus.Descriptor instead.
func (SwarmingStatus) EnumDescriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{0}
}
type PairwiseJobStatus int32
const (
// Default value, should not be used explicitly.
PairwiseJobStatus_PAIRWISE_JOB_STATUS_UNSPECIFIED PairwiseJobStatus = 0
// Job is currently running.
PairwiseJobStatus_PAIRWISE_JOB_STATUS_RUNNING PairwiseJobStatus = 1
// Job is completed. Results are ready.
PairwiseJobStatus_PAIRWISE_JOB_STATUS_COMPLETED PairwiseJobStatus = 2
// Job Failed due to error, termination, or time out.
PairwiseJobStatus_PAIRWISE_JOB_STATUS_FAILED PairwiseJobStatus = 3
// Job was cancelled.
PairwiseJobStatus_PAIRWISE_JOB_STATUS_CANCELED PairwiseJobStatus = 4
)
// Enum value maps for PairwiseJobStatus.
var (
PairwiseJobStatus_name = map[int32]string{
0: "PAIRWISE_JOB_STATUS_UNSPECIFIED",
1: "PAIRWISE_JOB_STATUS_RUNNING",
2: "PAIRWISE_JOB_STATUS_COMPLETED",
3: "PAIRWISE_JOB_STATUS_FAILED",
4: "PAIRWISE_JOB_STATUS_CANCELED",
}
PairwiseJobStatus_value = map[string]int32{
"PAIRWISE_JOB_STATUS_UNSPECIFIED": 0,
"PAIRWISE_JOB_STATUS_RUNNING": 1,
"PAIRWISE_JOB_STATUS_COMPLETED": 2,
"PAIRWISE_JOB_STATUS_FAILED": 3,
"PAIRWISE_JOB_STATUS_CANCELED": 4,
}
)
func (x PairwiseJobStatus) Enum() *PairwiseJobStatus {
p := new(PairwiseJobStatus)
*p = x
return p
}
func (x PairwiseJobStatus) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PairwiseJobStatus) Descriptor() protoreflect.EnumDescriptor {
return file_service_proto_enumTypes[1].Descriptor()
}
func (PairwiseJobStatus) Type() protoreflect.EnumType {
return &file_service_proto_enumTypes[1]
}
func (x PairwiseJobStatus) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PairwiseJobStatus.Descriptor instead.
func (PairwiseJobStatus) EnumDescriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{1}
}
// The direct mirror of the existing bisect request in catapult.
// https://chromium.googlesource.com/catapult.git/+/09398d/
// dashboard/dashboard/pinpoint/models/job.py#339
//
// Note, some fields are only for backward-compatibility only.
type ScheduleBisectRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
ComparisonMode string `protobuf:"bytes,1,opt,name=comparison_mode,json=comparisonMode,proto3" json:"comparison_mode,omitempty"`
StartGitHash string `protobuf:"bytes,2,opt,name=start_git_hash,json=startGitHash,proto3" json:"start_git_hash,omitempty"`
EndGitHash string `protobuf:"bytes,3,opt,name=end_git_hash,json=endGitHash,proto3" json:"end_git_hash,omitempty"`
// The builder/bot configuration name, this usually specifies the builder that can trigger
// the build.
Configuration string `protobuf:"bytes,4,opt,name=configuration,proto3" json:"configuration,omitempty"`
// The Chrome perf benchmark test target.
// All the targets are generated from here:
// https://chromium.googlesource.com/chromium/src/+/52c8723/tools/perf/core/perf_data_generator.py
Benchmark string `protobuf:"bytes,5,opt,name=benchmark,proto3" json:"benchmark,omitempty"`
// https://chromium.googlesource.com/catapult.git/+/e8367e6/telemetry
// The story is usually a test case that runs a set of actions in a certain scenario, and
// collects performance histogram data to analyze.
// Users can run jobs with either story, story tags, or both story and story tags.
Story string `protobuf:"bytes,6,opt,name=story,proto3" json:"story,omitempty"`
Chart string `protobuf:"bytes,7,opt,name=chart,proto3" json:"chart,omitempty"`
// TODO(b/322202740) This field is used by catapult and should eventually be deprecated.
// Use aggregation_method instead.
Statistic string `protobuf:"bytes,8,opt,name=statistic,proto3" json:"statistic,omitempty"`
// Comparison Magnitude is the expected absolute difference of a potential regression.
ComparisonMagnitude string `protobuf:"bytes,9,opt,name=comparison_magnitude,json=comparisonMagnitude,proto3" json:"comparison_magnitude,omitempty"`
// The Change (Commits + Patch) to apply to every change for all the subsequence runs.
Pin string `protobuf:"bytes,10,opt,name=pin,proto3" json:"pin,omitempty"`
// The Monorail project ID.
Project string `protobuf:"bytes,11,opt,name=project,proto3" json:"project,omitempty"`
// The monorail issue id number to post updates to.
BugId string `protobuf:"bytes,12,opt,name=bug_id,json=bugId,proto3" json:"bug_id,omitempty"`
// The user email who triggers the job.
User string `protobuf:"bytes,13,opt,name=user,proto3" json:"user,omitempty"`
// The mechanism in which benchmark measurements are aggregated by.
// One of sum, mean, min, max count, and std. If left blank, then
// no aggregation takes place and all of the raw values will be used.
AggregationMethod string `protobuf:"bytes,14,opt,name=aggregation_method,json=aggregationMethod,proto3" json:"aggregation_method,omitempty"`
// StoryTags is a comma delimited string of tags to pass for the story.
// For example, "all", "representative_win_desktop" or "2019,2018".
// Users can run jobs with either story, story tags, or both story and story tags.
StoryTags string `protobuf:"bytes,15,opt,name=story_tags,json=storyTags,proto3" json:"story_tags,omitempty"`
// The minimum number of test iterations run.
InitialAttemptCount string `protobuf:"bytes,16,opt,name=initial_attempt_count,json=initialAttemptCount,proto3" json:"initial_attempt_count,omitempty"`
// A JSON string encoded key-value pairs used to filter the Jobs listings.
Tags string `protobuf:"bytes,17,opt,name=tags,proto3" json:"tags,omitempty"`
// The improvement direction of the measurement.
// Is either Up, Down, or Unknown.
ImprovementDirection string `protobuf:"bytes,18,opt,name=improvement_direction,json=improvementDirection,proto3" json:"improvement_direction,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ScheduleBisectRequest) Reset() {
*x = ScheduleBisectRequest{}
mi := &file_service_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ScheduleBisectRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleBisectRequest) ProtoMessage() {}
func (x *ScheduleBisectRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScheduleBisectRequest.ProtoReflect.Descriptor instead.
func (*ScheduleBisectRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{0}
}
func (x *ScheduleBisectRequest) GetComparisonMode() string {
if x != nil {
return x.ComparisonMode
}
return ""
}
func (x *ScheduleBisectRequest) GetStartGitHash() string {
if x != nil {
return x.StartGitHash
}
return ""
}
func (x *ScheduleBisectRequest) GetEndGitHash() string {
if x != nil {
return x.EndGitHash
}
return ""
}
func (x *ScheduleBisectRequest) GetConfiguration() string {
if x != nil {
return x.Configuration
}
return ""
}
func (x *ScheduleBisectRequest) GetBenchmark() string {
if x != nil {
return x.Benchmark
}
return ""
}
func (x *ScheduleBisectRequest) GetStory() string {
if x != nil {
return x.Story
}
return ""
}
func (x *ScheduleBisectRequest) GetChart() string {
if x != nil {
return x.Chart
}
return ""
}
func (x *ScheduleBisectRequest) GetStatistic() string {
if x != nil {
return x.Statistic
}
return ""
}
func (x *ScheduleBisectRequest) GetComparisonMagnitude() string {
if x != nil {
return x.ComparisonMagnitude
}
return ""
}
func (x *ScheduleBisectRequest) GetPin() string {
if x != nil {
return x.Pin
}
return ""
}
func (x *ScheduleBisectRequest) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *ScheduleBisectRequest) GetBugId() string {
if x != nil {
return x.BugId
}
return ""
}
func (x *ScheduleBisectRequest) GetUser() string {
if x != nil {
return x.User
}
return ""
}
func (x *ScheduleBisectRequest) GetAggregationMethod() string {
if x != nil {
return x.AggregationMethod
}
return ""
}
func (x *ScheduleBisectRequest) GetStoryTags() string {
if x != nil {
return x.StoryTags
}
return ""
}
func (x *ScheduleBisectRequest) GetInitialAttemptCount() string {
if x != nil {
return x.InitialAttemptCount
}
return ""
}
func (x *ScheduleBisectRequest) GetTags() string {
if x != nil {
return x.Tags
}
return ""
}
func (x *ScheduleBisectRequest) GetImprovementDirection() string {
if x != nil {
return x.ImprovementDirection
}
return ""
}
type QueryBisectRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *QueryBisectRequest) Reset() {
*x = QueryBisectRequest{}
mi := &file_service_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *QueryBisectRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryBisectRequest) ProtoMessage() {}
func (x *QueryBisectRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryBisectRequest.ProtoReflect.Descriptor instead.
func (*QueryBisectRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{1}
}
func (x *QueryBisectRequest) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
type CancelJobRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CancelJobRequest) Reset() {
*x = CancelJobRequest{}
mi := &file_service_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CancelJobRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CancelJobRequest) ProtoMessage() {}
func (x *CancelJobRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CancelJobRequest.ProtoReflect.Descriptor instead.
func (*CancelJobRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{2}
}
func (x *CancelJobRequest) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *CancelJobRequest) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
type CancelJobResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CancelJobResponse) Reset() {
*x = CancelJobResponse{}
mi := &file_service_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CancelJobResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CancelJobResponse) ProtoMessage() {}
func (x *CancelJobResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CancelJobResponse.ProtoReflect.Descriptor instead.
func (*CancelJobResponse) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{3}
}
func (x *CancelJobResponse) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *CancelJobResponse) GetState() string {
if x != nil {
return x.State
}
return ""
}
type Commit struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Git hash associated with the commit.
// For example, 78c32b04089226c7c0ca1edf6013cf10cc54f8eb.
GitHash string `protobuf:"bytes,1,opt,name=git_hash,json=gitHash,proto3" json:"git_hash,omitempty"`
// Formerly repository_url, the URL of the repository. Used as part of
// configuring a Git client for that repository.
// For example, https://chromium.googlesource.com/chromium/src.git
Repository string `protobuf:"bytes,2,opt,name=repository,proto3" json:"repository,omitempty"`
// The full URL to the commit, in the format of a Gitiles API
// ({repository}/+/{git_hash}).
// For example, https://chromium.googlesource.com/chromium/src.git+/
// 78c32b04089226c7c0ca1edf6013cf10cc54f8eb.
Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
// The author of the commit, as an email. Usually parsed from Git.
// For example, chrome@chromium.org.
Author string `protobuf:"bytes,4,opt,name=author,proto3" json:"author,omitempty"`
// Timestamp of the commit.
Created *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created,proto3" json:"created,omitempty"`
// Title of the commit message.
Subject string `protobuf:"bytes,6,opt,name=subject,proto3" json:"subject,omitempty"`
// The body of the commit message.
Message string `protobuf:"bytes,7,opt,name=message,proto3" json:"message,omitempty"`
// Branch that the commit is being made to. For example, refs/heads/main.
CommitBranch string `protobuf:"bytes,8,opt,name=commit_branch,json=commitBranch,proto3" json:"commit_branch,omitempty"`
// Commit position of the commit, usually parsed from the commit message.
// For example, if "Cr-Commit-Position: refs/heads/main@{#1418755}",
// position would be 1418755
CommitPosition int32 `protobuf:"varint,9,opt,name=commit_position,json=commitPosition,proto3" json:"commit_position,omitempty"`
// URL of the code review.
ReviewUrl string `protobuf:"bytes,10,opt,name=review_url,json=reviewUrl,proto3" json:"review_url,omitempty"`
// Change ID of the commit, usually parsed from the commit footer.
// For example, if "Change-Id: Ia1a8e2a86828267c9434d4e6dd776fc78086aef4",
// change_id = Ia1a8e2a86828267c9434d4e6dd776fc78086aef4.
ChangeId string `protobuf:"bytes,11,opt,name=change_id,json=changeId,proto3" json:"change_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Commit) Reset() {
*x = Commit{}
mi := &file_service_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Commit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Commit) ProtoMessage() {}
func (x *Commit) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Commit.ProtoReflect.Descriptor instead.
func (*Commit) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{4}
}
func (x *Commit) GetGitHash() string {
if x != nil {
return x.GitHash
}
return ""
}
func (x *Commit) GetRepository() string {
if x != nil {
return x.Repository
}
return ""
}
func (x *Commit) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Commit) GetAuthor() string {
if x != nil {
return x.Author
}
return ""
}
func (x *Commit) GetCreated() *timestamppb.Timestamp {
if x != nil {
return x.Created
}
return nil
}
func (x *Commit) GetSubject() string {
if x != nil {
return x.Subject
}
return ""
}
func (x *Commit) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *Commit) GetCommitBranch() string {
if x != nil {
return x.CommitBranch
}
return ""
}
func (x *Commit) GetCommitPosition() int32 {
if x != nil {
return x.CommitPosition
}
return 0
}
func (x *Commit) GetReviewUrl() string {
if x != nil {
return x.ReviewUrl
}
return ""
}
func (x *Commit) GetChangeId() string {
if x != nil {
return x.ChangeId
}
return ""
}
// A commit definition used by Pinpoint that allows flexibility for modification
// on DEPS or patches.
type CombinedCommit struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The base commit to build off of, usually a Chromium commit.
Main *Commit `protobuf:"bytes,1,opt,name=main,proto3" json:"main,omitempty"`
// Any modifications to Git-based dependencies within a DEPS file.
ModifiedDeps []*Commit `protobuf:"bytes,2,rep,name=modified_deps,json=modifiedDeps,proto3" json:"modified_deps,omitempty"`
// A gerrit patch applied on to the main commit. This information is also
// used to add the results of a Pinpoint job as a comment.
Patch *proto.GerritChange `protobuf:"bytes,3,opt,name=patch,proto3" json:"patch,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CombinedCommit) Reset() {
*x = CombinedCommit{}
mi := &file_service_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CombinedCommit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CombinedCommit) ProtoMessage() {}
func (x *CombinedCommit) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CombinedCommit.ProtoReflect.Descriptor instead.
func (*CombinedCommit) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{5}
}
func (x *CombinedCommit) GetMain() *Commit {
if x != nil {
return x.Main
}
return nil
}
func (x *CombinedCommit) GetModifiedDeps() []*Commit {
if x != nil {
return x.ModifiedDeps
}
return nil
}
func (x *CombinedCommit) GetPatch() *proto.GerritChange {
if x != nil {
return x.Patch
}
return nil
}
// Culprit contains the culprit commit and also the commit prior to the culprit.
// Culprit verification needs to verify there is a real regression between the culprit
// the the prior commit (A-1 vs A). Bisection writes this information as part of the
// culprit finder workflow.
type Culprit struct {
state protoimpl.MessageState `protogen:"open.v1"`
Prior *CombinedCommit `protobuf:"bytes,1,opt,name=prior,proto3" json:"prior,omitempty"` // the commit prior to the culprit
Culprit *CombinedCommit `protobuf:"bytes,2,opt,name=culprit,proto3" json:"culprit,omitempty"` // the culprit commit
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Culprit) Reset() {
*x = Culprit{}
mi := &file_service_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Culprit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Culprit) ProtoMessage() {}
func (x *Culprit) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Culprit.ProtoReflect.Descriptor instead.
func (*Culprit) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{6}
}
func (x *Culprit) GetPrior() *CombinedCommit {
if x != nil {
return x.Prior
}
return nil
}
func (x *Culprit) GetCulprit() *CombinedCommit {
if x != nil {
return x.Culprit
}
return nil
}
// CASReference is the address to objects stored in Content-Addressable Storage (CAS)
// CAS content in Pinpoint includes build isolates and benchmark results. Build
// isolates can be used as the input to a Pinpoint job.
// Copied from the swarming v2 proto definitions at:
// https://chromium.googlesource.com/infra/luci/luci-go/+/refs/heads/main/swarming/proto/
// api_v2/swarming.proto#275
type CASReference struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Full name of RBE-CAS instance. `projects/{project_id}/instances/{instance}`.
// For Chrome, this is typically projects/chromium-swarm/instances/default_instance
CasInstance string `protobuf:"bytes,1,opt,name=cas_instance,json=casInstance,proto3" json:"cas_instance,omitempty"`
Digest *CASReference_Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CASReference) Reset() {
*x = CASReference{}
mi := &file_service_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CASReference) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CASReference) ProtoMessage() {}
func (x *CASReference) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CASReference.ProtoReflect.Descriptor instead.
func (*CASReference) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{7}
}
func (x *CASReference) GetCasInstance() string {
if x != nil {
return x.CasInstance
}
return ""
}
func (x *CASReference) GetDigest() *CASReference_Digest {
if x != nil {
return x.Digest
}
return nil
}
type SwarmingTaskStatus struct {
state protoimpl.MessageState `protogen:"open.v1"`
// the swarming TaskID for debugging
TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// the swarming status of the task
Status SwarmingStatus `protobuf:"varint,2,opt,name=status,proto3,enum=pinpoint.v1.SwarmingStatus" json:"status,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SwarmingTaskStatus) Reset() {
*x = SwarmingTaskStatus{}
mi := &file_service_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SwarmingTaskStatus) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SwarmingTaskStatus) ProtoMessage() {}
func (x *SwarmingTaskStatus) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SwarmingTaskStatus.ProtoReflect.Descriptor instead.
func (*SwarmingTaskStatus) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{8}
}
func (x *SwarmingTaskStatus) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *SwarmingTaskStatus) GetStatus() SwarmingStatus {
if x != nil {
return x.Status
}
return SwarmingStatus_UNSPECIFIED
}
type BisectExecution struct {
state protoimpl.MessageState `protogen:"open.v1"`
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
// TODO(b/322203189): replace this with detailed_culprit. This field is used by the
// catapult bisect UI write.
Culprits []*CombinedCommit `protobuf:"bytes,2,rep,name=culprits,proto3" json:"culprits,omitempty"`
// Although this field is used only in culprit verification, bisection needs to pass
// the commit prior to the culprit to the culprit verification step.
DetailedCulprits []*Culprit `protobuf:"bytes,3,rep,name=detailed_culprits,json=detailedCulprits,proto3" json:"detailed_culprits,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *BisectExecution) Reset() {
*x = BisectExecution{}
mi := &file_service_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *BisectExecution) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BisectExecution) ProtoMessage() {}
func (x *BisectExecution) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BisectExecution.ProtoReflect.Descriptor instead.
func (*BisectExecution) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{9}
}
func (x *BisectExecution) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *BisectExecution) GetCulprits() []*CombinedCommit {
if x != nil {
return x.Culprits
}
return nil
}
func (x *BisectExecution) GetDetailedCulprits() []*Culprit {
if x != nil {
return x.DetailedCulprits
}
return nil
}
// SchedulePairwiseRequest contains the input to schedule a pairwise job used
// in regression and culprit verification. This request uses a subset of the params
// used in Pinpoint try jobs. Pairwise can check for regressions between two commits
// that are located in repos outside of chromium/src. This use case is particularly
// important for verifying culprits that are located in DEPS rolls.
//
// The params used are defined here:
// https://source.chromium.org/chromium/chromium/src/+/main:third_party/catapult/dashboard/
// dashboard/services/workflow_service.py;drc=2b42d43ff4989182d28de40ad4ed0dc82356c0f7;l=35
// The params are defined based off of the keys used in catapult.
// TODO(b/346836299): Add user-facing try job request params to this request.
// i.e. extra-browser-args
type SchedulePairwiseRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The start and end git hashes. See start_build and end_build as alternative inputs.
StartCommit *CombinedCommit `protobuf:"bytes,1,opt,name=start_commit,json=startCommit,proto3" json:"start_commit,omitempty"`
EndCommit *CombinedCommit `protobuf:"bytes,2,opt,name=end_commit,json=endCommit,proto3" json:"end_commit,omitempty"`
// The builder/bot configuration name, this usually specifies the builder that can trigger
// the build.
Configuration string `protobuf:"bytes,3,opt,name=configuration,json=bot_name,proto3" json:"configuration,omitempty"`
// The Chrome perf benchmark test target.
Benchmark string `protobuf:"bytes,4,opt,name=benchmark,proto3" json:"benchmark,omitempty"`
// https://chromium.googlesource.com/catapult.git/+/e8367e6/telemetry
// The story is usually a test case that runs a set of actions in a certain scenario, and
// collects performance histogram data to analyze.
// Users can run jobs with either story, story tags, or both story and story tags.
Story string `protobuf:"bytes,5,opt,name=story,proto3" json:"story,omitempty"`
// DEPRECATED. Chart is not used in the legacy Pinpoint. This field
// was originally here to support the regression and culprit verification
// workflows.
Chart string `protobuf:"bytes,6,opt,name=chart,json=measurement,proto3" json:"chart,omitempty"`
// The mechanism in which benchmark measurements are aggregated by.
// One of sum, mean, min, max count, and std. If left blank, then
// no aggregation takes place and all of the raw values will be used.
AggregationMethod string `protobuf:"bytes,7,opt,name=aggregation_method,json=aggregationMethod,proto3" json:"aggregation_method,omitempty"`
Target string `protobuf:"bytes,8,opt,name=target,proto3" json:"target,omitempty"` // probably unnecessary, we can infer this
// The Monorail project ID.
Project string `protobuf:"bytes,9,opt,name=project,proto3" json:"project,omitempty"`
// The buganizer issue id number to post updates to.
BugId string `protobuf:"bytes,10,opt,name=bug_id,json=bugId,proto3" json:"bug_id,omitempty"`
// The minimum number of test iterations run. Default is 30
InitialAttemptCount string `protobuf:"bytes,11,opt,name=initial_attempt_count,json=initialAttemptCount,proto3" json:"initial_attempt_count,omitempty"`
// The improvement direction of the measurement.
// Is either Up, Down, or Unknown.
ImprovementDirection string `protobuf:"bytes,12,opt,name=improvement_direction,json=improvement_dir,proto3" json:"improvement_direction,omitempty"`
// Rather than input a start and end commit, a user can feed a completed
// build isolate directly to Pinpoint with the CAS address.
StartBuild *CASReference `protobuf:"bytes,13,opt,name=start_build,json=startBuild,proto3" json:"start_build,omitempty"`
EndBuild *CASReference `protobuf:"bytes,14,opt,name=end_build,json=endBuild,proto3" json:"end_build,omitempty"`
// StoryTags is a comma delimited string of tags to pass for the story.
// For example, "all", "representative_win_desktop" or "2019,2018".
// Users can run jobs with either story, story tags, or both story and story tags.
StoryTags string `protobuf:"bytes,15,opt,name=story_tags,json=storyTags,proto3" json:"story_tags,omitempty"`
// The user email who triggers the job.
UserEmail string `protobuf:"bytes,16,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"`
// The name for a Pinpoint job specified by the user.
JobName string `protobuf:"bytes,17,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SchedulePairwiseRequest) Reset() {
*x = SchedulePairwiseRequest{}
mi := &file_service_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SchedulePairwiseRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulePairwiseRequest) ProtoMessage() {}
func (x *SchedulePairwiseRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulePairwiseRequest.ProtoReflect.Descriptor instead.
func (*SchedulePairwiseRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{10}
}
func (x *SchedulePairwiseRequest) GetStartCommit() *CombinedCommit {
if x != nil {
return x.StartCommit
}
return nil
}
func (x *SchedulePairwiseRequest) GetEndCommit() *CombinedCommit {
if x != nil {
return x.EndCommit
}
return nil
}
func (x *SchedulePairwiseRequest) GetConfiguration() string {
if x != nil {
return x.Configuration
}
return ""
}
func (x *SchedulePairwiseRequest) GetBenchmark() string {
if x != nil {
return x.Benchmark
}
return ""
}
func (x *SchedulePairwiseRequest) GetStory() string {
if x != nil {
return x.Story
}
return ""
}
func (x *SchedulePairwiseRequest) GetChart() string {
if x != nil {
return x.Chart
}
return ""
}
func (x *SchedulePairwiseRequest) GetAggregationMethod() string {
if x != nil {
return x.AggregationMethod
}
return ""
}
func (x *SchedulePairwiseRequest) GetTarget() string {
if x != nil {
return x.Target
}
return ""
}
func (x *SchedulePairwiseRequest) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *SchedulePairwiseRequest) GetBugId() string {
if x != nil {
return x.BugId
}
return ""
}
func (x *SchedulePairwiseRequest) GetInitialAttemptCount() string {
if x != nil {
return x.InitialAttemptCount
}
return ""
}
func (x *SchedulePairwiseRequest) GetImprovementDirection() string {
if x != nil {
return x.ImprovementDirection
}
return ""
}
func (x *SchedulePairwiseRequest) GetStartBuild() *CASReference {
if x != nil {
return x.StartBuild
}
return nil
}
func (x *SchedulePairwiseRequest) GetEndBuild() *CASReference {
if x != nil {
return x.EndBuild
}
return nil
}
func (x *SchedulePairwiseRequest) GetStoryTags() string {
if x != nil {
return x.StoryTags
}
return ""
}
func (x *SchedulePairwiseRequest) GetUserEmail() string {
if x != nil {
return x.UserEmail
}
return ""
}
func (x *SchedulePairwiseRequest) GetJobName() string {
if x != nil {
return x.JobName
}
return ""
}
type QueryPairwiseRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Job (Workflow) ID of the Pairwise run.
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *QueryPairwiseRequest) Reset() {
*x = QueryPairwiseRequest{}
mi := &file_service_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *QueryPairwiseRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryPairwiseRequest) ProtoMessage() {}
func (x *QueryPairwiseRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryPairwiseRequest.ProtoReflect.Descriptor instead.
func (*QueryPairwiseRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{11}
}
func (x *QueryPairwiseRequest) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
type QueryPairwiseResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Status of the Pairwise Workflow Run.
Status PairwiseJobStatus `protobuf:"varint,1,opt,name=status,proto3,enum=pinpoint.v1.PairwiseJobStatus" json:"status,omitempty"`
// Execution results, will be properly populated only if status is COMPLETED.
// Otherwise, should be set to nil.
Execution *PairwiseExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *QueryPairwiseResponse) Reset() {
*x = QueryPairwiseResponse{}
mi := &file_service_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *QueryPairwiseResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryPairwiseResponse) ProtoMessage() {}
func (x *QueryPairwiseResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryPairwiseResponse.ProtoReflect.Descriptor instead.
func (*QueryPairwiseResponse) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{12}
}
func (x *QueryPairwiseResponse) GetStatus() PairwiseJobStatus {
if x != nil {
return x.Status
}
return PairwiseJobStatus_PAIRWISE_JOB_STATUS_UNSPECIFIED
}
func (x *QueryPairwiseResponse) GetExecution() *PairwiseExecution {
if x != nil {
return x.Execution
}
return nil
}
type PairwiseExecution struct {
state protoimpl.MessageState `protogen:"open.v1"`
JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
// The Wilcoxon statistical result of every single chart
Results map[string]*PairwiseExecution_WilcoxonResult `protobuf:"bytes,5,rep,name=results,proto3" json:"results,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
LeftSwarmingStatus []*SwarmingTaskStatus `protobuf:"bytes,6,rep,name=left_swarming_status,json=leftSwarmingStatus,proto3" json:"left_swarming_status,omitempty"`
RightSwarmingStatus []*SwarmingTaskStatus `protobuf:"bytes,7,rep,name=right_swarming_status,json=rightSwarmingStatus,proto3" json:"right_swarming_status,omitempty"`
// The culprit_candidate is the right commit (aka experiment/treatment commit)
// and is only returned for culprit verification jobs.
CulpritCandidate *CombinedCommit `protobuf:"bytes,8,opt,name=culprit_candidate,json=culpritCandidate,proto3" json:"culprit_candidate,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PairwiseExecution) Reset() {
*x = PairwiseExecution{}
mi := &file_service_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PairwiseExecution) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PairwiseExecution) ProtoMessage() {}
func (x *PairwiseExecution) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PairwiseExecution.ProtoReflect.Descriptor instead.
func (*PairwiseExecution) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{13}
}
func (x *PairwiseExecution) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *PairwiseExecution) GetResults() map[string]*PairwiseExecution_WilcoxonResult {
if x != nil {
return x.Results
}
return nil
}
func (x *PairwiseExecution) GetLeftSwarmingStatus() []*SwarmingTaskStatus {
if x != nil {
return x.LeftSwarmingStatus
}
return nil
}
func (x *PairwiseExecution) GetRightSwarmingStatus() []*SwarmingTaskStatus {
if x != nil {
return x.RightSwarmingStatus
}
return nil
}
func (x *PairwiseExecution) GetCulpritCandidate() *CombinedCommit {
if x != nil {
return x.CulpritCandidate
}
return nil
}
// ScheduleCulpritFinderRequest contains the input to schedule an E2E anomaly to culprits
// workflow. This workflow consists of a regression verification step, a bisection to find
// culprits, and a culprit verification step.
// This workflow is also known as the sandwich verification workflow.
// This workflow assumes that the culprit is detected on chromium/src and does not
// support start and end git hashes on other repos.
type ScheduleCulpritFinderRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
StartGitHash string `protobuf:"bytes,1,opt,name=start_git_hash,json=startGitHash,proto3" json:"start_git_hash,omitempty"`
EndGitHash string `protobuf:"bytes,2,opt,name=end_git_hash,json=endGitHash,proto3" json:"end_git_hash,omitempty"`
// The builder/bot configuration name.
Configuration string `protobuf:"bytes,3,opt,name=configuration,json=bot_name,proto3" json:"configuration,omitempty"`
// The Chrome perf benchmark test target.
Benchmark string `protobuf:"bytes,4,opt,name=benchmark,proto3" json:"benchmark,omitempty"`
// https://chromium.googlesource.com/catapult.git/+/e8367e6/telemetry
// The story is usually a test case that runs a set of actions in a certain scenario, and
// collects performance histogram data to analyze.
Story string `protobuf:"bytes,5,opt,name=story,proto3" json:"story,omitempty"`
Chart string `protobuf:"bytes,6,opt,name=chart,json=measurement,proto3" json:"chart,omitempty"`
// The statistic, if there is one, aggregates measurement values into a single data point.
// TODO(b/322202740) This field is used by catapult and should eventually be deprecated.
// Use aggregation_method instead.
Statistic string `protobuf:"bytes,7,opt,name=statistic,proto3" json:"statistic,omitempty"`
// The mechanism in which benchmark measurements are aggregated by.
// One of sum, mean, min, max count, and std. If left blank, then
// no aggregation takes place and all of the raw values will be used.
AggregationMethod string `protobuf:"bytes,8,opt,name=aggregation_method,json=aggregationMethod,proto3" json:"aggregation_method,omitempty"`
// The improvement direction of the measurement.
// Is either Up, Down, or Unknown.
ImprovementDirection string `protobuf:"bytes,9,opt,name=improvement_direction,json=improvement_dir,proto3" json:"improvement_direction,omitempty"`
// The comparison magnitude is the expected absolute difference of a potential regression.
// This parameter is used in bisection.
ComparisonMagnitude string `protobuf:"bytes,10,opt,name=comparison_magnitude,json=comparisonMagnitude,proto3" json:"comparison_magnitude,omitempty"`
// The buganizer issue id number to post updates to. This is a legacy feature.
BugId string `protobuf:"bytes,11,opt,name=bug_id,json=bugId,proto3" json:"bug_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ScheduleCulpritFinderRequest) Reset() {
*x = ScheduleCulpritFinderRequest{}
mi := &file_service_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ScheduleCulpritFinderRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleCulpritFinderRequest) ProtoMessage() {}
func (x *ScheduleCulpritFinderRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScheduleCulpritFinderRequest.ProtoReflect.Descriptor instead.
func (*ScheduleCulpritFinderRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{14}
}
func (x *ScheduleCulpritFinderRequest) GetStartGitHash() string {
if x != nil {
return x.StartGitHash
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetEndGitHash() string {
if x != nil {
return x.EndGitHash
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetConfiguration() string {
if x != nil {
return x.Configuration
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetBenchmark() string {
if x != nil {
return x.Benchmark
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetStory() string {
if x != nil {
return x.Story
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetChart() string {
if x != nil {
return x.Chart
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetStatistic() string {
if x != nil {
return x.Statistic
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetAggregationMethod() string {
if x != nil {
return x.AggregationMethod
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetImprovementDirection() string {
if x != nil {
return x.ImprovementDirection
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetComparisonMagnitude() string {
if x != nil {
return x.ComparisonMagnitude
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetBugId() string {
if x != nil {
return x.BugId
}
return ""
}
// When the culprit finding workflow finds one or more culprits, it will invoke
// the ProcessCulpritWorkflow using the params below
type CulpritProcessingCallbackParams struct {
state protoimpl.MessageState `protogen:"open.v1"`
// AnomalyGroupID is a string ID of the anomaly group for which an auto-bisection
// task is created.
AnomalyGroupId string `protobuf:"bytes,1,opt,name=anomaly_group_id,json=anomalyGroupId,proto3" json:"anomaly_group_id,omitempty"`
// CulpritServiceUrl is a URL to call the culprit services.
CulpritServiceUrl string `protobuf:"bytes,2,opt,name=culprit_service_url,json=culpritServiceUrl,proto3" json:"culprit_service_url,omitempty"`
// Temporal task queue is where the culprit processing workflow should be put.
TemporalTaskQueueName string `protobuf:"bytes,3,opt,name=temporal_task_queue_name,json=temporalTaskQueueName,proto3" json:"temporal_task_queue_name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CulpritProcessingCallbackParams) Reset() {
*x = CulpritProcessingCallbackParams{}
mi := &file_service_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CulpritProcessingCallbackParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CulpritProcessingCallbackParams) ProtoMessage() {}
func (x *CulpritProcessingCallbackParams) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CulpritProcessingCallbackParams.ProtoReflect.Descriptor instead.
func (*CulpritProcessingCallbackParams) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{15}
}
func (x *CulpritProcessingCallbackParams) GetAnomalyGroupId() string {
if x != nil {
return x.AnomalyGroupId
}
return ""
}
func (x *CulpritProcessingCallbackParams) GetCulpritServiceUrl() string {
if x != nil {
return x.CulpritServiceUrl
}
return ""
}
func (x *CulpritProcessingCallbackParams) GetTemporalTaskQueueName() string {
if x != nil {
return x.TemporalTaskQueueName
}
return ""
}
type CulpritFinderExecution struct {
state protoimpl.MessageState `protogen:"open.v1"`
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
// If true, regression_verified means there is a regression
RegressionVerified bool `protobuf:"varint,2,opt,name=regression_verified,json=regressionVerified,proto3" json:"regression_verified,omitempty"`
Culprits []*CombinedCommit `protobuf:"bytes,3,rep,name=culprits,proto3" json:"culprits,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CulpritFinderExecution) Reset() {
*x = CulpritFinderExecution{}
mi := &file_service_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CulpritFinderExecution) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CulpritFinderExecution) ProtoMessage() {}
func (x *CulpritFinderExecution) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CulpritFinderExecution.ProtoReflect.Descriptor instead.
func (*CulpritFinderExecution) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{16}
}
func (x *CulpritFinderExecution) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *CulpritFinderExecution) GetRegressionVerified() bool {
if x != nil {
return x.RegressionVerified
}
return false
}
func (x *CulpritFinderExecution) GetCulprits() []*CombinedCommit {
if x != nil {
return x.Culprits
}
return nil
}
// See LegacyJobResponse below
type LegacyJobRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LegacyJobRequest) Reset() {
*x = LegacyJobRequest{}
mi := &file_service_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LegacyJobRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobRequest) ProtoMessage() {}
func (x *LegacyJobRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobRequest.ProtoReflect.Descriptor instead.
func (*LegacyJobRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{17}
}
func (x *LegacyJobRequest) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
// This is a direct mapping from /api/job in catapult.
//
// This is backward compatible support before the service in catapult is completely shut down.
// Note that there is not schema definition so the output structure is more or less
// a guess from the response. Example output:
// https://pinpoint-dot-chromeperf.appspot.com/api/job/102beaa5ee0000?o=STATE&?o=ESTIMATE
type LegacyJobResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
Configuration string `protobuf:"bytes,2,opt,name=configuration,proto3" json:"configuration,omitempty"`
ResultsUrl string `protobuf:"bytes,3,opt,name=results_url,json=resultsUrl,proto3" json:"results_url,omitempty"`
ImprovementDirection int32 `protobuf:"varint,4,opt,name=improvement_direction,json=improvementDirection,proto3" json:"improvement_direction,omitempty"`
Arguments *LegacyJobResponse_Argument `protobuf:"bytes,5,opt,name=arguments,proto3" json:"arguments,omitempty"`
BugId string `protobuf:"bytes,6,opt,name=bug_id,json=bugId,proto3" json:"bug_id,omitempty"`
Project string `protobuf:"bytes,7,opt,name=project,proto3" json:"project,omitempty"`
ComparisonMode string `protobuf:"bytes,8,opt,name=comparison_mode,json=comparisonMode,proto3" json:"comparison_mode,omitempty"`
Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
User string `protobuf:"bytes,10,opt,name=user,proto3" json:"user,omitempty"`
Created *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=created,proto3" json:"created,omitempty"`
Updated *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=updated,proto3" json:"updated,omitempty"`
StartedTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=started_time,json=startedTime,proto3" json:"started_time,omitempty"`
DifferenceCount int32 `protobuf:"varint,14,opt,name=difference_count,json=differenceCount,proto3" json:"difference_count,omitempty"`
Exception string `protobuf:"bytes,15,opt,name=exception,proto3" json:"exception,omitempty"`
Status string `protobuf:"bytes,16,opt,name=status,proto3" json:"status,omitempty"`
CancelReason string `protobuf:"bytes,17,opt,name=cancel_reason,json=cancelReason,proto3" json:"cancel_reason,omitempty"`
BatchId string `protobuf:"bytes,18,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"`
Bots []string `protobuf:"bytes,19,rep,name=bots,proto3" json:"bots,omitempty"`
Metric string `protobuf:"bytes,20,opt,name=metric,proto3" json:"metric,omitempty"`
Quests []string `protobuf:"bytes,21,rep,name=quests,proto3" json:"quests,omitempty"`
State []*LegacyJobResponse_State `protobuf:"bytes,22,rep,name=state,proto3" json:"state,omitempty"`
SkiaWorkflowUrl string `protobuf:"bytes,23,opt,name=skia_workflow_url,json=skiaWorkflowUrl,proto3" json:"skia_workflow_url,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LegacyJobResponse) Reset() {
*x = LegacyJobResponse{}
mi := &file_service_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LegacyJobResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse) ProtoMessage() {}
func (x *LegacyJobResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{18}
}
func (x *LegacyJobResponse) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *LegacyJobResponse) GetConfiguration() string {
if x != nil {
return x.Configuration
}
return ""
}
func (x *LegacyJobResponse) GetResultsUrl() string {
if x != nil {
return x.ResultsUrl
}
return ""
}
func (x *LegacyJobResponse) GetImprovementDirection() int32 {
if x != nil {
return x.ImprovementDirection
}
return 0
}
func (x *LegacyJobResponse) GetArguments() *LegacyJobResponse_Argument {
if x != nil {
return x.Arguments
}
return nil
}
func (x *LegacyJobResponse) GetBugId() string {
if x != nil {
return x.BugId
}
return ""
}
func (x *LegacyJobResponse) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *LegacyJobResponse) GetComparisonMode() string {
if x != nil {
return x.ComparisonMode
}
return ""
}
func (x *LegacyJobResponse) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *LegacyJobResponse) GetUser() string {
if x != nil {
return x.User
}
return ""
}
func (x *LegacyJobResponse) GetCreated() *timestamppb.Timestamp {
if x != nil {
return x.Created
}
return nil
}
func (x *LegacyJobResponse) GetUpdated() *timestamppb.Timestamp {
if x != nil {
return x.Updated
}
return nil
}
func (x *LegacyJobResponse) GetStartedTime() *timestamppb.Timestamp {
if x != nil {
return x.StartedTime
}
return nil
}
func (x *LegacyJobResponse) GetDifferenceCount() int32 {
if x != nil {
return x.DifferenceCount
}
return 0
}
func (x *LegacyJobResponse) GetException() string {
if x != nil {
return x.Exception
}
return ""
}
func (x *LegacyJobResponse) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *LegacyJobResponse) GetCancelReason() string {
if x != nil {
return x.CancelReason
}
return ""
}
func (x *LegacyJobResponse) GetBatchId() string {
if x != nil {
return x.BatchId
}
return ""
}
func (x *LegacyJobResponse) GetBots() []string {
if x != nil {
return x.Bots
}
return nil
}
func (x *LegacyJobResponse) GetMetric() string {
if x != nil {
return x.Metric
}
return ""
}
func (x *LegacyJobResponse) GetQuests() []string {
if x != nil {
return x.Quests
}
return nil
}
func (x *LegacyJobResponse) GetState() []*LegacyJobResponse_State {
if x != nil {
return x.State
}
return nil
}
func (x *LegacyJobResponse) GetSkiaWorkflowUrl() string {
if x != nil {
return x.SkiaWorkflowUrl
}
return ""
}
// CASDigest is the directory where the content is stored within the instance
// CAS Digest consists of hash and size bytes.
type CASReference_Digest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
SizeBytes int64 `protobuf:"varint,2,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CASReference_Digest) Reset() {
*x = CASReference_Digest{}
mi := &file_service_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CASReference_Digest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CASReference_Digest) ProtoMessage() {}
func (x *CASReference_Digest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CASReference_Digest.ProtoReflect.Descriptor instead.
func (*CASReference_Digest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{7, 0}
}
func (x *CASReference_Digest) GetHash() string {
if x != nil {
return x.Hash
}
return ""
}
func (x *CASReference_Digest) GetSizeBytes() int64 {
if x != nil {
return x.SizeBytes
}
return 0
}
type PairwiseExecution_WilcoxonResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
PValue float64 `protobuf:"fixed64,1,opt,name=p_value,json=pValue,proto3" json:"p_value,omitempty"`
ConfidenceIntervalLower float64 `protobuf:"fixed64,2,opt,name=confidence_interval_lower,json=confidenceIntervalLower,proto3" json:"confidence_interval_lower,omitempty"`
ConfidenceIntervalHigher float64 `protobuf:"fixed64,3,opt,name=confidence_interval_higher,json=confidenceIntervalHigher,proto3" json:"confidence_interval_higher,omitempty"`
ControlMedian float64 `protobuf:"fixed64,4,opt,name=control_median,json=controlMedian,proto3" json:"control_median,omitempty"`
TreatmentMedian float64 `protobuf:"fixed64,5,opt,name=treatment_median,json=treatmentMedian,proto3" json:"treatment_median,omitempty"`
Significant bool `protobuf:"varint,6,opt,name=significant,proto3" json:"significant,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PairwiseExecution_WilcoxonResult) Reset() {
*x = PairwiseExecution_WilcoxonResult{}
mi := &file_service_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PairwiseExecution_WilcoxonResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PairwiseExecution_WilcoxonResult) ProtoMessage() {}
func (x *PairwiseExecution_WilcoxonResult) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PairwiseExecution_WilcoxonResult.ProtoReflect.Descriptor instead.
func (*PairwiseExecution_WilcoxonResult) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{13, 0}
}
func (x *PairwiseExecution_WilcoxonResult) GetPValue() float64 {
if x != nil {
return x.PValue
}
return 0
}
func (x *PairwiseExecution_WilcoxonResult) GetConfidenceIntervalLower() float64 {
if x != nil {
return x.ConfidenceIntervalLower
}
return 0
}
func (x *PairwiseExecution_WilcoxonResult) GetConfidenceIntervalHigher() float64 {
if x != nil {
return x.ConfidenceIntervalHigher
}
return 0
}
func (x *PairwiseExecution_WilcoxonResult) GetControlMedian() float64 {
if x != nil {
return x.ControlMedian
}
return 0
}
func (x *PairwiseExecution_WilcoxonResult) GetTreatmentMedian() float64 {
if x != nil {
return x.TreatmentMedian
}
return 0
}
func (x *PairwiseExecution_WilcoxonResult) GetSignificant() bool {
if x != nil {
return x.Significant
}
return false
}
type LegacyJobResponse_Argument struct {
state protoimpl.MessageState `protogen:"open.v1"`
ComparisonMode string `protobuf:"bytes,1,opt,name=comparison_mode,json=comparisonMode,proto3" json:"comparison_mode,omitempty"`
Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
StartGitHash string `protobuf:"bytes,3,opt,name=start_git_hash,json=startGitHash,proto3" json:"start_git_hash,omitempty"`
EndGitHash string `protobuf:"bytes,4,opt,name=end_git_hash,json=endGitHash,proto3" json:"end_git_hash,omitempty"`
Trace string `protobuf:"bytes,5,opt,name=trace,proto3" json:"trace,omitempty"`
Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
InitialAttemptCount int32 `protobuf:"varint,7,opt,name=initial_attempt_count,json=initialAttemptCount,proto3" json:"initial_attempt_count,omitempty"`
Configuration string `protobuf:"bytes,8,opt,name=configuration,proto3" json:"configuration,omitempty"`
Benchmark string `protobuf:"bytes,9,opt,name=benchmark,proto3" json:"benchmark,omitempty"`
Story string `protobuf:"bytes,10,opt,name=story,proto3" json:"story,omitempty"`
StoryTags string `protobuf:"bytes,11,opt,name=story_tags,json=storyTags,proto3" json:"story_tags,omitempty"`
Chart string `protobuf:"bytes,12,opt,name=chart,proto3" json:"chart,omitempty"`
Statistic string `protobuf:"bytes,13,opt,name=statistic,proto3" json:"statistic,omitempty"`
ComparisonMagnitude float64 `protobuf:"fixed64,14,opt,name=comparison_magnitude,json=comparisonMagnitude,proto3" json:"comparison_magnitude,omitempty"`
ExtraTestArgs string `protobuf:"bytes,15,opt,name=extra_test_args,json=extraTestArgs,proto3" json:"extra_test_args,omitempty"`
Pin string `protobuf:"bytes,16,opt,name=pin,proto3" json:"pin,omitempty"`
Project string `protobuf:"bytes,17,opt,name=project,proto3" json:"project,omitempty"`
BugId string `protobuf:"bytes,18,opt,name=bug_id,json=bugId,proto3" json:"bug_id,omitempty"`
BatchId string `protobuf:"bytes,19,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LegacyJobResponse_Argument) Reset() {
*x = LegacyJobResponse_Argument{}
mi := &file_service_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LegacyJobResponse_Argument) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_Argument) ProtoMessage() {}
func (x *LegacyJobResponse_Argument) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_Argument.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_Argument) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{18, 0}
}
func (x *LegacyJobResponse_Argument) GetComparisonMode() string {
if x != nil {
return x.ComparisonMode
}
return ""
}
func (x *LegacyJobResponse_Argument) GetTarget() string {
if x != nil {
return x.Target
}
return ""
}
func (x *LegacyJobResponse_Argument) GetStartGitHash() string {
if x != nil {
return x.StartGitHash
}
return ""
}
func (x *LegacyJobResponse_Argument) GetEndGitHash() string {
if x != nil {
return x.EndGitHash
}
return ""
}
func (x *LegacyJobResponse_Argument) GetTrace() string {
if x != nil {
return x.Trace
}
return ""
}
func (x *LegacyJobResponse_Argument) GetTags() map[string]string {
if x != nil {
return x.Tags
}
return nil
}
func (x *LegacyJobResponse_Argument) GetInitialAttemptCount() int32 {
if x != nil {
return x.InitialAttemptCount
}
return 0
}
func (x *LegacyJobResponse_Argument) GetConfiguration() string {
if x != nil {
return x.Configuration
}
return ""
}
func (x *LegacyJobResponse_Argument) GetBenchmark() string {
if x != nil {
return x.Benchmark
}
return ""
}
func (x *LegacyJobResponse_Argument) GetStory() string {
if x != nil {
return x.Story
}
return ""
}
func (x *LegacyJobResponse_Argument) GetStoryTags() string {
if x != nil {
return x.StoryTags
}
return ""
}
func (x *LegacyJobResponse_Argument) GetChart() string {
if x != nil {
return x.Chart
}
return ""
}
func (x *LegacyJobResponse_Argument) GetStatistic() string {
if x != nil {
return x.Statistic
}
return ""
}
func (x *LegacyJobResponse_Argument) GetComparisonMagnitude() float64 {
if x != nil {
return x.ComparisonMagnitude
}
return 0
}
func (x *LegacyJobResponse_Argument) GetExtraTestArgs() string {
if x != nil {
return x.ExtraTestArgs
}
return ""
}
func (x *LegacyJobResponse_Argument) GetPin() string {
if x != nil {
return x.Pin
}
return ""
}
func (x *LegacyJobResponse_Argument) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *LegacyJobResponse_Argument) GetBugId() string {
if x != nil {
return x.BugId
}
return ""
}
func (x *LegacyJobResponse_Argument) GetBatchId() string {
if x != nil {
return x.BatchId
}
return ""
}
type LegacyJobResponse_State struct {
state protoimpl.MessageState `protogen:"open.v1"`
Change *LegacyJobResponse_State_Change `protobuf:"bytes,1,opt,name=change,proto3" json:"change,omitempty"`
Attempts []*LegacyJobResponse_State_Attempt `protobuf:"bytes,2,rep,name=attempts,proto3" json:"attempts,omitempty"`
Comparisons *LegacyJobResponse_State_Comparison `protobuf:"bytes,3,opt,name=comparisons,proto3" json:"comparisons,omitempty"`
Values []float64 `protobuf:"fixed64,4,rep,packed,name=values,proto3" json:"values,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LegacyJobResponse_State) Reset() {
*x = LegacyJobResponse_State{}
mi := &file_service_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LegacyJobResponse_State) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State) ProtoMessage() {}
func (x *LegacyJobResponse_State) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{18, 1}
}
func (x *LegacyJobResponse_State) GetChange() *LegacyJobResponse_State_Change {
if x != nil {
return x.Change
}
return nil
}
func (x *LegacyJobResponse_State) GetAttempts() []*LegacyJobResponse_State_Attempt {
if x != nil {
return x.Attempts
}
return nil
}
func (x *LegacyJobResponse_State) GetComparisons() *LegacyJobResponse_State_Comparison {
if x != nil {
return x.Comparisons
}
return nil
}
func (x *LegacyJobResponse_State) GetValues() []float64 {
if x != nil {
return x.Values
}
return nil
}
type LegacyJobResponse_State_Change struct {
state protoimpl.MessageState `protogen:"open.v1"`
Commits []*Commit `protobuf:"bytes,1,rep,name=commits,proto3" json:"commits,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LegacyJobResponse_State_Change) Reset() {
*x = LegacyJobResponse_State_Change{}
mi := &file_service_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LegacyJobResponse_State_Change) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State_Change) ProtoMessage() {}
func (x *LegacyJobResponse_State_Change) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State_Change.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State_Change) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{18, 1, 0}
}
func (x *LegacyJobResponse_State_Change) GetCommits() []*Commit {
if x != nil {
return x.Commits
}
return nil
}
type LegacyJobResponse_State_Attempt struct {
state protoimpl.MessageState `protogen:"open.v1"`
Executions []*LegacyJobResponse_State_Attempt_Execution `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"`
// This key is not actually supported by Catapult's response here, but
// the values of each attempt is needed to populate data back on the UI.
ResultValues []float64 `protobuf:"fixed64,2,rep,packed,name=result_values,json=resultValues,proto3" json:"result_values,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LegacyJobResponse_State_Attempt) Reset() {
*x = LegacyJobResponse_State_Attempt{}
mi := &file_service_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LegacyJobResponse_State_Attempt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State_Attempt) ProtoMessage() {}
func (x *LegacyJobResponse_State_Attempt) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State_Attempt.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State_Attempt) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{18, 1, 1}
}
func (x *LegacyJobResponse_State_Attempt) GetExecutions() []*LegacyJobResponse_State_Attempt_Execution {
if x != nil {
return x.Executions
}
return nil
}
func (x *LegacyJobResponse_State_Attempt) GetResultValues() []float64 {
if x != nil {
return x.ResultValues
}
return nil
}
type LegacyJobResponse_State_Comparison struct {
state protoimpl.MessageState `protogen:"open.v1"`
Next string `protobuf:"bytes,1,opt,name=next,proto3" json:"next,omitempty"`
Prev string `protobuf:"bytes,2,opt,name=prev,proto3" json:"prev,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LegacyJobResponse_State_Comparison) Reset() {
*x = LegacyJobResponse_State_Comparison{}
mi := &file_service_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LegacyJobResponse_State_Comparison) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State_Comparison) ProtoMessage() {}
func (x *LegacyJobResponse_State_Comparison) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State_Comparison.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State_Comparison) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{18, 1, 2}
}
func (x *LegacyJobResponse_State_Comparison) GetNext() string {
if x != nil {
return x.Next
}
return ""
}
func (x *LegacyJobResponse_State_Comparison) GetPrev() string {
if x != nil {
return x.Prev
}
return ""
}
type LegacyJobResponse_State_Attempt_Execution struct {
state protoimpl.MessageState `protogen:"open.v1"`
Completed bool `protobuf:"varint,1,opt,name=completed,proto3" json:"completed,omitempty"`
Exception string `protobuf:"bytes,2,opt,name=exception,proto3" json:"exception,omitempty"`
Details []*LegacyJobResponse_State_Attempt_Execution_Detail `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LegacyJobResponse_State_Attempt_Execution) Reset() {
*x = LegacyJobResponse_State_Attempt_Execution{}
mi := &file_service_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LegacyJobResponse_State_Attempt_Execution) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State_Attempt_Execution) ProtoMessage() {}
func (x *LegacyJobResponse_State_Attempt_Execution) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State_Attempt_Execution.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State_Attempt_Execution) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{18, 1, 1, 0}
}
func (x *LegacyJobResponse_State_Attempt_Execution) GetCompleted() bool {
if x != nil {
return x.Completed
}
return false
}
func (x *LegacyJobResponse_State_Attempt_Execution) GetException() string {
if x != nil {
return x.Exception
}
return ""
}
func (x *LegacyJobResponse_State_Attempt_Execution) GetDetails() []*LegacyJobResponse_State_Attempt_Execution_Detail {
if x != nil {
return x.Details
}
return nil
}
type LegacyJobResponse_State_Attempt_Execution_Detail struct {
state protoimpl.MessageState `protogen:"open.v1"`
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) Reset() {
*x = LegacyJobResponse_State_Attempt_Execution_Detail{}
mi := &file_service_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State_Attempt_Execution_Detail) ProtoMessage() {}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State_Attempt_Execution_Detail.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State_Attempt_Execution_Detail) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{18, 1, 1, 0, 0}
}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
var File_service_proto protoreflect.FileDescriptor
const file_service_proto_rawDesc = "" +
"\n" +
"\rservice.proto\x12\vpinpoint.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x18cabe/proto/v1/spec.proto\"\xeb\x04\n" +
"\x15ScheduleBisectRequest\x12'\n" +
"\x0fcomparison_mode\x18\x01 \x01(\tR\x0ecomparisonMode\x12$\n" +
"\x0estart_git_hash\x18\x02 \x01(\tR\fstartGitHash\x12 \n" +
"\fend_git_hash\x18\x03 \x01(\tR\n" +
"endGitHash\x12$\n" +
"\rconfiguration\x18\x04 \x01(\tR\rconfiguration\x12\x1c\n" +
"\tbenchmark\x18\x05 \x01(\tR\tbenchmark\x12\x14\n" +
"\x05story\x18\x06 \x01(\tR\x05story\x12\x14\n" +
"\x05chart\x18\a \x01(\tR\x05chart\x12\x1c\n" +
"\tstatistic\x18\b \x01(\tR\tstatistic\x121\n" +
"\x14comparison_magnitude\x18\t \x01(\tR\x13comparisonMagnitude\x12\x10\n" +
"\x03pin\x18\n" +
" \x01(\tR\x03pin\x12\x18\n" +
"\aproject\x18\v \x01(\tR\aproject\x12\x15\n" +
"\x06bug_id\x18\f \x01(\tR\x05bugId\x12\x12\n" +
"\x04user\x18\r \x01(\tR\x04user\x12-\n" +
"\x12aggregation_method\x18\x0e \x01(\tR\x11aggregationMethod\x12\x1d\n" +
"\n" +
"story_tags\x18\x0f \x01(\tR\tstoryTags\x122\n" +
"\x15initial_attempt_count\x18\x10 \x01(\tR\x13initialAttemptCount\x12\x12\n" +
"\x04tags\x18\x11 \x01(\tR\x04tags\x123\n" +
"\x15improvement_direction\x18\x12 \x01(\tR\x14improvementDirection\"+\n" +
"\x12QueryBisectRequest\x12\x15\n" +
"\x06job_id\x18\x01 \x01(\tR\x05jobId\"A\n" +
"\x10CancelJobRequest\x12\x15\n" +
"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x16\n" +
"\x06reason\x18\x02 \x01(\tR\x06reason\"@\n" +
"\x11CancelJobResponse\x12\x15\n" +
"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12\x14\n" +
"\x05state\x18\x02 \x01(\tR\x05state\"\xe1\x02\n" +
"\x06Commit\x12\x19\n" +
"\bgit_hash\x18\x01 \x01(\tR\agitHash\x12\x1e\n" +
"\n" +
"repository\x18\x02 \x01(\tR\n" +
"repository\x12\x10\n" +
"\x03url\x18\x03 \x01(\tR\x03url\x12\x16\n" +
"\x06author\x18\x04 \x01(\tR\x06author\x124\n" +
"\acreated\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\acreated\x12\x18\n" +
"\asubject\x18\x06 \x01(\tR\asubject\x12\x18\n" +
"\amessage\x18\a \x01(\tR\amessage\x12#\n" +
"\rcommit_branch\x18\b \x01(\tR\fcommitBranch\x12'\n" +
"\x0fcommit_position\x18\t \x01(\x05R\x0ecommitPosition\x12\x1d\n" +
"\n" +
"review_url\x18\n" +
" \x01(\tR\treviewUrl\x12\x1b\n" +
"\tchange_id\x18\v \x01(\tR\bchangeId\"\xa0\x01\n" +
"\x0eCombinedCommit\x12'\n" +
"\x04main\x18\x01 \x01(\v2\x13.pinpoint.v1.CommitR\x04main\x128\n" +
"\rmodified_deps\x18\x02 \x03(\v2\x13.pinpoint.v1.CommitR\fmodifiedDeps\x12+\n" +
"\x05patch\x18\x03 \x01(\v2\x15.cabe.v1.GerritChangeR\x05patch\"s\n" +
"\aCulprit\x121\n" +
"\x05prior\x18\x01 \x01(\v2\x1b.pinpoint.v1.CombinedCommitR\x05prior\x125\n" +
"\aculprit\x18\x02 \x01(\v2\x1b.pinpoint.v1.CombinedCommitR\aculprit\"\xa8\x01\n" +
"\fCASReference\x12!\n" +
"\fcas_instance\x18\x01 \x01(\tR\vcasInstance\x128\n" +
"\x06digest\x18\x02 \x01(\v2 .pinpoint.v1.CASReference.DigestR\x06digest\x1a;\n" +
"\x06Digest\x12\x12\n" +
"\x04hash\x18\x01 \x01(\tR\x04hash\x12\x1d\n" +
"\n" +
"size_bytes\x18\x02 \x01(\x03R\tsizeBytes\"b\n" +
"\x12SwarmingTaskStatus\x12\x17\n" +
"\atask_id\x18\x01 \x01(\tR\x06taskId\x123\n" +
"\x06status\x18\x02 \x01(\x0e2\x1b.pinpoint.v1.SwarmingStatusR\x06status\"\xa4\x01\n" +
"\x0fBisectExecution\x12\x15\n" +
"\x06job_id\x18\x01 \x01(\tR\x05jobId\x127\n" +
"\bculprits\x18\x02 \x03(\v2\x1b.pinpoint.v1.CombinedCommitR\bculprits\x12A\n" +
"\x11detailed_culprits\x18\x03 \x03(\v2\x14.pinpoint.v1.CulpritR\x10detailedCulprits\"\xaf\x05\n" +
"\x17SchedulePairwiseRequest\x12>\n" +
"\fstart_commit\x18\x01 \x01(\v2\x1b.pinpoint.v1.CombinedCommitR\vstartCommit\x12:\n" +
"\n" +
"end_commit\x18\x02 \x01(\v2\x1b.pinpoint.v1.CombinedCommitR\tendCommit\x12\x1f\n" +
"\rconfiguration\x18\x03 \x01(\tR\bbot_name\x12\x1c\n" +
"\tbenchmark\x18\x04 \x01(\tR\tbenchmark\x12\x14\n" +
"\x05story\x18\x05 \x01(\tR\x05story\x12\x1a\n" +
"\x05chart\x18\x06 \x01(\tR\vmeasurement\x12-\n" +
"\x12aggregation_method\x18\a \x01(\tR\x11aggregationMethod\x12\x16\n" +
"\x06target\x18\b \x01(\tR\x06target\x12\x18\n" +
"\aproject\x18\t \x01(\tR\aproject\x12\x15\n" +
"\x06bug_id\x18\n" +
" \x01(\tR\x05bugId\x122\n" +
"\x15initial_attempt_count\x18\v \x01(\tR\x13initialAttemptCount\x12.\n" +
"\x15improvement_direction\x18\f \x01(\tR\x0fimprovement_dir\x12:\n" +
"\vstart_build\x18\r \x01(\v2\x19.pinpoint.v1.CASReferenceR\n" +
"startBuild\x126\n" +
"\tend_build\x18\x0e \x01(\v2\x19.pinpoint.v1.CASReferenceR\bendBuild\x12\x1d\n" +
"\n" +
"story_tags\x18\x0f \x01(\tR\tstoryTags\x12\x1d\n" +
"\n" +
"user_email\x18\x10 \x01(\tR\tuserEmail\x12\x19\n" +
"\bjob_name\x18\x11 \x01(\tR\ajobName\"-\n" +
"\x14QueryPairwiseRequest\x12\x15\n" +
"\x06job_id\x18\x01 \x01(\tR\x05jobId\"\x8d\x01\n" +
"\x15QueryPairwiseResponse\x126\n" +
"\x06status\x18\x01 \x01(\x0e2\x1e.pinpoint.v1.PairwiseJobStatusR\x06status\x12<\n" +
"\texecution\x18\x02 \x01(\v2\x1e.pinpoint.v1.PairwiseExecutionR\texecution\"\xe8\x05\n" +
"\x11PairwiseExecution\x12\x15\n" +
"\x06job_id\x18\x02 \x01(\tR\x05jobId\x12E\n" +
"\aresults\x18\x05 \x03(\v2+.pinpoint.v1.PairwiseExecution.ResultsEntryR\aresults\x12Q\n" +
"\x14left_swarming_status\x18\x06 \x03(\v2\x1f.pinpoint.v1.SwarmingTaskStatusR\x12leftSwarmingStatus\x12S\n" +
"\x15right_swarming_status\x18\a \x03(\v2\x1f.pinpoint.v1.SwarmingTaskStatusR\x13rightSwarmingStatus\x12H\n" +
"\x11culprit_candidate\x18\b \x01(\v2\x1b.pinpoint.v1.CombinedCommitR\x10culpritCandidate\x1a\x97\x02\n" +
"\x0eWilcoxonResult\x12\x17\n" +
"\ap_value\x18\x01 \x01(\x01R\x06pValue\x12:\n" +
"\x19confidence_interval_lower\x18\x02 \x01(\x01R\x17confidenceIntervalLower\x12<\n" +
"\x1aconfidence_interval_higher\x18\x03 \x01(\x01R\x18confidenceIntervalHigher\x12%\n" +
"\x0econtrol_median\x18\x04 \x01(\x01R\rcontrolMedian\x12)\n" +
"\x10treatment_median\x18\x05 \x01(\x01R\x0ftreatmentMedian\x12 \n" +
"\vsignificant\x18\x06 \x01(\bR\vsignificant\x1ai\n" +
"\fResultsEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12C\n" +
"\x05value\x18\x02 \x01(\v2-.pinpoint.v1.PairwiseExecution.WilcoxonResultR\x05value:\x028\x01\"\x9e\x03\n" +
"\x1cScheduleCulpritFinderRequest\x12$\n" +
"\x0estart_git_hash\x18\x01 \x01(\tR\fstartGitHash\x12 \n" +
"\fend_git_hash\x18\x02 \x01(\tR\n" +
"endGitHash\x12\x1f\n" +
"\rconfiguration\x18\x03 \x01(\tR\bbot_name\x12\x1c\n" +
"\tbenchmark\x18\x04 \x01(\tR\tbenchmark\x12\x14\n" +
"\x05story\x18\x05 \x01(\tR\x05story\x12\x1a\n" +
"\x05chart\x18\x06 \x01(\tR\vmeasurement\x12\x1c\n" +
"\tstatistic\x18\a \x01(\tR\tstatistic\x12-\n" +
"\x12aggregation_method\x18\b \x01(\tR\x11aggregationMethod\x12.\n" +
"\x15improvement_direction\x18\t \x01(\tR\x0fimprovement_dir\x121\n" +
"\x14comparison_magnitude\x18\n" +
" \x01(\tR\x13comparisonMagnitude\x12\x15\n" +
"\x06bug_id\x18\v \x01(\tR\x05bugId\"\xb4\x01\n" +
"\x1fCulpritProcessingCallbackParams\x12(\n" +
"\x10anomaly_group_id\x18\x01 \x01(\tR\x0eanomalyGroupId\x12.\n" +
"\x13culprit_service_url\x18\x02 \x01(\tR\x11culpritServiceUrl\x127\n" +
"\x18temporal_task_queue_name\x18\x03 \x01(\tR\x15temporalTaskQueueName\"\x99\x01\n" +
"\x16CulpritFinderExecution\x12\x15\n" +
"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12/\n" +
"\x13regression_verified\x18\x02 \x01(\bR\x12regressionVerified\x127\n" +
"\bculprits\x18\x03 \x03(\v2\x1b.pinpoint.v1.CombinedCommitR\bculprits\")\n" +
"\x10LegacyJobRequest\x12\x15\n" +
"\x06job_id\x18\x01 \x01(\tR\x05jobId\"\x90\x12\n" +
"\x11LegacyJobResponse\x12\x15\n" +
"\x06job_id\x18\x01 \x01(\tR\x05jobId\x12$\n" +
"\rconfiguration\x18\x02 \x01(\tR\rconfiguration\x12\x1f\n" +
"\vresults_url\x18\x03 \x01(\tR\n" +
"resultsUrl\x123\n" +
"\x15improvement_direction\x18\x04 \x01(\x05R\x14improvementDirection\x12E\n" +
"\targuments\x18\x05 \x01(\v2'.pinpoint.v1.LegacyJobResponse.ArgumentR\targuments\x12\x15\n" +
"\x06bug_id\x18\x06 \x01(\tR\x05bugId\x12\x18\n" +
"\aproject\x18\a \x01(\tR\aproject\x12'\n" +
"\x0fcomparison_mode\x18\b \x01(\tR\x0ecomparisonMode\x12\x12\n" +
"\x04name\x18\t \x01(\tR\x04name\x12\x12\n" +
"\x04user\x18\n" +
" \x01(\tR\x04user\x124\n" +
"\acreated\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\acreated\x124\n" +
"\aupdated\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\aupdated\x12=\n" +
"\fstarted_time\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\vstartedTime\x12)\n" +
"\x10difference_count\x18\x0e \x01(\x05R\x0fdifferenceCount\x12\x1c\n" +
"\texception\x18\x0f \x01(\tR\texception\x12\x16\n" +
"\x06status\x18\x10 \x01(\tR\x06status\x12#\n" +
"\rcancel_reason\x18\x11 \x01(\tR\fcancelReason\x12\x19\n" +
"\bbatch_id\x18\x12 \x01(\tR\abatchId\x12\x12\n" +
"\x04bots\x18\x13 \x03(\tR\x04bots\x12\x16\n" +
"\x06metric\x18\x14 \x01(\tR\x06metric\x12\x16\n" +
"\x06quests\x18\x15 \x03(\tR\x06quests\x12:\n" +
"\x05state\x18\x16 \x03(\v2$.pinpoint.v1.LegacyJobResponse.StateR\x05state\x12*\n" +
"\x11skia_workflow_url\x18\x17 \x01(\tR\x0fskiaWorkflowUrl\x1a\xc3\x05\n" +
"\bArgument\x12'\n" +
"\x0fcomparison_mode\x18\x01 \x01(\tR\x0ecomparisonMode\x12\x16\n" +
"\x06target\x18\x02 \x01(\tR\x06target\x12$\n" +
"\x0estart_git_hash\x18\x03 \x01(\tR\fstartGitHash\x12 \n" +
"\fend_git_hash\x18\x04 \x01(\tR\n" +
"endGitHash\x12\x14\n" +
"\x05trace\x18\x05 \x01(\tR\x05trace\x12E\n" +
"\x04tags\x18\x06 \x03(\v21.pinpoint.v1.LegacyJobResponse.Argument.TagsEntryR\x04tags\x122\n" +
"\x15initial_attempt_count\x18\a \x01(\x05R\x13initialAttemptCount\x12$\n" +
"\rconfiguration\x18\b \x01(\tR\rconfiguration\x12\x1c\n" +
"\tbenchmark\x18\t \x01(\tR\tbenchmark\x12\x14\n" +
"\x05story\x18\n" +
" \x01(\tR\x05story\x12\x1d\n" +
"\n" +
"story_tags\x18\v \x01(\tR\tstoryTags\x12\x14\n" +
"\x05chart\x18\f \x01(\tR\x05chart\x12\x1c\n" +
"\tstatistic\x18\r \x01(\tR\tstatistic\x121\n" +
"\x14comparison_magnitude\x18\x0e \x01(\x01R\x13comparisonMagnitude\x12&\n" +
"\x0fextra_test_args\x18\x0f \x01(\tR\rextraTestArgs\x12\x10\n" +
"\x03pin\x18\x10 \x01(\tR\x03pin\x12\x18\n" +
"\aproject\x18\x11 \x01(\tR\aproject\x12\x15\n" +
"\x06bug_id\x18\x12 \x01(\tR\x05bugId\x12\x19\n" +
"\bbatch_id\x18\x13 \x01(\tR\abatchId\x1a7\n" +
"\tTagsEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\xe0\x05\n" +
"\x05State\x12C\n" +
"\x06change\x18\x01 \x01(\v2+.pinpoint.v1.LegacyJobResponse.State.ChangeR\x06change\x12H\n" +
"\battempts\x18\x02 \x03(\v2,.pinpoint.v1.LegacyJobResponse.State.AttemptR\battempts\x12Q\n" +
"\vcomparisons\x18\x03 \x01(\v2/.pinpoint.v1.LegacyJobResponse.State.ComparisonR\vcomparisons\x12\x16\n" +
"\x06values\x18\x04 \x03(\x01R\x06values\x1a7\n" +
"\x06Change\x12-\n" +
"\acommits\x18\x01 \x03(\v2\x13.pinpoint.v1.CommitR\acommits\x1a\xed\x02\n" +
"\aAttempt\x12V\n" +
"\n" +
"executions\x18\x01 \x03(\v26.pinpoint.v1.LegacyJobResponse.State.Attempt.ExecutionR\n" +
"executions\x12#\n" +
"\rresult_values\x18\x02 \x03(\x01R\fresultValues\x1a\xe4\x01\n" +
"\tExecution\x12\x1c\n" +
"\tcompleted\x18\x01 \x01(\bR\tcompleted\x12\x1c\n" +
"\texception\x18\x02 \x01(\tR\texception\x12W\n" +
"\adetails\x18\x03 \x03(\v2=.pinpoint.v1.LegacyJobResponse.State.Attempt.Execution.DetailR\adetails\x1aB\n" +
"\x06Detail\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value\x12\x10\n" +
"\x03url\x18\x03 \x01(\tR\x03url\x1a4\n" +
"\n" +
"Comparison\x12\x12\n" +
"\x04next\x18\x01 \x01(\tR\x04next\x12\x12\n" +
"\x04prev\x18\x02 \x01(\tR\x04prev*a\n" +
"\x0eSwarmingStatus\x12\x0f\n" +
"\vUNSPECIFIED\x10\x00\x12\r\n" +
"\tCOMPLETED\x10\x01\x12\x15\n" +
"\x11BENCHMARK_FAILURE\x10\x02\x12\v\n" +
"\aFAILURE\x10\x03\x12\v\n" +
"\aRUNNING\x10\x04*\xbe\x01\n" +
"\x11PairwiseJobStatus\x12#\n" +
"\x1fPAIRWISE_JOB_STATUS_UNSPECIFIED\x10\x00\x12\x1f\n" +
"\x1bPAIRWISE_JOB_STATUS_RUNNING\x10\x01\x12!\n" +
"\x1dPAIRWISE_JOB_STATUS_COMPLETED\x10\x02\x12\x1e\n" +
"\x1aPAIRWISE_JOB_STATUS_FAILED\x10\x03\x12 \n" +
"\x1cPAIRWISE_JOB_STATUS_CANCELED\x10\x042\x8a\a\n" +
"\bPinpoint\x12\x8e\x01\n" +
"\x11ScheduleBisection\x12\".pinpoint.v1.ScheduleBisectRequest\x1a\x1c.pinpoint.v1.BisectExecution\"7\x82\xd3\xe4\x93\x021Z\x17\"\x15/pinpoint/v1/schedule\"\x16/pinpoint/v1/bisection\x12g\n" +
"\tCancelJob\x12\x1d.pinpoint.v1.CancelJobRequest\x1a\x1e.pinpoint.v1.CancelJobResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/pinpoint/v1/cancel\x12k\n" +
"\x0eQueryBisection\x12\x1f.pinpoint.v1.QueryBisectRequest\x1a\x1c.pinpoint.v1.BisectExecution\"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/pinpoint/v1/query\x12p\n" +
"\x0eLegacyJobQuery\x12\x1d.pinpoint.v1.LegacyJobRequest\x1a\x1e.pinpoint.v1.LegacyJobResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/pinpoint/v1/legacy-job\x12z\n" +
"\x10SchedulePairwise\x12$.pinpoint.v1.SchedulePairwiseRequest\x1a\x1e.pinpoint.v1.PairwiseExecution\" \x82\xd3\xe4\x93\x02\x1a:\x01*\"\x15/pinpoint/v1/pairwise\x12{\n" +
"\rQueryPairwise\x12!.pinpoint.v1.QueryPairwiseRequest\x1a\".pinpoint.v1.QueryPairwiseResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/pinpoint/v1/query-pairwise\x12\xab\x01\n" +
"\x15ScheduleCulpritFinder\x12).pinpoint.v1.ScheduleCulpritFinderRequest\x1a#.pinpoint.v1.CulpritFinderExecution\"B\x82\xd3\xe4\x93\x02<Z\x1d\"\x1b/pinpoint/v1/culprit-finder\"\x1b/pinpoint/v1/culprit_finderB0Z.go.skia.org/infra/pinpoint/proto/v1;pinpointpbb\x06proto3"
var (
file_service_proto_rawDescOnce sync.Once
file_service_proto_rawDescData []byte
)
func file_service_proto_rawDescGZIP() []byte {
file_service_proto_rawDescOnce.Do(func() {
file_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_service_proto_rawDesc), len(file_service_proto_rawDesc)))
})
return file_service_proto_rawDescData
}
var file_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_service_proto_msgTypes = make([]protoimpl.MessageInfo, 30)
var file_service_proto_goTypes = []any{
(SwarmingStatus)(0), // 0: pinpoint.v1.SwarmingStatus
(PairwiseJobStatus)(0), // 1: pinpoint.v1.PairwiseJobStatus
(*ScheduleBisectRequest)(nil), // 2: pinpoint.v1.ScheduleBisectRequest
(*QueryBisectRequest)(nil), // 3: pinpoint.v1.QueryBisectRequest
(*CancelJobRequest)(nil), // 4: pinpoint.v1.CancelJobRequest
(*CancelJobResponse)(nil), // 5: pinpoint.v1.CancelJobResponse
(*Commit)(nil), // 6: pinpoint.v1.Commit
(*CombinedCommit)(nil), // 7: pinpoint.v1.CombinedCommit
(*Culprit)(nil), // 8: pinpoint.v1.Culprit
(*CASReference)(nil), // 9: pinpoint.v1.CASReference
(*SwarmingTaskStatus)(nil), // 10: pinpoint.v1.SwarmingTaskStatus
(*BisectExecution)(nil), // 11: pinpoint.v1.BisectExecution
(*SchedulePairwiseRequest)(nil), // 12: pinpoint.v1.SchedulePairwiseRequest
(*QueryPairwiseRequest)(nil), // 13: pinpoint.v1.QueryPairwiseRequest
(*QueryPairwiseResponse)(nil), // 14: pinpoint.v1.QueryPairwiseResponse
(*PairwiseExecution)(nil), // 15: pinpoint.v1.PairwiseExecution
(*ScheduleCulpritFinderRequest)(nil), // 16: pinpoint.v1.ScheduleCulpritFinderRequest
(*CulpritProcessingCallbackParams)(nil), // 17: pinpoint.v1.CulpritProcessingCallbackParams
(*CulpritFinderExecution)(nil), // 18: pinpoint.v1.CulpritFinderExecution
(*LegacyJobRequest)(nil), // 19: pinpoint.v1.LegacyJobRequest
(*LegacyJobResponse)(nil), // 20: pinpoint.v1.LegacyJobResponse
(*CASReference_Digest)(nil), // 21: pinpoint.v1.CASReference.Digest
(*PairwiseExecution_WilcoxonResult)(nil), // 22: pinpoint.v1.PairwiseExecution.WilcoxonResult
nil, // 23: pinpoint.v1.PairwiseExecution.ResultsEntry
(*LegacyJobResponse_Argument)(nil), // 24: pinpoint.v1.LegacyJobResponse.Argument
(*LegacyJobResponse_State)(nil), // 25: pinpoint.v1.LegacyJobResponse.State
nil, // 26: pinpoint.v1.LegacyJobResponse.Argument.TagsEntry
(*LegacyJobResponse_State_Change)(nil), // 27: pinpoint.v1.LegacyJobResponse.State.Change
(*LegacyJobResponse_State_Attempt)(nil), // 28: pinpoint.v1.LegacyJobResponse.State.Attempt
(*LegacyJobResponse_State_Comparison)(nil), // 29: pinpoint.v1.LegacyJobResponse.State.Comparison
(*LegacyJobResponse_State_Attempt_Execution)(nil), // 30: pinpoint.v1.LegacyJobResponse.State.Attempt.Execution
(*LegacyJobResponse_State_Attempt_Execution_Detail)(nil), // 31: pinpoint.v1.LegacyJobResponse.State.Attempt.Execution.Detail
(*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp
(*proto.GerritChange)(nil), // 33: cabe.v1.GerritChange
}
var file_service_proto_depIdxs = []int32{
32, // 0: pinpoint.v1.Commit.created:type_name -> google.protobuf.Timestamp
6, // 1: pinpoint.v1.CombinedCommit.main:type_name -> pinpoint.v1.Commit
6, // 2: pinpoint.v1.CombinedCommit.modified_deps:type_name -> pinpoint.v1.Commit
33, // 3: pinpoint.v1.CombinedCommit.patch:type_name -> cabe.v1.GerritChange
7, // 4: pinpoint.v1.Culprit.prior:type_name -> pinpoint.v1.CombinedCommit
7, // 5: pinpoint.v1.Culprit.culprit:type_name -> pinpoint.v1.CombinedCommit
21, // 6: pinpoint.v1.CASReference.digest:type_name -> pinpoint.v1.CASReference.Digest
0, // 7: pinpoint.v1.SwarmingTaskStatus.status:type_name -> pinpoint.v1.SwarmingStatus
7, // 8: pinpoint.v1.BisectExecution.culprits:type_name -> pinpoint.v1.CombinedCommit
8, // 9: pinpoint.v1.BisectExecution.detailed_culprits:type_name -> pinpoint.v1.Culprit
7, // 10: pinpoint.v1.SchedulePairwiseRequest.start_commit:type_name -> pinpoint.v1.CombinedCommit
7, // 11: pinpoint.v1.SchedulePairwiseRequest.end_commit:type_name -> pinpoint.v1.CombinedCommit
9, // 12: pinpoint.v1.SchedulePairwiseRequest.start_build:type_name -> pinpoint.v1.CASReference
9, // 13: pinpoint.v1.SchedulePairwiseRequest.end_build:type_name -> pinpoint.v1.CASReference
1, // 14: pinpoint.v1.QueryPairwiseResponse.status:type_name -> pinpoint.v1.PairwiseJobStatus
15, // 15: pinpoint.v1.QueryPairwiseResponse.execution:type_name -> pinpoint.v1.PairwiseExecution
23, // 16: pinpoint.v1.PairwiseExecution.results:type_name -> pinpoint.v1.PairwiseExecution.ResultsEntry
10, // 17: pinpoint.v1.PairwiseExecution.left_swarming_status:type_name -> pinpoint.v1.SwarmingTaskStatus
10, // 18: pinpoint.v1.PairwiseExecution.right_swarming_status:type_name -> pinpoint.v1.SwarmingTaskStatus
7, // 19: pinpoint.v1.PairwiseExecution.culprit_candidate:type_name -> pinpoint.v1.CombinedCommit
7, // 20: pinpoint.v1.CulpritFinderExecution.culprits:type_name -> pinpoint.v1.CombinedCommit
24, // 21: pinpoint.v1.LegacyJobResponse.arguments:type_name -> pinpoint.v1.LegacyJobResponse.Argument
32, // 22: pinpoint.v1.LegacyJobResponse.created:type_name -> google.protobuf.Timestamp
32, // 23: pinpoint.v1.LegacyJobResponse.updated:type_name -> google.protobuf.Timestamp
32, // 24: pinpoint.v1.LegacyJobResponse.started_time:type_name -> google.protobuf.Timestamp
25, // 25: pinpoint.v1.LegacyJobResponse.state:type_name -> pinpoint.v1.LegacyJobResponse.State
22, // 26: pinpoint.v1.PairwiseExecution.ResultsEntry.value:type_name -> pinpoint.v1.PairwiseExecution.WilcoxonResult
26, // 27: pinpoint.v1.LegacyJobResponse.Argument.tags:type_name -> pinpoint.v1.LegacyJobResponse.Argument.TagsEntry
27, // 28: pinpoint.v1.LegacyJobResponse.State.change:type_name -> pinpoint.v1.LegacyJobResponse.State.Change
28, // 29: pinpoint.v1.LegacyJobResponse.State.attempts:type_name -> pinpoint.v1.LegacyJobResponse.State.Attempt
29, // 30: pinpoint.v1.LegacyJobResponse.State.comparisons:type_name -> pinpoint.v1.LegacyJobResponse.State.Comparison
6, // 31: pinpoint.v1.LegacyJobResponse.State.Change.commits:type_name -> pinpoint.v1.Commit
30, // 32: pinpoint.v1.LegacyJobResponse.State.Attempt.executions:type_name -> pinpoint.v1.LegacyJobResponse.State.Attempt.Execution
31, // 33: pinpoint.v1.LegacyJobResponse.State.Attempt.Execution.details:type_name -> pinpoint.v1.LegacyJobResponse.State.Attempt.Execution.Detail
2, // 34: pinpoint.v1.Pinpoint.ScheduleBisection:input_type -> pinpoint.v1.ScheduleBisectRequest
4, // 35: pinpoint.v1.Pinpoint.CancelJob:input_type -> pinpoint.v1.CancelJobRequest
3, // 36: pinpoint.v1.Pinpoint.QueryBisection:input_type -> pinpoint.v1.QueryBisectRequest
19, // 37: pinpoint.v1.Pinpoint.LegacyJobQuery:input_type -> pinpoint.v1.LegacyJobRequest
12, // 38: pinpoint.v1.Pinpoint.SchedulePairwise:input_type -> pinpoint.v1.SchedulePairwiseRequest
13, // 39: pinpoint.v1.Pinpoint.QueryPairwise:input_type -> pinpoint.v1.QueryPairwiseRequest
16, // 40: pinpoint.v1.Pinpoint.ScheduleCulpritFinder:input_type -> pinpoint.v1.ScheduleCulpritFinderRequest
11, // 41: pinpoint.v1.Pinpoint.ScheduleBisection:output_type -> pinpoint.v1.BisectExecution
5, // 42: pinpoint.v1.Pinpoint.CancelJob:output_type -> pinpoint.v1.CancelJobResponse
11, // 43: pinpoint.v1.Pinpoint.QueryBisection:output_type -> pinpoint.v1.BisectExecution
20, // 44: pinpoint.v1.Pinpoint.LegacyJobQuery:output_type -> pinpoint.v1.LegacyJobResponse
15, // 45: pinpoint.v1.Pinpoint.SchedulePairwise:output_type -> pinpoint.v1.PairwiseExecution
14, // 46: pinpoint.v1.Pinpoint.QueryPairwise:output_type -> pinpoint.v1.QueryPairwiseResponse
18, // 47: pinpoint.v1.Pinpoint.ScheduleCulpritFinder:output_type -> pinpoint.v1.CulpritFinderExecution
41, // [41:48] is the sub-list for method output_type
34, // [34:41] is the sub-list for method input_type
34, // [34:34] is the sub-list for extension type_name
34, // [34:34] is the sub-list for extension extendee
0, // [0:34] is the sub-list for field type_name
}
func init() { file_service_proto_init() }
func file_service_proto_init() {
if File_service_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_service_proto_rawDesc), len(file_service_proto_rawDesc)),
NumEnums: 2,
NumMessages: 30,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_proto_goTypes,
DependencyIndexes: file_service_proto_depIdxs,
EnumInfos: file_service_proto_enumTypes,
MessageInfos: file_service_proto_msgTypes,
}.Build()
File_service_proto = out.File
file_service_proto_goTypes = nil
file_service_proto_depIdxs = nil
}