Documentation
¶
Index ¶
- func Error() gin.HandlerFunc
- func InitGlobalErrorHandler(maxErrors int, retention time.Duration)
- func RecordError(message string, level string)
- func Recover() gin.HandlerFunc
- func SetGlobalErrorHandler(eh *ErrorHandler)
- func SetGlobalMetrics(metrics *Metrics)
- func SetupMonitoring(router *gin.Engine)
- type ErrorHandler
- func (eh *ErrorHandler) ClearErrors()
- func (eh *ErrorHandler) ErrorMiddleware() gin.HandlerFunc
- func (eh *ErrorHandler) GetErrorByID(id string) (*ErrorInfo, bool)
- func (eh *ErrorHandler) GetErrorStatistics() map[string]interface{}
- func (eh *ErrorHandler) GetErrors() []*ErrorInfo
- func (eh *ErrorHandler) RecoverMiddleware() gin.HandlerFunc
- type ErrorInfo
- type Metrics
- func (m *Metrics) AddCustomCounter(name, help string, labels []string) prometheus.Counter
- func (m *Metrics) AddCustomGauge(name, help string, labels []string) prometheus.Gauge
- func (m *Metrics) GetMetricsSummary() map[string]interface{}
- func (m *Metrics) HealthCheck(c *gin.Context)
- func (m *Metrics) IncrementDatabaseError(table, operation, error string)
- func (m *Metrics) IncrementDatabaseQuery(table, operation string)
- func (m *Metrics) IncrementError(errorType, endpoint string)
- func (m *Metrics) IncrementResourceCreated(category, platform string)
- func (m *Metrics) IncrementResourceViewed(category string)
- func (m *Metrics) IncrementSearch(platform string)
- func (m *Metrics) IncrementTransfer(platform, status string)
- func (m *Metrics) MetricsHandler() gin.HandlerFunc
- func (m *Metrics) MetricsMiddleware() gin.HandlerFunc
- func (m *Metrics) ObserveDatabaseDuration(table, operation string, duration float64)
- func (m *Metrics) SetupHealthCheck(router *gin.Engine)
- func (m *Metrics) StartMetricsServer(config *MetricsConfig)
- type MetricsConfig
- type RequestInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitGlobalErrorHandler ¶
InitGlobalErrorHandler 初始化全局错误处理器
func SetGlobalErrorHandler ¶
func SetGlobalErrorHandler(eh *ErrorHandler)
SetGlobalErrorHandler 设置全局错误处理器
Types ¶
type ErrorHandler ¶
type ErrorHandler struct {
// contains filtered or unexported fields
}
ErrorHandler 错误处理器
func GetGlobalErrorHandler ¶
func GetGlobalErrorHandler() *ErrorHandler
GetGlobalErrorHandler 获取全局错误处理器
func NewErrorHandler ¶
func NewErrorHandler(maxErrors int, retention time.Duration) *ErrorHandler
NewErrorHandler 创建新的错误处理器
func (*ErrorHandler) ErrorMiddleware ¶
func (eh *ErrorHandler) ErrorMiddleware() gin.HandlerFunc
ErrorMiddleware 通用错误处理中间件
func (*ErrorHandler) GetErrorByID ¶
func (eh *ErrorHandler) GetErrorByID(id string) (*ErrorInfo, bool)
GetErrorByID 根据ID获取错误
func (*ErrorHandler) GetErrorStatistics ¶
func (eh *ErrorHandler) GetErrorStatistics() map[string]interface{}
GetErrorStatistics 获取错误统计信息
func (*ErrorHandler) RecoverMiddleware ¶
func (eh *ErrorHandler) RecoverMiddleware() gin.HandlerFunc
RecoverMiddleware panic恢复中间件
type ErrorInfo ¶
type ErrorInfo struct {
ID string `json:"id"`
Timestamp time.Time `json:"timestamp"`
Message string `json:"message"`
StackTrace string `json:"stack_trace"`
RequestInfo *RequestInfo `json:"request_info,omitempty"`
Level string `json:"level"` // error, warn, info
Count int `json:"count"`
}
ErrorInfo 错误信息结构
type Metrics ¶
type Metrics struct {
// HTTP请求指标
RequestsTotal *prometheus.CounterVec
RequestDuration *prometheus.HistogramVec
RequestSize *prometheus.SummaryVec
ResponseSize *prometheus.SummaryVec
// 数据库指标
DatabaseQueries *prometheus.CounterVec
DatabaseErrors *prometheus.CounterVec
DatabaseDuration *prometheus.HistogramVec
// 系统指标
MemoryUsage prometheus.Gauge
Goroutines prometheus.Gauge
GCStats *prometheus.CounterVec
// 业务指标
ResourcesCreated *prometheus.CounterVec
ResourcesViewed *prometheus.CounterVec
Searches *prometheus.CounterVec
Transfers *prometheus.CounterVec
// 错误指标
ErrorsTotal *prometheus.CounterVec
// 自定义指标
CustomCounters map[string]prometheus.Counter
CustomGauges map[string]prometheus.Gauge
// contains filtered or unexported fields
}
Metrics 监控指标
func (*Metrics) AddCustomCounter ¶
func (m *Metrics) AddCustomCounter(name, help string, labels []string) prometheus.Counter
AddCustomCounter 添加自定义计数器
func (*Metrics) AddCustomGauge ¶
func (m *Metrics) AddCustomGauge(name, help string, labels []string) prometheus.Gauge
AddCustomGauge 添加自定义仪表盘
func (*Metrics) GetMetricsSummary ¶
GetMetricsSummary 获取指标摘要
func (*Metrics) IncrementDatabaseError ¶
IncrementDatabaseError 增加数据库错误计数
func (*Metrics) IncrementDatabaseQuery ¶
IncrementDatabaseQuery 增加数据库查询计数
func (*Metrics) IncrementError ¶
IncrementError 增加错误计数
func (*Metrics) IncrementResourceCreated ¶
IncrementResourceCreated 增加资源创建计数
func (*Metrics) IncrementResourceViewed ¶
IncrementResourceViewed 增加资源查看计数
func (*Metrics) IncrementSearch ¶
IncrementSearch 增加搜索计数
func (*Metrics) IncrementTransfer ¶
IncrementTransfer 增加转存计数
func (*Metrics) MetricsHandler ¶
func (m *Metrics) MetricsHandler() gin.HandlerFunc
MetricsHandler 指标处理器
func (*Metrics) MetricsMiddleware ¶
func (m *Metrics) MetricsMiddleware() gin.HandlerFunc
MetricsMiddleware 监控中间件
func (*Metrics) ObserveDatabaseDuration ¶
ObserveDatabaseDuration 记录数据库查询耗时
func (*Metrics) SetupHealthCheck ¶
SetupHealthCheck 设置健康检查端点
func (*Metrics) StartMetricsServer ¶
func (m *Metrics) StartMetricsServer(config *MetricsConfig)
StartMetricsServer 启动监控服务器