Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNS = errorx.NewNamespace("error.api.topsql")
Functions ¶
This section is empty.
Types ¶
type EditableConfig ¶
type EditableConfig struct {
Enable bool `json:"enable" gorm:"column:tidb_enable_top_sql"`
}
type GetInstancesRequest ¶
type GetSummaryRequest ¶
type InstanceItem ¶
type InstanceResponse ¶
type InstanceResponse struct {
Data []InstanceItem `json:"data"`
}
type Service ¶
type Service struct { FeatureTopSQL *featureflag.FeatureFlag // contains filtered or unexported fields }
func (*Service) GetConfig ¶
@Summary Get Top SQL config @Router /topsql/config [get] @Security JwtAuth @Success 200 {object} EditableConfig "ok" @Failure 401 {object} rest.ErrorResponse @Failure 500 {object} rest.ErrorResponse
func (*Service) GetInstance ¶
@Summary Get availiable instances @Router /topsql/instances [get] @Security JwtAuth @Param q query GetInstancesRequest true "Query" @Success 200 {object} InstanceResponse "ok" @Failure 401 {object} rest.ErrorResponse @Failure 500 {object} rest.ErrorResponse
func (*Service) GetSummary ¶
@Summary Get summaries @Router /topsql/summary [get] @Security JwtAuth @Param q query GetSummaryRequest true "Query" @Success 200 {object} SummaryResponse "ok" @Failure 401 {object} rest.ErrorResponse @Failure 500 {object} rest.ErrorResponse
func (*Service) UpdateConfig ¶
@Summary Update Top SQL config @Router /topsql/config [post] @Param request body EditableConfig true "Request body" @Security JwtAuth @Success 204 {object} string @Failure 401 {object} rest.ErrorResponse @Failure 500 {object} rest.ErrorResponse
type ServiceParams ¶
type SummaryItem ¶
type SummaryItem struct { SQLDigest string `json:"sql_digest"` SQLText string `json:"sql_text"` IsOther bool `json:"is_other"` CPUTimeMs uint64 `json:"cpu_time_ms"` ExecCountPerSec float64 `json:"exec_count_per_sec"` DurationPerExecMs float64 `json:"duration_per_exec_ms"` ScanRecordsPerSec float64 `json:"scan_records_per_sec"` ScanIndexesPerSec float64 `json:"scan_indexes_per_sec"` Plans []SummaryPlanItem `json:"plans"` }
type SummaryPlanItem ¶
type SummaryPlanItem struct { PlanDigest string `json:"plan_digest"` PlanText string `json:"plan_text"` TimestampSec []uint64 `json:"timestamp_sec"` CPUTimeMs []uint64 `json:"cpu_time_ms,omitempty"` ExecCountPerSec float64 `json:"exec_count_per_sec"` DurationPerExecMs float64 `json:"duration_per_exec_ms"` ScanRecordsPerSec float64 `json:"scan_records_per_sec"` ScanIndexesPerSec float64 `json:"scan_indexes_per_sec"` }
type SummaryResponse ¶
type SummaryResponse struct {
Data []SummaryItem `json:"data"`
}