|
|
@@ -197,15 +197,20 @@ func (c *Container) onL7RequestApm(pid uint32, fd uint64, timestamp uint64, r *l
|
|
|
case l7.ProtocolDM:
|
|
|
fmt.Println("---- onL7RequestApm ProtocolDM start ---->")
|
|
|
fmt.Println("-------dm r.Status :", r.Status)
|
|
|
- if conn.dmParser == nil {
|
|
|
- conn.dmParser = l7.NewDmParser()
|
|
|
- }
|
|
|
- query := conn.dmParser.Parse(r.Payload, r.StatementId)
|
|
|
- apmTrace, err := c.getOrInitTrace(r.TraceId)
|
|
|
- fmt.Println("-------dm r.TraceId:", r.TraceId)
|
|
|
- if err == nil {
|
|
|
- apmTrace.DmTraceQueryEvent(query, r, conn.ActualDest)
|
|
|
- c.SendEvent(apmTrace, r.TraceId)
|
|
|
+ //统计dm的query次数
|
|
|
+ stats.observe(r.Status.String(), "", r.Duration)
|
|
|
+ //是否发送数据
|
|
|
+ if c.l7Attach && c.valuableTrace(r.TraceId) {
|
|
|
+ if conn.dmParser == nil {
|
|
|
+ conn.dmParser = l7.NewDmParser()
|
|
|
+ }
|
|
|
+ query := conn.dmParser.Parse(r.Payload, r.StatementId)
|
|
|
+ apmTrace, err := c.getOrInitTrace(r.TraceId)
|
|
|
+ fmt.Println("-------dm r.TraceId:", r.TraceId)
|
|
|
+ if err == nil {
|
|
|
+ apmTrace.DmTraceQueryEvent(query, r, conn.ActualDest)
|
|
|
+ c.SendEvent(apmTrace, r.TraceId)
|
|
|
+ }
|
|
|
}
|
|
|
fmt.Println("---- onL7RequestApm ProtocolDM end <----")
|
|
|
case l7.ProtocolMemcached:
|