MCPcopy Create free account
hub / github.com/PKU-ASAL/Simulated-Data / update

Method update

src/Sysdig/real-time/ProvGraph.py:124–229  ·  view source on GitHub ↗
(self, anomaly_cutoff, topK = 20)

Source from the content-addressed store, hash-verified

122 # sim_list.append()
123
124 def update(self, anomaly_cutoff, topK = 20):
125 self.lock.acquire()
126# self.G = nx.compose(self.G,self.TmpG)
127 self.G = self.TmpG.copy()
128 self.TmpG.clear()
129 self.lock.release()
130 # print('1')
131 nodes = self.G.nodes()
132 pnode = []
133 for node in nodes:
134 if self.GetNodeType(node) == APTLOG_NODE_TYPE.PROCESS and self.GetNodeName(node) != '':
135 pnode.append(node)
136 self.node_set |= set(pnode)
137 update_node_list = self.caculate_anomaly_score(pnode,anomaly_cutoff)
138
139
140 if update_node_list == -1:
141 self.thread_lock.release()
142 return
143 relabel_dic = {}
144 for node in self.G.nodes():
145 origion = node
146 while node in self.taylor_map:
147 node = self.taylor_map[node]
148 if origion != node:
149 self.taylor_map[origion] = node
150 relabel_dic[origion] = node
151 print(len(relabel_dic))
152 self.G = nx.relabel_nodes(self.G, relabel_dic,copy=False)
153 update_node_list = list(update_node_list)
154 for i,node in enumerate(update_node_list):
155 if node in relabel_dic:
156 update_node_list[i] = relabel_dic[node]
157 update_node_list = set(update_node_list)
158
159 # remove_edge_list = []
160
161 # for e in self.G.edges:
162 # e_type = self.G.edges[e]['type']
163 # if ETYPE[e_type] in IGNTYPE:
164 # remove_edge_list.append(e)
165
166 # self.G.remove_edges_from(remove_edge_list)
167
168 # remove_node_list = []
169 # cron_list = []
170 # for node in self.G.nodes:
171 # attr = self.GetNodeName(node)
172 # if attr == "":
173 # remove_node_list.append(node)
174 # if attr == "cron" or attr == "bash" or attr == "sh" or attr == "sshd":
175 # if attr == "cron":
176 # cron_list.append(node)
177
178 self.G = nx.DiGraph(self.G)
179 # cron_process = set()
180 # reserved_process = dict()
181 # for cron in cron_list:

Callers

nothing calls this directly

Calls 5

GetNodeTypeMethod · 0.95
GetNodeNameMethod · 0.95
propagationMethod · 0.95
update_cacheMethod · 0.95

Tested by

no test coverage detected