(resource model.Resource)
| 656 | } |
| 657 | |
| 658 | func (c *Cloud) appendResourceProcess(resource model.Resource) model.Resource { |
| 659 | |
| 660 | if genesis.GenesisService == nil { |
| 661 | log.Error("genesis service is nil", logger.NewORGPrefix(c.orgID)) |
| 662 | return resource |
| 663 | } |
| 664 | |
| 665 | genesisSyncData, err := genesis.GenesisService.GetGenesisSyncResponse(c.orgID) |
| 666 | if err != nil { |
| 667 | log.Error(err.Error(), logger.NewORGPrefix(c.orgID)) |
| 668 | return resource |
| 669 | } |
| 670 | |
| 671 | vtapIDToLcuuid, err := cloudcommon.GetVTapSubDomainMappingByDomain(c.basicInfo.Lcuuid, c.db.DB) |
| 672 | if err != nil { |
| 673 | log.Errorf("domain (%s) add process failed: %s", c.basicInfo.Name, err.Error(), logger.NewORGPrefix(c.orgID)) |
| 674 | return resource |
| 675 | } |
| 676 | |
| 677 | for _, sProcess := range genesisSyncData.Processes { |
| 678 | lcuuid, ok := vtapIDToLcuuid[int(sProcess.VtapID)] |
| 679 | if !ok { |
| 680 | continue |
| 681 | } |
| 682 | name, processName := sProcess.Name, sProcess.ProcessName |
| 683 | if len(sProcess.Name) > c.cfg.ProcessNameLenMax { |
| 684 | name = sProcess.Name[:c.cfg.ProcessNameLenMax] |
| 685 | } |
| 686 | if len(sProcess.ProcessName) > c.cfg.ProcessNameLenMax { |
| 687 | processName = sProcess.ProcessName[:c.cfg.ProcessNameLenMax] |
| 688 | } |
| 689 | process := model.Process{ |
| 690 | Lcuuid: sProcess.Lcuuid, |
| 691 | Name: name, |
| 692 | VTapID: sProcess.VtapID, |
| 693 | PID: sProcess.PID, |
| 694 | NetnsID: sProcess.NetnsID, |
| 695 | ProcessName: processName, |
| 696 | CommandLine: sProcess.CMDLine, |
| 697 | UserName: sProcess.UserName, |
| 698 | ContainerID: sProcess.ContainerID, |
| 699 | StartTime: sProcess.StartTime, |
| 700 | OSAPPTags: sProcess.OSAPPTags, |
| 701 | } |
| 702 | if resource.Verified && lcuuid == "" { |
| 703 | resource.Processes = append(resource.Processes, process) |
| 704 | continue |
| 705 | } |
| 706 | subDomainResource, ok := resource.SubDomainResources[lcuuid] |
| 707 | if !ok || !subDomainResource.Verified { |
| 708 | continue |
| 709 | } |
| 710 | process.SubDomainLcuuid = lcuuid |
| 711 | subDomainResource.Processes = append(subDomainResource.Processes, process) |
| 712 | resource.SubDomainResources[lcuuid] = subDomainResource |
| 713 | } |
| 714 | return resource |
| 715 | } |
no test coverage detected