trace/define.go
2025-04-12 17:53:07 +08:00

45 lines
1.5 KiB
Go

// Package trace ...
//
// Description : trace ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2022-10-14 23:10
package trace
const (
// BehaviorActionTypeStart 开始某一行为
BehaviorActionTypeStart = "start"
// BehaviorActionTypeFinish 完成某一行为
BehaviorActionTypeFinish = "finish"
)
// Behavior 行为信息
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 23:10 2022/10/14
type Behavior struct {
ID int `json:"id"` // 行为ID
StartBehaviorID int `json:"start_behavior_id"` // 开始行为的ID,仅对 finish 类型的行为有效
Stack CallStack `json:"stack"` // 调用堆栈信息
Action string `json:"action"` // 行为
Type string `json:"type"` // 行为记录类型
Timestamp int64 `json:"timestamp"` // 触发行为的时间,纳秒时间戳
CostNano int64 `json:"cost_nano"` // 行为耗时,纳秒
CostMs int64 `json:"cost_ms"` // 行为耗时,毫秒
Data map[string]any `json:"data"` // 本次行为附带的数据
}
// CallStack 调用堆栈
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 00:48 2022/10/15
type CallStack struct {
FilePath string `json:"file_path"` // 文件路径
LineNo int `json:"line_no"` // 所在行号
}
type LogicFunc func() error