Exemplo n.º 1
0
def main():
    print("Running singularity parser")
    parser = Parser()
    parser.add_pattern(
        "planner_exit_code",
        r"run-planner exit code: (.+)\n",
        type=int,
        file="driver.log",
        required=True,
    )
    parser.add_pattern("node",
                       r"node: (.+)\n",
                       type=str,
                       file="driver.log",
                       required=True)
    parser.add_pattern(
        "planner_wall_clock_time",
        r"run-planner wall-clock time: (.+)s",
        type=float,
        file="driver.log",
        required=True,
    )
    parser.add_pattern("runtime", r"Singularity runtime: (.+?)s", type=float)
    parser.add_pattern("raw_memory", r"Peak memory: (\d+) KB", type=int)
    parser.add_pattern("cost", r"\nFinal value: (.+)\n", type=int)
    parser.add_function(coverage)
    parser.add_function(unsolvable)
    parser.add_function(error)
    parser.add_function(parse_g_value_over_time)
    parser.parse()
Exemplo n.º 2
0
def main():
    print("Running singularity parser")
    parser = Parser()
    parser.add_pattern(
        "planner_exit_code",
        r"run-planner exit code: (.+)\n",
        type=int,
        file="driver.log",
        required=True,
    )
    parser.add_pattern(
        "node", r"node: (.+)\n", type=str, file="driver.log", required=True
    )
    parser.add_pattern(
        "planner_wall_clock_time",
        r"run-planner wall-clock time: (.+)s",
        type=float,
        file="driver.log",
        required=True,
    )
    parser.add_pattern("search_time", r"Search time: (.+)s", type=float)
    parser.add_pattern("total_time", r"Total time: (.+)s\n", type=float)
    # The Singularity runtime only has a granularity of seconds.
    parser.add_pattern("singularity_runtime", r"Singularity runtime: (.+)s", type=int)
    parser.add_pattern("raw_memory", r"Peak memory: (\d+) KB", type=int)
    parser.add_pattern("cost", r"\nFinal value: (.+)\n", type=int)
    parser.add_function(coverage)
    parser.add_function(unsolvable)
    parser.add_function(error)
    parser.parse()
Exemplo n.º 3
0
def main():
    print 'Running custom parser'
    parser = Parser()
    parser.add_pattern('time_for_pruning_operators',
                       r'^Time for pruning operators: (.+)s$',
                       type=float,
                       flags="M")
    parser.parse()
Exemplo n.º 4
0
def main():
    parser = Parser()
    parser.add_pattern("raw_memory", r"Peak memory: (.+) KB", type=int),
    parser.add_function(find_all_matches("cost:all", r"Plan cost: (.+)\n", type=float))
    parser.add_function(
        find_all_matches("steps:all", r"Plan length: (.+) step\(s\).\n", type=float)
    )
    parser.add_function(reduce_to_min("cost:all", "cost"))
    parser.add_function(reduce_to_min("steps:all", "steps"))
    parser.add_function(coverage)
    parser.add_function(add_memory)
    parser.parse()
Exemplo n.º 5
0
def main():
    parser = Parser()
    parser.add_pattern("int_hash_set_load_factor",
                       "Int hash set load factor: \d+/\d+ = (.+)",
                       required=False,
                       type=float)
    parser.add_pattern("int_hash_set_resizes",
                       "Int hash set resizes: (\d+)",
                       required=False,
                       type=int)
    print "Running custom parser"
    parser.parse()
Exemplo n.º 6
0
def main():
    parser = Parser()
    parser.add_function(
        find_all_matches("cost:all", r"Plan cost: (.+)\n", type=float))
    parser.add_function(
        find_all_matches("steps:all",
                         r"Plan length: (.+) step\(s\).\n",
                         type=float))
    parser.add_function(reduce_to_min("cost:all", "cost"))
    parser.add_function(reduce_to_min("steps:all", "steps"))
    parser.add_function(coverage)
    parser.parse()
Exemplo n.º 7
0
def main():
    print("Running singularity parser")
    parser = Parser()
    parser.add_pattern(
        "planner_exit_code",
        r"run-planner exit code: (.+)\n",
        type=int,
        file="driver.log",
        required=True,
    )
    parser.add_pattern("node",
                       r"node: (.+)\n",
                       type=str,
                       file="driver.log",
                       required=True)
    parser.add_pattern(
        "planner_wall_clock_time",
        r"run-planner wall-clock time: (.+)s",
        type=float,
        file="driver.log",
        required=True,
    )
    parser.add_pattern("runtime", r"Singularity runtime: (.+?)s", type=float)
    parser.add_pattern(
        "time_limit",
        r"Enforcing CPUTime limit \(soft limit, will send "
        r"SIGTERM then SIGKILL\): (\d+) seconds",
        type=int,
        file="watch.log",
        required=True,
    )
    # Cumulative runtime and virtual memory of the solver and all child processes.
    parser.add_pattern("runtime",
                       r"WCTIME=(.+)",
                       type=float,
                       file="values.log",
                       required=True)
    parser.add_pattern("virtual_memory",
                       r"MAXVM=(\d+)",
                       type=int,
                       file="values.log",
                       required=True)
    parser.add_pattern("raw_memory", r"Peak memory: (\d+) KB", type=int)
    parser.add_pattern("cost", r"\nFinal value: (.+)\n", type=int)
    parser.add_function(coverage)
    parser.add_function(unsolvable)
    parser.add_function(parse_g_value_over_time)
    parser.add_function(set_outcome, file="values.log")
    parser.parse()
Exemplo n.º 8
0
def main():
    print "Running custom parser"
    parser = Parser()
    parser.add_pattern("pdb_collection_construction_time",
                       "^PDB collection construction time: (.+)s$",
                       type=float,
                       flags="M",
                       required=False)
    parser.add_pattern("dominance_pruning_time",
                       "^Dominance pruning took (.+)s$",
                       type=float,
                       flags="M",
                       required=False)
    parser.add_pattern("dominance_pruning_pruned_subsets",
                       "Pruned (\d+) of \d+ maximal additive subsets",
                       type=int,
                       required=False)
    parser.add_pattern("dominance_pruning_pruned_pdbs",
                       "Pruned (\d+) of \d+ PDBs",
                       type=int,
                       required=False)
    parser.add_function(add_dominance_pruning_failed)
    parser.parse()
Exemplo n.º 9
0
parser.add_function(check_planner_exit_reason)


def check_perfect_heuristic(content, props):
    plan_length = props.get('plan_length')
    expansions = props.get('expansions')
    if plan_length != None:
        perfect_heuristic = False
        if plan_length + 1 == expansions:
            perfect_heuristic = True
        props['perfect_heuristic'] = perfect_heuristic


parser.add_function(check_perfect_heuristic)


def check_proved_unsolvability(content, props):
    proved_unsolvability = False
    if props['coverage'] == 0:
        for line in content.splitlines():
            if line == 'Completely explored state space -- no solution!':
                proved_unsolvability = True
                break
    props['proved_unsolvability'] = proved_unsolvability


parser.add_function(check_proved_unsolvability)

parser.parse()
Exemplo n.º 10
0
#! /usr/bin/env python

from lab.parser import Parser


def wordcount(content, props):
    props["number_of_files"] = len(content.splitlines())


parser = Parser()
parser.add_function(wordcount)
parser.add_pattern("first_number", "(\d+)")
parser.parse()