浏览代码

Feature #TASK_QT-18250 合并GrpcServerTraceStartEvent增加containerid

rock 7 月之前
父节点
当前提交
a9d2723cc5
共有 2 个文件被更改,包括 7 次插入2 次删除
  1. 5 1
      containers/container_apm.go
  2. 2 1
      tracing/apm_tracing.go

+ 5 - 1
containers/container_apm.go

@@ -131,7 +131,11 @@ func (c *Container) onL7RequestApm(pid uint32, fd uint64, timestamp uint64, r *l
 					trace.TraceStartEvent(method, requestURI, sn, sport, r.Status, netaddr.IPPortFrom(ip, sport), pid, c.GetAppInfo(), container_id)
 					c.SendEvent(trace, r.TraceId)
 				} else if r.TraceType == 1 {
-					trace.GrpcServerTraceStartEvent(r, c.GetAppInfo())
+					container_id := ""
+					if c.cgroup != nil {
+						container_id = c.cgroup.ContainerId
+					}
+					trace.GrpcServerTraceStartEvent(r, c.GetAppInfo(), container_id)
 					c.SendEvent(trace, r.TraceId)
 
 					apmTrace, err := c.getOrInitTrace(r.TraceId)

+ 2 - 1
tracing/apm_tracing.go

@@ -129,7 +129,7 @@ func (t *Trace) AllEventReady(traceID uint64) bool {
 	return t.startEventReady && t.endEventReady && *t.currenEventCount >= t.needEventCount
 }
 
-func (t *Trace) GrpcServerTraceStartEvent(r *l7.RequestData, appInfo AppInfo) {
+func (t *Trace) GrpcServerTraceStartEvent(r *l7.RequestData, appInfo AppInfo, container_id string) {
 	t.span.SetAttributes(attribute.String("rpc.uri", string(r.Payload)))
 	t.commonAttrs = []attribute.KeyValue{
 		// buildAppMapFromEvent
@@ -141,6 +141,7 @@ func (t *Trace) GrpcServerTraceStartEvent(r *l7.RequestData, appInfo AppInfo) {
 		attribute.Int64("server.app_id", appInfo.AppIdHash.IntVal),
 		attribute.Int64("server.agent_id", appInfo.AgentId),
 		attribute.Int64("server.instance_id", appInfo.InstanceIdHash.IntVal),
+		attribute.String("server.container_id", container_id),
 	}
 	t.span.SetAttributes(t.commonAttrs...)
 	t.startReady()