def diff_event_type(conf):
    cnt = 0
    for r in pcresult.results(conf):
        dataset_flag = False
        set_undirected = set()
        for edge in r.graph.edges():
            types = [r.evmap.info(eid).type for eid in edge]
            if types[0] == types[1]:
                pass
            else:
                if not dataset_flag:
                    print("# {0}".format(r.filename.partition("/")[-1]))
                    dataset_flag = True
                if (edge[1], edge[0]) in r.graph.edges():
                    directed = False
                    if (edge[1], edge[0]) in set_undirected:
                        pass
                    else:
                        set_undirected.add(edge)
                        r._print_edge(edge, directed)
                        cnt += 1
                else:
                    directed = True
                    r._print_edge(edge, directed)
                    cnt += 1
    print
    print("Edges among different event type: {0}".format(cnt))
def show_count(conf, threshold=0.005, mode="count"):
    l_result = pcresult.results(conf)
    #ef = EdgeFilter(conf)
    if mode == "count":
        ef = _ClassifierOfCount(l_result, threshold)
    elif mode == "count-ighost":
        ef = _ClassifierOfCountIgHost(l_result, threshold)
    #ef._th_val = threshold
    ef.show_all(l_result)
 def _init_dict(self, conf):
     import pcresult
     l_result = pcresult.results(conf)
     if self.method == "count":
         self.clsobj = _ClassifierOfCount(l_result, self.threshold)
     elif self.method == "count_ighost":
         self.clsobj = _ClassifierOfCountIgHost(l_result, self.threshold)
     elif self.method == "cont":
         areas = pcresult.result_areas(conf)
         self.clsobj = _ClassifierOfContinuation(l_result,
                 self.threshold, areas)
     elif self.method == "cont_ighost":
         areas = pcresult.result_areas(conf)
         self.clsobj = _ClassifierOfContinuationIgHost(l_result,
                 self.threshold, areas)
 def _init_dict(self, conf):
     import pcresult
     l_result = pcresult.results(conf)
     if self.method == "count":
         self.clsobj = _ClassifierOfCount(l_result, self.threshold)
     elif self.method == "count_ighost":
         self.clsobj = _ClassifierOfCountIgHost(l_result, self.threshold)
     elif self.method == "cont":
         areas = pcresult.result_areas(conf)
         self.clsobj = _ClassifierOfContinuation(l_result, self.threshold,
                                                 areas)
     elif self.method == "cont_ighost":
         areas = pcresult.result_areas(conf)
         self.clsobj = _ClassifierOfContinuationIgHost(
             l_result, self.threshold, areas)
def diff_evset_edge(conf1, conf2):
    import eventmgr
    d_diff = eventmgr.diff_event_edge(conf1, conf2)

    for r in pcresult.results(conf1):
        dataset_flag = False
        fn = r.filename.split("/")[-1]
        s_evdef = d_diff[fn]
        for edge in r.graph.edges():
            if r.evmap.info(edge[0]) in s_evdef or \
                    r.evmap.info(edge[1]) in s_evdef:
                if not dataset_flag:
                    print("# {0}".format(r.filename.partition("/")[-1]))
                    dataset_flag = True
                directed = (edge[1], edge[0]) in r.graph.edges()
                r._print_edge(edge, directed)
        print
def list_all_gid(conf):
    import log_db
    import lt_label
    ld = log_db.LogData(conf)
    ll = lt_label.init_ltlabel(conf)

    s_gid = set()
    for r in pcresult.results(conf):
        for edge in r.graph.edges():
            for gid in [r.evmap.info(eid).gid for eid in edge]:
                s_gid.add(gid)

    for gid in s_gid:
        l_ltline = ld.ltg_members(gid)
        print(
            "gid {0} : {1} in {2}".format(gid, ll.get_ltg_label(gid,
                                                                l_ltline)),
            ll.get_ltg_group(gid, l_ltline))
def related_filtered_all(conf, key="date"):
    import networkx as nx
    d_nodes = defaultdict(int)
    d_edges = defaultdict(int)
    d_filtered = defaultdict(int)
    for r in pcresult.results(conf):
        key = r.filename.split("_")[-1]
        d_nodes[key] += r.graph.number_of_nodes()
        d_edges[key] += pcresult.number_of_edges(r.graph)
        g = nx.Graph(r.graph)
        for edge in g.edges():
            types = [r.evmap.info(eid).type for eid in edge]
            if types[0] == 0 and types[1] == 0:
                pass
            else:
                d_filtered[key] += 1

    for k in sorted(d_nodes.keys()):
        print("{0} {1} {2} {3}".format(k, d_nodes[k], d_edges[k],
                                       d_filtered[k]))
def related_filtered(conf):
    cnt = 0
    for r in pcresult.results(conf):
        dataset_flag = False
        for edge in r.graph.edges():
            types = [r.evmap.info(eid).type for eid in edge]
            if types[0] == 0 and types[1] == 0:
                pass
            else:
                if not dataset_flag:
                    print("# {0}".format(r.filename.partition("/")[-1]))
                    dataset_flag = True
                if (edge[1], edge[0]) in r.graph.edges():
                    directed = False
                else:
                    directed = True
                r._print_edge(edge, directed)
                cnt += 1
    print
    print("Edges related to filtered event: {0}".format(cnt))
 def get_edge_dict(conf, flag, ac_host):
     d = {}
     for r in pcresult.results(conf):
         fn = r.filename.split("/")[-1]
         d[fn] = set()
         dedges, udedges = r._separate_edges()
         if flag is None:
             edges = dedges + udedges
         elif flag == "directed":
             edges = dedges
         elif flag == "undirected":
             edges = udedges
         else:
             raise ValueError
         for edge in edges:
             cedge = tuple([r.evmap.info(eid) for eid in edge])
             if ac_host and cedge[0].host == cedge[1].host:
                 pass
             else:
                 d[fn].add(cedge)
     return d
Beispiel #10
0
def test_edge_filter_cont(conf):
    conf.set("visual", "edge_filter_method", "cont")
    conf.set("visual", "edge_filter_th", "2.0")
    l_result = pcresult.results(conf)
    ef = EdgeFilter(conf)
    ef.show_all(l_result)
Beispiel #11
0
def test_edge_filter(conf):
    l_result = pcresult.results(conf)
    ef = EdgeFilter(conf)
    ef.show_all(l_result)
def test_edge_filter_cont(conf):
    conf.set("visual", "edge_filter_method", "cont")
    conf.set("visual", "edge_filter_th", "2.0")
    l_result = pcresult.results(conf)
    ef = EdgeFilter(conf)
    ef.show_all(l_result)
def test_edge_filter(conf):
    l_result = pcresult.results(conf)
    ef = EdgeFilter(conf)
    ef.show_all(l_result)
def search_gid(conf, gid):
    for r in pcresult.results(conf):
        for edge in r.graph.edges():
            for temp_gid in [r.evmap.info(eid).gid for eid in edge]:
                if temp_gid == gid:
                    print r.filename