MCPcopy Create free account
hub / github.com/deepflowio/deepflow / appendResourceProcess

Method appendResourceProcess

server/controller/cloud/cloud.go:658–715  ·  view source on GitHub ↗
(resource model.Resource)

Source from the content-addressed store, hash-verified

656}
657
658func (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}

Callers 2

GetResourceMethod · 0.95
GetSubDomainResourceMethod · 0.95

Calls 3

ErrorMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected