7/6 会议记录
Profile4个步骤
- 解压kafka消息
- 初始化性能事件,分析事件
- 将数据写入kafka
- Run 开始执行各stage handler
- 上报耗时到otel-collector
- 。。。
// ConsumerDispatchHandler consumer
//
// @param msg *sarama.ConsumerMessage
// @param consumer *databus.KafkaConsumer
// @return err error
// @author honeygong
func ConsumerDispatchHandler(msg *kafka.Message, consumer *kc.Consumer) (err error) {ctx, err := _consumer.NewProfileContext(msg, consumer, 1*time.Minute)if err != nil {return}ctx.AddBaseHandler(ctx.UnpackKafkaMessage, "", true)ctx.AddBaseHandler(ctx.InitPerformanceEvent, "", true).AddBaseHandler(ctx.AnalyzeEvent, "", true)ctx.AddBaseHandler(ctx.WriteKafka, "", true)ctx.Run()return
}
性能事件
-
crash
// Crash performance event crash // // @author kevineluo // @update 2023-07-05 07:46:11 type Crash struct {// upload fieldsMemoryFreeBytes int64 `json:"memory_free"`MemoryMaxBytes int64 `json:"memory_max"`MemoryTotalBytes int64 `json:"memory_total"`RemainDiskBytes int64 `json:"remain_disk"`CrashedThread string `json:"crashed_thread"`CrashType string `json:"crash_type"`LoseData string `json:"lose_data"`RepeatOccur string `json:"repeat_occur"`// analysis fields(produced by profile)MemoryUsage float64 `json:"memory_usage"`CrashDegree float64 `json:"crash_degree"` }
-
lag
// Lag performance event lag // // @author kevineluo // @update 2023-07-05 07:24:12 type Lag struct {// upload fieldsTimeCost int64 `json:"time_cost"`Stage string `json:"stage"`ProcessName string `json:"process_name"`Type string `json:"type"`FunctionTimeCost int64 `json:"function_time_cost"`Range0 int64 `json:"range_0"`Range1 int64 `json:"range_1"`Range2_4 int64 `json:"range_2_4"`Range4_8 int64 `json:"range_4_8"`Range8_16 int64 `json:"range_8_16"`Range16Inf int64 `json:"range_16_inf"`DropCollectMS int64 `json:"drop_collect_ms"`DropCount int64 `json:"drop_count"`// analysis fields(produced by profile)MainFuncPercent float64 `json:"main_func_percent"`Fluency float64 `json:"fluency"`FPS float64 `json:"fps"` }
ProfileContext维护Events
SLI :监控的指标目标
Venus:数据上报时延、成功率
Profile:数据的完整率、健康率、数据上报的处理时间延迟、成功率
Coding项目管理
项目待办、进度、需求、文档管理
待办:
- 阅读代码
- 分配任务
- 设计SLI
**提供:**2台服务器和CK