Documentation
¶
Index ¶
- Constants
- func CreateEvent(db *gorm.DB, eventName string, metadata map[string]interface{}, ...) error
- func GenFingerprint(appID, errType, message string) string
- func GetDB() *gorm.DB
- func GetEventCount(db *gorm.DB, appID string, eventName string, since time.Time) (int64, error)
- func GetUniqueUserCount(db *gorm.DB, appID string, eventName string, since time.Time) (int64, error)
- func InitDB(path string) (*gorm.DB, error)
- type DailyEvent
- type ErrorLog
- type Event
- type EventDetail
- type EventStats
- type EventStatsSummary
- type TopEvent
Constants ¶
View Source
const (
EVENT_ACTIVE = "_active" // 用户活跃事件
)
内置事件类型常量
Variables ¶
This section is empty.
Functions ¶
func CreateEvent ¶
func CreateEvent(db *gorm.DB, eventName string, metadata map[string]interface{}, appID, userID string) error
CreateEvent 创建事件记录
func GenFingerprint ¶
GenFingerprint 生成错误指纹 规则:MD5(appId + type + message)
func GetEventCount ¶
GetEventCount 获取事件总数
Types ¶
type ErrorLog ¶
type ErrorLog struct {
ID uint `gorm:"primaryKey"`
Fingerprint string `gorm:"uniqueIndex"` // 去重查询
Type string `gorm:"index"` // 按类型筛选
Message string
Stack string
URL string
AppID string `gorm:"index"` // 按应用筛选
UserAgent string
Count int `gorm:"default:1"`
FirstSeen time.Time
LastSeen time.Time `gorm:"index"` // 按最近出现排序
}
ErrorLog 错误日志
type Event ¶
type Event struct {
ID uint `gorm:"primaryKey"`
EventName string `gorm:"index:idx_event_name;index:idx_app_event_time"` // 事件名称
Metadata json.RawMessage `gorm:"type:text"` // 元数据(JSON 格式)
AppID string `gorm:"index:idx_app_event_time"` // 应用 ID
UserID string `gorm:"index"` // 用户 ID
CreatedAt time.Time `gorm:"index:idx_app_event_time"` // 创建时间
}
Event 统一事件模型
type EventDetail ¶
type EventDetail struct {
ID uint `json:"id"`
EventName string `json:"eventName"`
Metadata json.RawMessage `json:"metadata"`
AppID string `json:"appId"`
UserID string `json:"userId"`
CreatedAt time.Time `json:"createdAt"`
}
EventDetail 事件详情
type EventStatsSummary ¶
type EventStatsSummary struct {
TotalCount int64 `json:"totalCount"`
TodayCount int64 `json:"todayCount"`
UV int64 `json:"uv"`
}
EventStatsSummary 事件统计摘要
func GetEventStatsSummary ¶
func GetEventStatsSummary(db *gorm.DB, appID string, eventName string, days int) (*EventStatsSummary, error)
GetEventStatsSummary 获取事件统计摘要
Click to show internal directories.
Click to hide internal directories.