Documentation ¶
Index ¶
- Variables
- func IsGroupReportRequestValid(req GetGroupReportRequest) bool
- func NewAlertsApi(loginProvider alogin.Login, configProvider alerts.ConfigProvider, ...) alertsApi
- func NewAnomaliesApi(loginProvider alogin.Login, chromeperfClient chromeperf.ChromePerfClient, ...) anomaliesApi
- func NewFavoritesApi(loginProvider alogin.Login, favoritesStore favorites.Store) favoritesApi
- func NewGraphApi(numParamSetsForQueries int, loginProvider alogin.Login, ...) graphApi
- func NewPinpointApi(loginProvider alogin.Login, pinpointClient *pinpoint.Client) pinpointApi
- func NewQueryApi(paramsetRefresher psrefresh.ParamSetRefresher) queryApi
- func NewRegressionsApi(loginProvider alogin.Login, configProvider alerts.ConfigProvider, ...) regressionsApi
- func NewSheriffConfigApi(loginProvider alogin.Login) sheriffConfigApi
- func NewShortCutsApi(shortcutStore shortcut.Store, graphsShortcutStore graphsshortcut.Store) shortcutsApi
- func NewTriageApi(loginProvider alogin.Login, chromeperfClient chromeperf.ChromePerfClient, ...) triageApi
- func NewUserIssueApi(loginProvider alogin.Login, userIssueStore userissue.Store) userIssueApi
- type AlertUpdateResponse
- type CIDHandlerResponse
- type ChromeperfAssociateBugResponse
- type ChromeperfFileBugResponse
- type ClusterStartResponse
- type CommitDetailsRequest
- type CountHandlerRequest
- type CountHandlerResponse
- type CreateFavRequest
- type DeleteFavRequest
- type DeleteUserIssueRequest
- type EditAnomaliesRequest
- type EditAnomaliesResponse
- type FileBugRequest
- type FrontendApi
- type GetAnomaliesRequest
- type GetAnomaliesResponse
- type GetGraphsShortcutRequest
- type GetGroupReportByKeysRequest
- type GetGroupReportRequest
- type GetGroupReportResponse
- type GetMetadataResponse
- type GetSheriffListResponse
- type GetUserIssuesForTraceKeysRequest
- type GetUserIssuesForTraceKeysResponse
- type Message
- type NextParamListHandlerRequest
- type NextParamListHandlerResponse
- type Pattern
- type RangeRequest
- type RegressionRangeRequest
- type RegressionRangeResponse
- type RegressionRow
- type SaveUserIssueRequest
- type ShiftRequest
- type ShiftResponse
- type SkiaAssociateBugRequest
- type SkiaAssociateBugResponse
- type SkiaFileBugResponse
- type Subset
- type Timerange
- type TriageRequest
- type TriageResponse
- type TryBugRequest
- type TryBugResponse
- type UpdateFavRequest
- type ValidateConfigRequest
- type ValidateConfigResponse
- type Validation
Constants ¶
This section is empty.
Variables ¶
var AllRegressionSubset = []Subset{SubsetAll, SubsetRegressions, SubsetUntriaged}
Functions ¶
func IsGroupReportRequestValid ¶
func IsGroupReportRequestValid(req GetGroupReportRequest) bool
The group report page should only regard one input parameters. If the request has more than one parameters, we consider it invalid.
func NewAlertsApi ¶
func NewAlertsApi(loginProvider alogin.Login, configProvider alerts.ConfigProvider, alertStore alerts.Store, notifier notify.Notifier, subStore subscription.Store, dryRunRequests *dryrun.Requests) alertsApi
NewAlertsApi returns a new instance of the alertsApi struct.
func NewAnomaliesApi ¶
func NewAnomaliesApi(loginProvider alogin.Login, chromeperfClient chromeperf.ChromePerfClient, perfGit perfgit.Git) anomaliesApi
func NewFavoritesApi ¶
NewFavoritesApi returns a new instance of favoritesApi.
func NewGraphApi ¶
func NewGraphApi(numParamSetsForQueries int, loginProvider alogin.Login, dfBuilder dataframe.DataFrameBuilder, perfGit perfgit.Git, traceStore tracestore.TraceStore, shortcutStore shortcut.Store, anomalyStore anomalies.Store, progressTracker progress.Tracker, ingestedFS fs.FS) graphApi
NewGraphApi returns a new instance of the graphApi struct.
func NewPinpointApi ¶
NewPinpointApi returns a new instance of the pinpointApi struct.
func NewQueryApi ¶
func NewQueryApi(paramsetRefresher psrefresh.ParamSetRefresher) queryApi
NewQueryApi returns a new instance of queryApi struct.
func NewRegressionsApi ¶
func NewRegressionsApi(loginProvider alogin.Login, configProvider alerts.ConfigProvider, alertStore alerts.Store, regStore regression.Store, perfGit perfgit.Git, anomalyApiClient chromeperf.AnomalyApiClient, urlProvider *urlprovider.URLProvider, graphsShortcutStore graphsshortcut.Store, alertGroupClient chromeperf.AlertGroupApiClient, progressTracker progress.Tracker, shortcutStore shortcut.Store, dfBuilder dataframe.DataFrameBuilder, paramsetRefresher psrefresh.ParamSetRefresher) regressionsApi
NewRegressionsApi returns a new instance of regressionsApi.
func NewSheriffConfigApi ¶
NewSheriffConfigApi returns a new instance of the sheriffConfigApi struct.
func NewShortCutsApi ¶
func NewShortCutsApi(shortcutStore shortcut.Store, graphsShortcutStore graphsshortcut.Store) shortcutsApi
NewShortCutsApi returns a new instance of the shortcutsApi struct.
func NewTriageApi ¶
func NewTriageApi(loginProvider alogin.Login, chromeperfClient chromeperf.ChromePerfClient, anomalyStore anomalies.Store) triageApi
Types ¶
type AlertUpdateResponse ¶
type AlertUpdateResponse struct {
IDAsString string
}
AlertUpdateResponse is the JSON response when an Alert is created or udpated.
type CIDHandlerResponse ¶
type CIDHandlerResponse struct { // CommitSlice describes all the commits requested. CommitSlice []provider.Commit `json:"commitSlice"` // LogEntry is the full git log entry for the first commit in the // CommitSlice. LogEntry string `json:"logEntry"` }
CIDHandlerResponse is the form of the response from the /_/cid/ endpoint.
type ChromeperfAssociateBugResponse ¶
type ChromeperfAssociateBugResponse struct {
Error string `json:"error,omitempty"`
}
Response object from the chromeperf associate alerts to existing bug response.
type ChromeperfFileBugResponse ¶
Response object from the chromeperf file bug response.
type ClusterStartResponse ¶
type ClusterStartResponse struct {
ID string `json:"id"`
}
ClusterStartResponse is serialized as JSON for the response in clusterStartHandler.
type CommitDetailsRequest ¶
type CommitDetailsRequest struct { CommitNumber types.CommitNumber `json:"cid"` TraceID string `json:"traceid"` }
CommitDetailsRequest is for deserializing incoming POST requests in detailsHandler.
type CountHandlerRequest ¶
type CountHandlerRequest struct { Q string `json:"q"` Begin int `json:"begin"` End int `json:"end"` }
CountHandlerRequest is the JSON format for the countHandler request.
type CountHandlerResponse ¶
type CountHandlerResponse struct { Count int `json:"count"` Paramset paramtools.ReadOnlyParamSet `json:"paramset"` }
CountHandlerResponse is the JSON format if the countHandler response.
type CreateFavRequest ¶
type CreateFavRequest struct { Name string `json:"name"` Description string `json:"description"` Url string `json:"url"` }
CreateFavRequest is the request to create a new Favorite
type DeleteFavRequest ¶
type DeleteFavRequest struct {
Id string `json:"id"`
}
DeleteFavRequest is a request to delete an existing Favorite
type DeleteUserIssueRequest ¶
type DeleteUserIssueRequest struct { TraceKey string `json:"trace_key"` CommitPosition int64 `json:"commit_position"` }
DeleteUserIssueRequest deletes an existing userissue from the db
type EditAnomaliesRequest ¶
type EditAnomaliesRequest struct { Keys []int `json:"keys"` Action string `json:"action"` StartRevision int `json:"start_revision,omitempty"` EndRevision int `json:"end_revision,omitempty"` TraceNames []string `json:"trace_names"` }
Request object for the request from the following triage actions:
- Ignore
- X button (untriage the anomaly)
- Nudge (move the anomaly position to adjacent datapoints)
type EditAnomaliesResponse ¶
type EditAnomaliesResponse struct {
Error string `json:"error"`
}
Response object from the chromeperf edit anomaly request.
type FileBugRequest ¶
type FileBugRequest struct { Keys []int `json:"keys"` Title string `json:"title"` Description string `json:"description"` Component string `json:"component"` Assignee string `json:"assignee,omitempty"` Ccs []string `json:"ccs,omitempty"` Labels []string `json:"labels,omitempty"` TraceNames []string `json:"trace_names,omitempty"` }
Request object for the request from new bug UI.
type FrontendApi ¶
type FrontendApi interface {
// RegisterHandlers registers the api handlers for their respective routes.
RegisterHandlers(*chi.Mux)
}
FrontendApi provides an interface for frontend apis to implement.
type GetAnomaliesRequest ¶
type GetAnomaliesRequest struct { Sheriff string `json:"sheriff"` IncludeTriaged bool `json:"triaged"` IncludeImprovements bool `json:"improvements"` QueryCursor string `json:"anomaly_cursor"` Host string `json:"host"` }
Request object for the request from the anomaly table UI.
type GetAnomaliesResponse ¶
type GetAnomaliesResponse struct { // The list of anomalies. Anomalies []chromeperf.Anomaly `json:"anomaly_list"` // The cursor of the current query. It will be used to 'Load More' for the next query. QueryCursor string `json:"anomaly_cursor"` // Error message if any. Error string `json:"error"` }
Response object for the request from the anomaly table UI.
type GetGraphsShortcutRequest ¶
type GetGraphsShortcutRequest struct {
ID string `json:"id"`
}
type GetGroupReportRequest ¶
type GetGroupReportRequest struct { // A revision number. Revison string `json:"rev"` // Comma-separated list of urlsafe Anomaly keys. AnomalyIDs string `json:"anomalyIDs"` // A Buganizer bug number ID. BugID string `json:"bugID"` // An Anomaly Group ID AnomalyGroupID string `json:"anomalyGroupID"` // A hash of a group of anomaly keys. Sid string `json:"sid"` }
Request object from report page to load the anomalies from Chromeperf
type GetGroupReportResponse ¶
type GetGroupReportResponse struct { // The list of anomalies. Anomalies []chromeperf.Anomaly `json:"anomaly_list"` // The state id (hash of a list of anomaly keys) // It is used in a share-able link for a report with multiple keys. // This is generated on Chromeperf side and returned on POST call to /alerts_skia_by_keys StateId string `json:"sid"` // The list of anomalies which should be checked in report page. SelectedKeys []string `json:"selected_keys"` // Error message if any. Error string `json:"error"` // List of timeranges that will let report page know in what range to render // each graph. TimerangeMap map[int]Timerange `json:"timerange_map"` }
type GetMetadataResponse ¶
type GetMetadataResponse struct { Version string `json:"version"` Validation Validation `json:"validation"` }
type GetSheriffListResponse ¶
type GetSheriffListResponse struct { SheriffList []string `json:"sheriff_list"` Error string `json:"error"` }
Response object for the request from sheriff list UI.
type GetUserIssuesForTraceKeysRequest ¶
type GetUserIssuesForTraceKeysRequest struct { TraceKeys []string `json:"trace_keys"` BeginCommitPosition int64 `json:"begin_commit_position"` EndCommitPosition int64 `json:"end_commit_position"` }
GetUserIssuesForTraceKeysRequest is the request to fetch all user issues corresponding to a list of trace keys and commit position range
type NextParamListHandlerRequest ¶
type NextParamListHandlerRequest struct {
Query string `json:"q"`
}
NextParamListHandlerRequest is the JSON format for NextParamListHandler request.
type NextParamListHandlerResponse ¶
type NextParamListHandlerResponse struct { Count int `json:"count"` Paramset paramtools.ReadOnlyParamSet `json:"paramset"` }
NextParamListHandlerResponse is the JSON format for NextParamListHandler response.
type RangeRequest ¶
type RangeRequest struct { Offset types.CommitNumber `json:"offset"` Begin int64 `json:"begin"` End int64 `json:"end"` }
RangeRequest is used in cidRangeHandler and is used to query for a range of cid.CommitIDs that include the range between [begin, end) and include the explicit CommitID of "Source, Offset".
type RegressionRangeRequest ¶
type RegressionRangeRequest struct { Begin int64 `json:"begin"` End int64 `json:"end"` Subset Subset `json:"subset"` AlertFilter string `json:"alert_filter"` // Can be an alertfilter constant, or a category prefixed with "cat:". }
RegressionRangeRequest is used in regressionRangeHandler and is used to query for a range of of Regressions.
Begin and End are Unix timestamps in seconds.
type RegressionRangeResponse ¶
type RegressionRangeResponse struct { Header []*alerts.Alert `json:"header"` Table []*RegressionRow `json:"table"` Categories []string `json:"categories"` }
RegressionRangeResponse is the response from regressionRangeHandler.
type RegressionRow ¶
type RegressionRow struct { Commit provider.Commit `json:"cid"` Columns []*regression.Regression `json:"columns"` }
RegressionRow are all the Regression's for a specific commit. It is used in RegressionRangeResponse.
The Columns have the same order as RegressionRangeResponse.Header.
type SaveUserIssueRequest ¶
type SaveUserIssueRequest struct { TraceKey string `json:"trace_key"` CommitPosition int64 `json:"commit_position"` IssueId int64 `json:"issue_id"` }
SaveUserIssueRequest is the request to create a new User Issue
type ShiftRequest ¶
type ShiftRequest struct { // Begin is the commit number at the beginning of the range. Begin types.CommitNumber `json:"begin"` // End is the commit number at the end of the range. End types.CommitNumber `json:"end"` }
ShiftRequest is a request to find the timestamps of a range of commits.
type ShiftResponse ¶
type ShiftResponse struct { Begin int64 `json:"begin"` // In seconds from the epoch. End int64 `json:"end"` // In seconds from the epoch. }
ShiftResponse are the timestamps from a ShiftRequest.
type SkiaAssociateBugRequest ¶
type SkiaAssociateBugRequest struct { BugId int `json:"bug_id"` Keys []int `json:"keys"` TraceNames []string `json:"trace_names"` }
Existing bug request object to asscociate alerts from new bug UI.
type SkiaAssociateBugResponse ¶
type SkiaAssociateBugResponse struct {
BugId int `json:"bug_id,omitempty"`
}
Existing bug response object for Skia UI.
type SkiaFileBugResponse ¶
type SkiaFileBugResponse struct {
BugId int `json:"bug_id,omitempty"`
}
Response object for Skia UI.
type TriageRequest ¶
type TriageRequest struct { Cid types.CommitNumber `json:"cid"` Alert alerts.Alert `json:"alert"` Triage regression.TriageStatus `json:"triage"` ClusterType string `json:"cluster_type"` }
TriageRequest is used in triageHandler.
type TriageResponse ¶
type TriageResponse struct {
Bug string `json:"bug"` // URL to bug reporting page.
}
TriageResponse is used in triageHandler.
type TryBugRequest ¶
type TryBugRequest struct {
BugURITemplate string `json:"bug_uri_template"`
}
TryBugRequest is a request to try a bug template URI.
type TryBugResponse ¶
type TryBugResponse struct {
URL string `json:"url"`
}
TryBugResponse is response to a TryBugRequest.
type UpdateFavRequest ¶
type UpdateFavRequest struct { Id string `json:"id"` Name string `json:"name"` Description string `json:"description"` Url string `json:"url"` }
UpdateFavRequest is a request to update an existing Favorite
type ValidateConfigRequest ¶
type ValidateConfigResponse ¶
type ValidateConfigResponse struct {
Messages []Message `json:"messages"`
}