腾讯mini项目-【指标监控服务重构-会议记录】2023-07-06

7/6 会议记录

腾讯mini项目-【指标监控服务重构-会议记录】2023-07-06_第1张图片

腾讯mini项目-【指标监控服务重构-会议记录】2023-07-06_第2张图片

腾讯mini项目-【指标监控服务重构-会议记录】2023-07-06_第3张图片

Profile4个步骤

  1. 解压kafka消息
  2. 初始化性能事件,分析事件
  3. 将数据写入kafka
  4. Run 开始执行各stage handler
    1. 上报耗时到otel-collector
    2. 。。。
// 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
}

性能事件

  1. crash

    // Crash performance event crash
    //
    //	@author kevineluo
    //	@update 2023-07-05 07:46:11
    type Crash struct {
    	// upload fields
    	MemoryFreeBytes  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"`
    }
    
  2. lag

    // Lag performance event lag
    //
    //	@author kevineluo
    //	@update 2023-07-05 07:24:12
    type Lag struct {
    	// upload fields
    	TimeCost         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项目管理

项目待办、进度、需求、文档管理

待办:

  1. 阅读代码
  2. 分配任务
  3. 设计SLI

**提供:**2台服务器和CK

你可能感兴趣的:(腾讯mini项目,kafka,clickhouse,grafana,prometheus,go)