Documentation
¶
Index ¶
Constants ¶
const (
// AlertKeySeparator separates fields in AlertJSONNonGrouping Key.
AlertKeySeparator = "$!"
)
Variables ¶
This section is empty.
Functions ¶
func GenerateKeyDigest ¶
GenerateKeyDigest generates KeyDigest field from key for annotations.
Types ¶
type AlertJSON ¶
type AlertJSON struct {
ID string `gae:"$id" json:"-"`
Tree *datastore.Key `gae:"$parent"`
Date time.Time
Contents []byte `gae:",noindex"`
Resolved bool
AutoResolved bool
ResolvedDate time.Time
}
AlertJSON is the JSON blob of an alert for a tree. TODO(crbug.com/1043371): Remove this when we disable automatic grouping.
type AlertJSONNonGrouping ¶
type AlertJSONNonGrouping struct {
ID string `gae:"$id" json:"-"`
Tree *datastore.Key `gae:"$parent"`
Date time.Time
Contents []byte `gae:",noindex"`
Resolved bool
AutoResolved bool
ResolvedDate time.Time
}
AlertJSONNonGrouping is the JSON blob of an alert for a tree.
func (*AlertJSONNonGrouping) GetStepName ¶
func (a *AlertJSONNonGrouping) GetStepName() (string, error)
GetStepName retrieves step name for an alert.
type Annotation ¶
type Annotation struct {
Tree *datastore.Key `gae:"$parent"`
KeyDigest string `gae:"$id"`
Key string `gae:",noindex" json:"key"`
Bugs []MonorailBug `gae:",noindex" json:"bugs"`
Comments []Comment `gae:",noindex" json:"comments"`
SnoozeTime int `json:"snoozeTime"`
GroupID string `gae:",noindex" json:"group_id"`
ModificationTime time.Time
}
Annotation is any information sheriffs want to annotate an alert with. For example, a bug where the cause of the alert is being solved. TODO(crbug.com/1043371): Remove this when we disable automatic grouping.
func (*Annotation) Add ¶
Add adds some data to an annotation. Returns true if a refresh of annotation metadata (currently monorail data) is required, and any errors encountered.
func (*Annotation) GetStepName ¶
func (a *Annotation) GetStepName() (string, error)
GetStepName retrieves step name for an annotation.
func (*Annotation) IsGroupAnnotation ¶
func (a *Annotation) IsGroupAnnotation() bool
IsGroupAnnotation returns whether an annotation is a group annotation or a normal annotation
type AnnotationNonGrouping ¶
type AnnotationNonGrouping struct {
Tree *datastore.Key `gae:"$parent"`
KeyDigest string `gae:"$id"`
Key string `gae:",noindex" json:"key"`
Bugs []MonorailBug `gae:",noindex" json:"bugs"`
Comments []Comment `gae:",noindex" json:"comments"`
SnoozeTime int `json:"snoozeTime"`
GroupID string `gae:",noindex" json:"group_id"`
ModificationTime time.Time
}
AnnotationNonGrouping is any information sheriffs want to annotate an alert with. For example, a bug where the cause of the alert is being solved.
type BuildBucketTree ¶
type BuildBucketTree struct {
TreeName string `json:"tree_name"`
TreeBuilders []*TreeBuilder `json:"tree_builders"`
}
BuildBucketTree holds "tree" information about buildbucket builders.
type Comment ¶
type Comment struct {
Text string `json:"text"`
User string `json:"user"`
Time time.Time `json:"time"`
}
Comment is the format for the data in the Comments property of an Annotation
type MonorailBug ¶
type MonorailBug struct {
BugID string `json:"id"` // This should match monorail.Issue.id
ProjectID string `json:"projectId"` // This should match monorail.Issue.projectId
}
MonorailBug stores data to differentiate bugs by projects.
type ResolveRequest ¶
ResolveRequest is the format of the request to resolve alerts.
type ResolveResponse ¶
type ResolveResponse struct {
Tree string `json:"tree"`
Keys []string `json:"keys"`
Resolved bool `json:"resolved"`
}
ResolveResponse is the format of the response to resolve alerts.
type RevisionSummaryJSON ¶
type RevisionSummaryJSON struct {
ID string `gae:"$id" json:"-"`
Tree *datastore.Key `gae:"$parent"`
Date time.Time
Contents []byte `gae:",noindex"`
}
RevisionSummaryJSON is the JSON blob of a RevisionSummary for a tree.
type Tree ¶
type Tree struct {
Name string `gae:"$id" json:"name"`
DisplayName string `json:"display_name"`
AlertStreams []string `json:"alert_streams,omitempty"`
BugQueueLabel string `json:"bug_queue_label,omitempty"`
HelpLink string `json:"help_link,omitempty"`
GerritProject string `json:"gerrit_project,omitempty"`
GerritInstance string `json:"gerrit_instance,omitempty"`
DefaultMonorailProjectName string `json:"default_monorail_project_name,omitempty"`
BuildBucketProjectFilter string `json:"bb_project_filter"`
}
Tree is a tree which sheriff-o-matic receives and groups alerts for.
type TreeBuilder ¶
type TreeBuilder struct {
Project string // buildbucket project name
Bucket string // buildbucket bucket name
Builders []string // buildbucket builder name
}
TreeBuilder is a builder that belongs to a particular tree or trees.