Forráskód Böngészése

Fixed #JiraBug28824 通过ebpf给相同主机的不同应用注入探针,生成的agent_id相同解决

rock 1 éve
szülő
commit
dedbb94c86
2 módosított fájl, 6 hozzáadás és 5 törlés
  1. 2 2
      containers/apm_register_app.go
  2. 4 3
      containers/container_apm.go

+ 2 - 2
containers/apm_register_app.go

@@ -40,9 +40,9 @@ func (c *Container) RegisterAppInfo(r *Registry, pid uint32) error {
 		if nodeInfo == nil {
 			return fmt.Errorf("[%sregister app] Unknown node info.", cl)
 		}
-		if reRegFlag {
+		// if reRegFlag {
 			c.ReBuildIds(pid)
-		}
+		// }
 		registerAppReq := RegisterAppReq{
 			AppId:       c.AppInfo.AppIdHash.IntVal,
 			AppName:     c.WhiteSettingInfo.AppName,

+ 4 - 3
containers/container_apm.go

@@ -324,8 +324,8 @@ func (c *Container) buildIDs(pid uint32) bool {
 		strInstanceID := utils.BuildInt64ID(fmt.Sprintf("%s:%d", c.AppInfo.Sn, sport))
 		c.AppInfo.InstanceIdHash.IntVal, _ = strInstanceID.ToInt64()
 		c.AppInfo.InstanceIdHash.HashtVal = strInstanceID.ToHashByte()
-		strAgentID := utils.BuildInt64ID(fmt.Sprintf("%s:%s", utils.GetHostIP(), string(proc.GetExe(pid))))
-		c.AppInfo.AgentId, _ = strAgentID.ToInt64()
+		// strAgentID := utils.BuildInt64ID(fmt.Sprintf("%s:%s", utils.GetHostIP(), string(proc.GetExe(pid))))
+		// c.AppInfo.AgentId, _ = strAgentID.ToInt64()
 		c.AppInfo.CodeType = c.GetCodeTypeFromCache(pid)
 		return true
 	}
@@ -354,7 +354,8 @@ func (c *Container) ReBuildIds(pid uint32) {
 		strInstanceID := utils.BuildInt64ID(fmt.Sprintf("%s:%d", c.AppInfo.Sn, sport))
 		c.AppInfo.InstanceIdHash.IntVal, _ = strInstanceID.ToInt64()
 		c.AppInfo.InstanceIdHash.HashtVal = strInstanceID.ToHashByte()
-		strAgentID := utils.BuildInt64ID(fmt.Sprintf("%s:%s", utils.GetHostIP(), string(proc.GetExe(pid))))
+		// strAgentID := utils.BuildInt64ID(fmt.Sprintf("%s:%s", utils.GetHostIP(), string(proc.GetExe(pid))))
+		strAgentID := utils.BuildInt64ID(fmt.Sprintf("%s:%d", utils.GetHostIP(), c.AppInfo.AppIdHash.IntVal))
 		c.AppInfo.AgentId, _ = strAgentID.ToInt64()
 		c.AppInfo.CodeType = c.GetCodeTypeFromCache(pid)
 	}