api

package
v0.0.0-...-9dab196 Latest Latest
Warning

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

Go to latest
Published: Dec 27, 2024 License: BSD-3-Clause Imports: 52 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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

func NewFavoritesApi(loginProvider alogin.Login, favoritesStore favorites.Store) favoritesApi

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

func NewPinpointApi(loginProvider alogin.Login, pinpointClient *pinpoint.Client) pinpointApi

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

func NewSheriffConfigApi(loginProvider alogin.Login) sheriffConfigApi

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

func NewUserIssueApi

func NewUserIssueApi(loginProvider alogin.Login, userIssueStore userissue.Store) userIssueApi

NewUserIssueApi returns a new instance of userIssueApi.

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

type ChromeperfFileBugResponse struct {
	BugId int    `json:"bug_id"`
	Error string `json:"error"`
}

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 GetGroupReportByKeysRequest

type GetGroupReportByKeysRequest struct {
	// comma separated anomaly keys
	Keys string `json:"keys"`
	// host value to filter anomalies
	Host string `json:"host"`
}

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 GetUserIssuesForTraceKeysResponse

type GetUserIssuesForTraceKeysResponse struct {
	UserIssues []userissue.UserIssue
}

type Message

type Message struct {
	Path     string `json:"path"`
	Severity string `json:"severity"`
	Text     string `json:"text"`
}

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 Pattern

type Pattern struct {
	ConfigSet string `json:"config_set"`
	Path      string `json:"path"`
}

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 Subset

type Subset string

Subset is the Subset of regressions we are querying for.

const (
	SubsetAll         Subset = "all"         // Include all regressions in a range.
	SubsetRegressions Subset = "regressions" // Only include regressions in a range that are alerting.
	SubsetUntriaged   Subset = "untriaged"   // All untriaged alerting regressions regardless of range.
)

type Timerange

type Timerange struct {
	Begin int64 `json:"begin"`
	End   int64 `json:"end"`
}

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 ValidateConfigRequest struct {
	Path    string `json:"path"`
	Content string `json:"content"`
}

type ValidateConfigResponse

type ValidateConfigResponse struct {
	Messages []Message `json:"messages"`
}

type Validation

type Validation struct {
	Patterns []Pattern `json:"patterns"`
	Url      string    `json:"url"`
}

Jump to

Keyboard shortcuts

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