添加埋点名称
This commit is contained in:
parent
650b8d69b7
commit
6947524586
|
@ -6,8 +6,9 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewDataBuried 创建一个数据埋点
|
// NewDataBuried 创建一个数据埋点
|
||||||
func NewDataBuried[DataID comparable, Data any](hitLogic HitLogic[Data], options ...DataBuriedOption[DataID, Data]) *DataBuried[DataID, Data] {
|
func NewDataBuried[DataID comparable, Data any](name string, hitLogic HitLogic[Data], options ...DataBuriedOption[DataID, Data]) *DataBuried[DataID, Data] {
|
||||||
buried := &DataBuried[DataID, Data]{
|
buried := &DataBuried[DataID, Data]{
|
||||||
|
name: name,
|
||||||
data: asynchronization.NewMap[DataID, Data](),
|
data: asynchronization.NewMap[DataID, Data](),
|
||||||
hitLogic: hitLogic,
|
hitLogic: hitLogic,
|
||||||
}
|
}
|
||||||
|
@ -26,12 +27,18 @@ func NewDataBuried[DataID comparable, Data any](hitLogic HitLogic[Data], options
|
||||||
// DataBuried 数据埋点
|
// DataBuried 数据埋点
|
||||||
// - 数据埋点通常用于统计不同类型的数据,例如用户数据、商城数据等
|
// - 数据埋点通常用于统计不同类型的数据,例如用户数据、商城数据等
|
||||||
type DataBuried[DataID comparable, Data any] struct {
|
type DataBuried[DataID comparable, Data any] struct {
|
||||||
|
name string
|
||||||
data hash.Map[DataID, Data]
|
data hash.Map[DataID, Data]
|
||||||
hitLogic HitLogic[Data]
|
hitLogic HitLogic[Data]
|
||||||
getData func(DataID) Data
|
getData func(DataID) Data
|
||||||
setData func(id DataID, data Data)
|
setData func(id DataID, data Data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetName 获取名称
|
||||||
|
func (slf *DataBuried[DataID, Data]) GetName() string {
|
||||||
|
return slf.name
|
||||||
|
}
|
||||||
|
|
||||||
// Hit 命中数据埋点
|
// Hit 命中数据埋点
|
||||||
func (slf *DataBuried[DataID, Data]) Hit(id DataID, data Data) {
|
func (slf *DataBuried[DataID, Data]) Hit(id DataID, data Data) {
|
||||||
slf.setData(id, slf.hitLogic(slf.getData(id), data))
|
slf.setData(id, slf.hitLogic(slf.getData(id), data))
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package report
|
package report
|
||||||
|
|
||||||
// NewGlobalBuried 创建一个全局埋点
|
// NewGlobalBuried 创建一个全局埋点
|
||||||
func NewGlobalBuried[Data any](hitLogic HitLogic[Data], options ...GlobalBuriedOption[Data]) *GlobalBuried[Data] {
|
func NewGlobalBuried[Data any](name string, hitLogic HitLogic[Data], options ...GlobalBuriedOption[Data]) *GlobalBuried[Data] {
|
||||||
buried := &GlobalBuried[Data]{
|
buried := &GlobalBuried[Data]{
|
||||||
|
name: name,
|
||||||
hitLogic: hitLogic,
|
hitLogic: hitLogic,
|
||||||
}
|
}
|
||||||
buried.setData = func(data Data) {
|
buried.setData = func(data Data) {
|
||||||
|
@ -20,12 +21,18 @@ func NewGlobalBuried[Data any](hitLogic HitLogic[Data], options ...GlobalBuriedO
|
||||||
// GlobalBuried 全局埋点
|
// GlobalBuried 全局埋点
|
||||||
// - 全局埋点适用于活跃用户数等统计
|
// - 全局埋点适用于活跃用户数等统计
|
||||||
type GlobalBuried[Data any] struct {
|
type GlobalBuried[Data any] struct {
|
||||||
|
name string
|
||||||
data Data
|
data Data
|
||||||
hitLogic HitLogic[Data]
|
hitLogic HitLogic[Data]
|
||||||
getData func() Data
|
getData func() Data
|
||||||
setData func(data Data)
|
setData func(data Data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetName 获取名称
|
||||||
|
func (slf *GlobalBuried[Data]) GetName() string {
|
||||||
|
return slf.name
|
||||||
|
}
|
||||||
|
|
||||||
// Hit 命中数据埋点
|
// Hit 命中数据埋点
|
||||||
func (slf *GlobalBuried[Data]) Hit(data Data) {
|
func (slf *GlobalBuried[Data]) Hit(data Data) {
|
||||||
slf.setData(slf.hitLogic(slf.getData(), data))
|
slf.setData(slf.hitLogic(slf.getData(), data))
|
||||||
|
|
Loading…
Reference in New Issue