Documentation
¶
Index ¶
- Variables
- func RegisterControllers(router *gin.RouterGroup)
- type AddWidgetRequest
- type AiTraceDetailResponse
- type AiTraceInstancesRequest
- type AiTraceInstancesResponse
- type AiTraceSearchRequest
- type ApplicationMetricsResponse
- type ArchiveRequest
- type CreateProjectRequest
- type CreateWidgetGroupRequest
- type DashboardOverviewResponse
- 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 HomepageStatsResponse
- type LogAttributeFilterRequest
- type LogSearchRequest
- type MetricQueryItem
- type MetricQueryRequest
- type MetricQueryResponse
- type MetricQueryResult
- type MoveWidgetRequest
- type NotificationHistorySearchRequest
- type PaginatedResponse
- type Pagination
- type PaginationParams
- type ServerMetricsResponse
- type SessionAttributeFilter
- type SessionDetailResponse
- type SessionExceptionInfo
- type SessionRecordingPayload
- type SessionSearchRequest
- type SetSlowEndpointRequest
- type StatsComparison
- type StatsMetricsResponse
- type TaskDetailResponse
- type TaskExceptionInfo
- type TaskInstancesRequest
- type TaskInstancesResponse
- type TaskMessageInfo
- type TaskSearchRequest
- type UpdateSettingsRequest
Constants ¶
This section is empty.
Variables ¶
View Source
var AiTraceController = aiTraceController{}
View Source
var AuthController = authController{}
View Source
var DashboardController = dashboardController{}
View Source
var DistributedTraceController = distributedTraceController{}
View Source
var EndpointController = endpointController{}
View Source
var EndpointDetailController = endpointDetailController{}
View Source
var ExceptionStackTraceController = exceptionStackTraceController{}
View Source
var ExtensionRoutes []func(router *gin.RouterGroup)
View Source
var InvitationController = invitationController{}
View Source
var LogController = logController{}
View Source
var MemberController = memberController{}
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 OrganizationController = organizationController{}
View Source
var PasswordResetController = passwordResetController{}
View Source
var PostRegistrationHooks []func(tx *sql.Tx, org *models.Organization, user *models.User) error
View Source
var ProjectController = projectController{}
View Source
var SessionController = sessionController{}
View Source
var SessionDetailController = sessionDetailController{}
View Source
var SourceMapController = sourceMapController{}
View Source
var TaskController = taskController{}
View Source
var TaskDetailController = taskDetailController{}
View Source
var WidgetController = widgetController{}
View Source
var WidgetGroupController = widgetGroupController{}
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 ArchiveRequest ¶
type ArchiveRequest struct {
Hashes []string `json:"hashes"`
}
type CreateProjectRequest ¶
type DashboardOverviewResponse ¶
type DashboardOverviewResponse struct {
RecentIssues []models.ExceptionGroup `json:"recentIssues"`
WorstEndpoints []models.EndpointStats `json:"worstEndpoints"`
HasData bool `json:"hasData"`
}
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"`
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 HomepageStatsResponse ¶
type HomepageStatsResponse struct {
Requests StatsComparison `json:"requests"`
Exceptions StatsComparison `json:"exceptions"`
MemoryUsage StatsComparison `json:"memoryUsage"`
CpuUsage StatsComparison `json:"cpuUsage"`
}
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"`
DistributedTraceId string `json:"distributedTraceId"`
ExcludeTraceId string `json:"excludeTraceId"`
AttributeFilters []LogAttributeFilterRequest `json:"attributeFilters"`
Pagination PaginationParams `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 MoveWidgetRequest ¶
type MoveWidgetRequest struct {
Offset int `json:"offset" binding:"required"`
}
type NotificationHistorySearchRequest ¶
type NotificationHistorySearchRequest struct {
Pagination PaginationParams `json:"pagination"`
Search string `json:"search"`
FromDate string `json:"fromDate"`
ToDate string `json:"toDate"`
}
type PaginatedResponse ¶
type PaginatedResponse[T any] struct { Data []T `json:"data"` Pagination Pagination `json:"pagination"` }
type Pagination ¶
type PaginationParams ¶
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 StatsComparison ¶
type StatsMetricsResponse ¶
type StatsMetricsResponse struct {
Metrics []models.DashboardMetric `json:"metrics"`
LastUpdated time.Time `json:"lastUpdated"`
}
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 UpdateSettingsRequest ¶
type UpdateSettingsRequest struct {
Timezone string `json:"timezone" binding:"required"`
}
Source Files
¶
- ai_trace.controller.go
- auth.controller.go
- dashboard.controller.go
- distributed_trace.controller.go
- endpoint.controller.go
- endpoint_detail.controller.go
- exception_stack_trace.controller.go
- invitation.controller.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
- organization.controller.go
- password_reset.controller.go
- project.controller.go
- routes.go
- session.controller.go
- session_detail.controller.go
- sourcemap.controller.go
- task.controller.go
- task_detail.controller.go
- widget.controller.go
- widget_group.controller.go
Click to show internal directories.
Click to hide internal directories.