Documentation
¶
Index ¶
- Variables
- func RegisterControllers(router *gin.RouterGroup)
- type AddWidgetRequest
- type AiTraceDetailResponse
- type AiTraceInstancesRequest
- type AiTraceInstancesResponse
- type AiTraceSearchRequest
- type ApplicationMetricsResponse
- type ApplyDashboardRequest
- type ArchiveRequest
- type CHError
- type CopyDashboardRequest
- type CreateDashboardRequest
- type CreateProjectRequest
- type DashboardListItem
- type DashboardOverviewResponse
- type DashboardResponse
- type DashboardTemplateListItem
- type DashboardWidgetWithStar
- type DeleteProjectRequest
- type DiscoverResponse
- type DistributedTraceNode
- type DistributedTraceResponse
- type EndpointDetailResponse
- type EndpointExceptionInfo
- type EndpointInstancesRequest
- type EndpointInstancesResponse
- type EndpointMessageInfo
- type EndpointSearchRequest
- type EndpointStackedChartRequest
- type ExceptionDetailRequest
- type ExceptionDetailResponse
- type ExceptionSearchRequest
- type HealthDeepResponse
- type HomepageStatsResponse
- type ImportDashboardsRequest
- type ImportGrafanaRequest
- type InstallTemplateRequest
- type LibraryDashboard
- type LibraryOrganization
- type LimitExceededError
- type LogAttributeFilterRequest
- type LogPaginationParams
- type LogSearchRequest
- type MetricQueryItem
- type MetricQueryRequest
- type MetricQueryResponse
- type MetricQueryResult
- type NotificationHistorySearchRequest
- type OrgDiscoveredMetric
- type PaginatedResponse
- type Pagination
- type PaginationParams
- type ProfileDimensionsRequest
- type ProfileFlameGraphRequest
- type ProfileGroupedRequest
- type ProfileLabelsRequest
- type ProfileSeriesBreakdownRequest
- type ProfileSeriesGroupResponse
- type ProfileSeriesPoint
- type ProfileSeriesRequest
- type ProfileTopFunctionsRequest
- type ProfileTypesRequest
- type ReorderDashboardsRequest
- type ReorderStarredRequest
- type ReorderWidgetsRequest
- type ServerMetricsResponse
- type SessionAttributeFilter
- type SessionDetailResponse
- type SessionExceptionInfo
- type SessionRecordingPayload
- type SessionSearchRequest
- type SetSlowEndpointRequest
- type StarredWidgetResponse
- type StatsComparison
- type StatsMetricsResponse
- type TableParts
- type TaskDetailResponse
- type TaskExceptionInfo
- type TaskInstancesRequest
- type TaskInstancesResponse
- type TaskMessageInfo
- type TaskSearchRequest
- type UpdateDashboardRequest
- type UpdateProjectRequest
- type UpdateSettingsRequest
- type UpdateStarredLayoutRequest
Constants ¶
This section is empty.
Variables ¶
View Source
var AckController = ackController{}
View Source
var AiTraceController = aiTraceController{}
View Source
var AuthController = authController{}
View Source
var ContactMethodController = contactMethodController{}
View Source
var DashboardController = dashboardController{}
View Source
var DashboardTemplateController = dashboardTemplateController{}
View Source
var DashboardsController = dashboardsController{}
View Source
var DeviceAuthController = deviceAuthController{}
View Source
var DistributedTraceController = distributedTraceController{}
View Source
var EndpointController = endpointController{}
View Source
var EndpointDetailController = endpointDetailController{}
View Source
var EscalationPolicyController = escalationPolicyController{}
View Source
var ExceptionStackTraceController = exceptionStackTraceController{}
View Source
var ExtensionRoutes []func(router *gin.RouterGroup)
View Source
var HealthDeepController = healthDeepController{}
View Source
var InvitationController = invitationController{}
View Source
var LogController = logController{}
View Source
var MemberController = memberController{}
View Source
var MemberLimitHook func(tx *sql.Tx, orgId int) error
View Source
var MetricQueryController = metricQueryController{}
View Source
var MetricRecordController = metricRecordController{}
View Source
var MetricsController = metricsController{}
View Source
var NotificationChannelController = notificationChannelController{}
View Source
var NotificationHistoryController = notificationHistoryController{}
View Source
var NotificationRuleController = notificationRuleController{}
View Source
var OAuthController = oauthController{}
View Source
var OauthAuthorizeController = oauthAuthorizeController{}
View Source
var OncallController = oncallController{}
View Source
var OrganizationController = organizationController{}
View Source
var PATController = patController{}
View Source
var PageController = pageController{}
View Source
var PasswordResetController = passwordResetController{}
View Source
var PostRegistrationHooks []func(tx *sql.Tx, org *models.Organization, user *models.User) error
View Source
var ProfileController = profileController{}
View Source
var ProjectController = projectController{}
View Source
var ProjectLimitHook func(tx *sql.Tx, orgId int) error
View Source
var SessionController = sessionController{}
View Source
var SessionDetailController = sessionDetailController{}
View Source
var SourceMapController = sourceMapController{}
View Source
var SymbolsController = symbolsController{}
View Source
var TaskController = taskController{}
View Source
var TaskDetailController = taskDetailController{}
View Source
var TeamController = teamController{}
View Source
var UserNotificationRuleController = userNotificationRuleController{}
View Source
var WellKnownController = wellKnownController{}
Functions ¶
func RegisterControllers ¶
func RegisterControllers(router *gin.RouterGroup)
Types ¶
type AddWidgetRequest ¶
type AddWidgetRequest struct {
Title string `json:"title"`
WidgetType string `json:"widgetType" binding:"required"`
Config json.RawMessage `json:"config"`
}
type AiTraceDetailResponse ¶
type AiTraceDetailResponse struct {
AiTrace *models.AiTrace `json:"aiTrace"`
Conversation json.RawMessage `json:"conversation,omitempty"`
}
type AiTraceInstancesRequest ¶
type AiTraceInstancesResponse ¶
type AiTraceInstancesResponse struct {
Data []models.AiTrace `json:"data"`
Stats *models.AiTraceDetailStats `json:"stats"`
Pagination Pagination `json:"pagination"`
}
type AiTraceSearchRequest ¶
type ApplicationMetricsResponse ¶
type ApplicationMetricsResponse struct {
Metrics []models.DashboardMetric `json:"metrics"`
AvailableServers []string `json:"availableServers"`
LastUpdated time.Time `json:"lastUpdated"`
}
Response types for split endpoints
type ApplyDashboardRequest ¶ added in v1.9.4
type ArchiveRequest ¶
type ArchiveRequest struct {
Hashes []string `json:"hashes"`
}
type CopyDashboardRequest ¶ added in v1.9.4
type CreateDashboardRequest ¶ added in v1.9.4
type CreateProjectRequest ¶
type DashboardListItem ¶ added in v1.9.4
type DashboardOverviewResponse ¶
type DashboardOverviewResponse struct {
RecentIssues []models.ExceptionGroup `json:"recentIssues"`
WorstEndpoints []models.EndpointStats `json:"worstEndpoints"`
HasData bool `json:"hasData"`
}
type DashboardResponse ¶ added in v1.9.4
type DashboardResponse struct {
Id int `json:"id"`
OrganizationId int `json:"organizationId"`
Name string `json:"name"`
Description string `json:"description"`
TemplateKey *string `json:"templateKey"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
AppliedProjectIds []uuid.UUID `json:"appliedProjectIds"`
Widgets []DashboardWidgetWithStar `json:"widgets"`
}
type DashboardTemplateListItem ¶ added in v1.9.4
type DashboardWidgetWithStar ¶ added in v1.9.4
type DeleteProjectRequest ¶ added in v1.7.22
type DeleteProjectRequest struct {
Name string `json:"name" binding:"required"`
}
type DiscoverResponse ¶
type DiscoverResponse struct {
Metrics []models.DiscoveredMetric `json:"metrics"`
}
type DistributedTraceNode ¶
type DistributedTraceNode struct {
ProjectId uuid.UUID `json:"projectId"`
ProjectName string `json:"projectName"`
TraceType string `json:"traceType"`
Endpoint *models.Endpoint `json:"endpoint,omitempty"`
Task *models.Task `json:"task,omitempty"`
AiTrace *models.AiTrace `json:"aiTrace,omitempty"`
Spans []models.Span `json:"spans"`
Exception *EndpointExceptionInfo `json:"exception,omitempty"`
}
type DistributedTraceResponse ¶
type DistributedTraceResponse struct {
DistributedTraceId string `json:"distributedTraceId"`
Nodes []DistributedTraceNode `json:"nodes"`
}
type EndpointDetailResponse ¶
type EndpointDetailResponse struct {
Endpoint *models.Endpoint `json:"endpoint"`
Spans []models.Span `json:"spans"`
HasSpans bool `json:"hasSpans"`
Exception *EndpointExceptionInfo `json:"exception,omitempty"`
Messages []EndpointMessageInfo `json:"messages"`
}
type EndpointExceptionInfo ¶
type EndpointInstancesResponse ¶
type EndpointInstancesResponse struct {
Data []models.Endpoint `json:"data"`
Stats *models.EndpointDetailStats `json:"stats"`
Pagination Pagination `json:"pagination"`
}
type EndpointMessageInfo ¶
type EndpointSearchRequest ¶
type ExceptionDetailRequest ¶
type ExceptionDetailRequest struct {
Pagination PaginationParams `json:"pagination"`
}
type ExceptionDetailResponse ¶
type ExceptionDetailResponse struct {
Group *models.ExceptionGroup `json:"group"`
Occurrences []models.ExceptionStackTrace `json:"occurrences"`
Pagination Pagination `json:"pagination"`
SessionRecording json.RawMessage `json:"sessionRecording,omitempty"`
// SessionId is set when the exception is linked to a parent session row
// (always-on recording). The frontend swaps SessionRecording for a fetch
// against `/sessions/:sessionId/recording`, which spans every segment.
SessionId *uuid.UUID `json:"sessionId,omitempty"`
}
type ExceptionSearchRequest ¶
type ExceptionSearchRequest struct {
FromDate time.Time `json:"fromDate"`
ToDate time.Time `json:"toDate"`
OrderBy string `json:"orderBy"`
Pagination PaginationParams `json:"pagination"`
Search string `json:"search"`
SearchType string `json:"searchType"`
IncludeArchived bool `json:"includeArchived"`
}
type HealthDeepResponse ¶ added in v1.7.28
type HealthDeepResponse struct {
CHReachable bool `json:"chReachable"`
CHUptimeSec int64 `json:"chUptimeSec"`
PartsCount int64 `json:"partsCount"`
PartsByTable []TableParts `json:"partsByTable,omitempty"`
ActiveMerges int64 `json:"activeMerges"`
LongestMergeSec float64 `json:"longestMergeSec"`
ErrorsRecent []CHError `json:"errorsRecent,omitempty"`
MemoryUsageBytes int64 `json:"memoryUsageBytes,omitempty"`
MemoryTotalBytes int64 `json:"memoryTotalBytes,omitempty"`
TelemetryBackend string `json:"telemetryBackend"`
DroppedRows map[string]uint64 `json:"droppedRows"`
DroppedRowsTotal uint64 `json:"droppedRowsTotal"`
InsertFailures uint64 `json:"insertFailures"`
IngestRejected uint64 `json:"ingestRejected"`
Engine *db.TelemetryEngineStats `json:"engine,omitempty"`
Outbox *outbox.HealthStats `json:"outbox,omitempty"`
}
type HomepageStatsResponse ¶
type HomepageStatsResponse struct {
Requests StatsComparison `json:"requests"`
Exceptions StatsComparison `json:"exceptions"`
MemoryUsage StatsComparison `json:"memoryUsage"`
CpuUsage StatsComparison `json:"cpuUsage"`
}
type ImportDashboardsRequest ¶ added in v1.9.4
type ImportGrafanaRequest ¶ added in v1.9.4
type ImportGrafanaRequest struct {
OrganizationId *int `json:"organizationId"`
Grafana json.RawMessage `json:"grafana" binding:"required"`
ApplyToProjectIds []uuid.UUID `json:"applyToProjectIds"`
}
type InstallTemplateRequest ¶ added in v1.9.4
type LibraryDashboard ¶ added in v1.9.4
type LibraryOrganization ¶ added in v1.9.4
type LibraryOrganization struct {
Id int `json:"id"`
Name string `json:"name"`
Role string `json:"role"`
Dashboards []LibraryDashboard `json:"dashboards"`
}
type LimitExceededError ¶ added in v1.8.13
type LimitExceededError struct {
Message string
}
func (*LimitExceededError) Error ¶ added in v1.8.13
func (e *LimitExceededError) Error() string
type LogPaginationParams ¶ added in v1.9.8
type LogSearchRequest ¶
type LogSearchRequest struct {
FromDate time.Time `json:"fromDate"`
ToDate time.Time `json:"toDate"`
OrderBy string `json:"orderBy"`
SortDirection string `json:"sortDirection"`
Search string `json:"search"`
SearchType string `json:"searchType"`
MinSeverity uint8 `json:"minSeverity"`
ServiceName string `json:"serviceName"`
TraceId string `json:"traceId"`
SpanId string `json:"spanId"`
ScopeName string `json:"scopeName"`
Body string `json:"body"`
DistributedTraceId string `json:"distributedTraceId"`
ExcludeTraceId string `json:"excludeTraceId"`
AttributeFilters []LogAttributeFilterRequest `json:"attributeFilters"`
Pagination LogPaginationParams `json:"pagination"`
}
type MetricQueryItem ¶
type MetricQueryRequest ¶
type MetricQueryResponse ¶
type MetricQueryResponse struct {
Results []MetricQueryResult `json:"results"`
}
type MetricQueryResult ¶
type MetricQueryResult struct {
Name string `json:"name"`
Unit string `json:"unit"`
Series map[string][]models.TimeSeriesPoint `json:"series"`
}
type NotificationHistorySearchRequest ¶
type NotificationHistorySearchRequest struct {
Pagination PaginationParams `json:"pagination"`
Search string `json:"search"`
FromDate string `json:"fromDate"`
ToDate string `json:"toDate"`
}
type OrgDiscoveredMetric ¶ added in v1.9.4
type PaginatedResponse ¶
type PaginatedResponse[T any] struct { Data []T `json:"data"` Pagination Pagination `json:"pagination"` }
type Pagination ¶
type PaginationParams ¶
type ProfileDimensionsRequest ¶ added in v1.8.12
type ProfileFlameGraphRequest ¶ added in v1.8.9
type ProfileFlameGraphRequest struct {
FromDate time.Time `json:"fromDate"`
ToDate time.Time `json:"toDate"`
ServiceName string `json:"serviceName"`
Type string `json:"type"`
Unit string `json:"unit"`
IsGauge bool `json:"isGauge"`
Labels map[string]string `json:"labels"`
AppVersion string `json:"appVersion"`
ServerName string `json:"serverName"`
}
type ProfileGroupedRequest ¶ added in v1.8.9
type ProfileLabelsRequest ¶ added in v1.8.12
type ProfileSeriesBreakdownRequest ¶ added in v1.8.12
type ProfileSeriesBreakdownRequest struct {
FromDate time.Time `json:"fromDate"`
ToDate time.Time `json:"toDate"`
ServiceName string `json:"serviceName"`
Type string `json:"type"`
IsGauge bool `json:"isGauge"`
IntervalMinutes int `json:"intervalMinutes"`
Labels map[string]string `json:"labels"`
AppVersion string `json:"appVersion"`
ServerName string `json:"serverName"`
Normalize bool `json:"normalize"`
Dimension string `json:"dimension"`
Limit int `json:"limit"`
}
type ProfileSeriesGroupResponse ¶ added in v1.8.12
type ProfileSeriesGroupResponse struct {
Key string `json:"key"`
Points []ProfileSeriesPoint `json:"points"`
}
type ProfileSeriesPoint ¶ added in v1.8.9
type ProfileSeriesRequest ¶ added in v1.8.9
type ProfileSeriesRequest struct {
FromDate time.Time `json:"fromDate"`
ToDate time.Time `json:"toDate"`
ServiceName string `json:"serviceName"`
Type string `json:"type"`
IsGauge bool `json:"isGauge"`
IntervalMinutes int `json:"intervalMinutes"`
Labels map[string]string `json:"labels"`
AppVersion string `json:"appVersion"`
ServerName string `json:"serverName"`
Normalize bool `json:"normalize"`
}
type ProfileTopFunctionsRequest ¶ added in v1.8.12
type ProfileTopFunctionsRequest struct {
FromDate time.Time `json:"fromDate"`
ToDate time.Time `json:"toDate"`
ServiceName string `json:"serviceName"`
Type string `json:"type"`
IsGauge bool `json:"isGauge"`
Labels map[string]string `json:"labels"`
Limit int `json:"limit"`
AppVersion string `json:"appVersion"`
ServerName string `json:"serverName"`
}
type ProfileTypesRequest ¶ added in v1.8.12
type ReorderDashboardsRequest ¶ added in v1.9.4
type ReorderDashboardsRequest struct {
DashboardIds []int `json:"dashboardIds" binding:"required,min=1"`
}
type ReorderStarredRequest ¶ added in v1.9.4
type ReorderStarredRequest struct {
Ids []int `json:"ids" binding:"required,min=1"`
}
type ReorderWidgetsRequest ¶ added in v1.8.15
type ReorderWidgetsRequest struct {
WidgetIds []string `json:"widgetIds" binding:"required,min=1"`
}
type ServerMetricsResponse ¶
type ServerMetricsResponse struct {
Metrics []models.DashboardMetric `json:"metrics"`
AvailableServers []string `json:"availableServers"`
LastUpdated time.Time `json:"lastUpdated"`
}
type SessionAttributeFilter ¶
type SessionDetailResponse ¶
type SessionDetailResponse struct {
Session *models.Session `json:"session"`
Exceptions []SessionExceptionInfo `json:"exceptions"`
}
type SessionExceptionInfo ¶
type SessionRecordingPayload ¶
type SessionRecordingPayload struct {
Events []json.RawMessage `json:"events"`
Logs []json.RawMessage `json:"logs,omitempty"`
Actions []json.RawMessage `json:"actions,omitempty"`
StartedAt *time.Time `json:"startedAt,omitempty"`
EndedAt *time.Time `json:"endedAt,omitempty"`
}
SessionRecordingPayload is the shape consumed by the frontend SessionReplay component. We concatenate rrweb event arrays from every segment ordered by segment_index, plus union the optional logs/actions arrays. Logs/actions are kept as raw JSON since the backend never inspects them.
type SessionSearchRequest ¶
type SessionSearchRequest struct {
FromDate time.Time `json:"fromDate"`
ToDate time.Time `json:"toDate"`
OrderBy string `json:"orderBy"`
SortDirection string `json:"sortDirection"`
Search string `json:"search"`
AttributeFilters []SessionAttributeFilter `json:"attributeFilters"`
Pagination PaginationParams `json:"pagination"`
}
type SetSlowEndpointRequest ¶
type StarredWidgetResponse ¶ added in v1.9.4
type StarredWidgetResponse struct {
Id int `json:"id"`
DashboardId int `json:"dashboardId"`
WidgetId string `json:"widgetId"`
Title string `json:"title"`
WidgetType string `json:"widgetType"`
Config json.RawMessage `json:"config"`
HomePosition int `json:"homePosition"`
HomeColSpan int `json:"homeColSpan"`
HomeSize string `json:"homeSize"`
}
type StatsComparison ¶
type StatsMetricsResponse ¶
type StatsMetricsResponse struct {
Metrics []models.DashboardMetric `json:"metrics"`
LastUpdated time.Time `json:"lastUpdated"`
}
type TableParts ¶ added in v1.7.28
type TaskDetailResponse ¶
type TaskDetailResponse struct {
Task *models.Task `json:"task"`
Spans []models.Span `json:"spans"`
HasSpans bool `json:"hasSpans"`
Exception *TaskExceptionInfo `json:"exception,omitempty"`
Messages []TaskMessageInfo `json:"messages"`
}
type TaskExceptionInfo ¶
type TaskInstancesRequest ¶
type TaskInstancesResponse ¶
type TaskInstancesResponse struct {
Data []models.Task `json:"data"`
Stats *models.TaskDetailStats `json:"stats"`
Pagination Pagination `json:"pagination"`
}
type TaskMessageInfo ¶
type TaskSearchRequest ¶
type UpdateDashboardRequest ¶ added in v1.9.4
type UpdateDashboardRequest struct {
Name *string `json:"name"`
Description *string `json:"description"`
Definition json.RawMessage `json:"definition"`
}
type UpdateProjectRequest ¶ added in v1.7.22
type UpdateProjectRequest struct {
Name string `json:"name" binding:"required"`
Framework string `json:"framework" binding:"required"`
DropHealthyHealthchecks *bool `json:"dropHealthyHealthchecks"`
HealthcheckPaths *[]string `json:"healthcheckPaths"`
ProfileLabelAllowlist *[]string `json:"profileLabelAllowlist"`
}
type UpdateSettingsRequest ¶
type UpdateSettingsRequest struct {
Timezone string `json:"timezone" binding:"required"`
}
type UpdateStarredLayoutRequest ¶ added in v1.8.15
Source Files
¶
- ack.controller.go
- ai_trace.controller.go
- auth.controller.go
- contact_method.controller.go
- dashboard.controller.go
- dashboard_io.controller.go
- dashboard_template.controller.go
- dashboard_widgets.controller.go
- dashboards.controller.go
- device_auth.controller.go
- distributed_trace.controller.go
- endpoint.controller.go
- endpoint_detail.controller.go
- escalation_policy.controller.go
- exception_stack_trace.controller.go
- health_deep.go
- health_deep_stub.go
- invitation.controller.go
- limits.go
- log.controller.go
- member.controller.go
- metric_query.controller.go
- metric_record.controller.go
- metrics.controller.go
- notification_channel.controller.go
- notification_history.controller.go
- notification_rule.controller.go
- oauth.controller.go
- oauth_authorize.controller.go
- oncall.controller.go
- organization.controller.go
- page.controller.go
- password_reset.controller.go
- pat.controller.go
- profile.controller.go
- project.controller.go
- routes.go
- session.controller.go
- session_detail.controller.go
- sourcemap.controller.go
- symbols.controller.go
- task.controller.go
- task_detail.controller.go
- team.controller.go
- user_notification_rule.controller.go
- wellknown.controller.go
Click to show internal directories.
Click to hide internal directories.