Ejemplo n.º 1
0
def run(name, trace_filter=None, config=None, comment=None):
    if not config:
        config = Config()

    if trace_filter:
        config.trace_filter = trace_filter

    graphviz = GraphvizOutput()
    graphviz.output_file = 'filter-{}.png'.format(name)
    if comment:
        graphviz.graph_attributes['graph']['label'] = comment

    with PyCallGraph(config=config, output=graphviz):
        banana = Banana()
        banana.eat()
Ejemplo n.º 2
0
def run(name, trace_grouper=None, config=None, comment=None):
    if not config:
        config = Config()

    config.trace_filter = GlobbingFilter()

    if trace_grouper is not None:
        config.trace_grouper = trace_grouper

    graphviz = GraphvizOutput()
    graphviz.output_file = 'grouper-{}.png'.format(name)
    if comment:
        graphviz.graph_attributes['graph']['label'] = comment

    with PyCallGraph(config=config, output=graphviz):
        example_with_submodules.main()
def stdlib_trace(trace_processor, include_stdlib):
    trace_processor.config = Config(include_stdlib=include_stdlib)
    sys.settrace(trace_processor.process)
    re.match("asdf", "asdf")
    calls.one_nop()
    sys.settrace(None)
    return trace_processor.call_dict
Ejemplo n.º 4
0
def main():
    graphviz = GraphvizOutput()
    graphviz.output_file = 'regexp.png'
    config = Config(include_stdlib=True)

    with PyCallGraph(output=graphviz, config=config):
        reo = compile()
        match(reo)
Ejemplo n.º 5
0
def main():
    graphviz = GraphvizOutput()
    graphviz.output_file = 'large.png'
    config = Config(include_stdlib=True)

    with PyCallGraph(output=graphviz, config=config):
        from urllib3 import urlopen
        from xml.dom.minidom import parseString
        parseString(urlopen('http://w3.org/').read())
Ejemplo n.º 6
0
def main():
    import_list = (
        'pickle',
        'htmllib',
        'urllib2',
    )
    graphviz = GraphvizOutput()
    config = Config(include_stdlib=True)

    for module in import_list:
        graphviz.output_file = 'import-{}.png'.format(module)
        with PyCallGraph(output=graphviz, config=config):
            __import__(module)
Ejemplo n.º 7
0
def main():
    graphviz = GraphvizOutput()
    pycallgraph = PyCallGraph(output=graphviz,
                              config=Config(include_stdlib=True))

    pycallgraph.start()
    pycallgraph.stop()

    # Set the edge colour to black for all examples
    graphviz.edge_color_func = lambda e: Color(0, 0, 0)

    # Default node colouring
    graphviz.output_file = 'colours-default.png'
    graphviz.done()

    def run(func, output_file):
        graphviz.node_color_func = func
        graphviz.output_file = output_file
        graphviz.done()

    run(rainbow, 'colors-rainbow.png')
    run(greyscale, 'colors-greyscale.png')
    run(orange_green, 'colors-orange-green.png')
    run(rand, 'colors-random.png')
Ejemplo n.º 8
0
def test_set_config():
    """Should not raise!"""
    Output().set_config(Config())
Ejemplo n.º 9
0
def test_init():
    assert Config().groups
    assert Config(groups=False).groups is False
Ejemplo n.º 10
0
def filter_depth():
    config = Config()
    config.max_depth = 1

    run('max_depth', config=config, comment='Should only show a depth of one.')
Ejemplo n.º 11
0
from breakpoints import *
import numpy as np


def filter_fun(name):
    return name[0] == "_"


# def filtercalls(clas, func, full):
#     mod_ignore = ['shutil','scipy.optimize','re','os','sys','json', 'numpy', 'np', 'logging']
#     func_ignore = filter(filter_fun, func) ++ ['logging']
#     clas_ignore = ['pdb', 'logging']
#     return modul not in mod_ignore and func not in func_ignore and clas not in clas_ignore

config = Config(max_depth=7)
config.trace_filter = GlobbingFilter(exclude=[
    'logging.*',
    '__main__',
    "all",
    "any",
    "abc.__instancecheck__",
    "abc.__subclasscheck__",
    "utils.Breakpoints.__init__",
    "copy",
    "repeat",
    "vstack",
    "allclose",
    "concatenate",
    "isclose",
    "argmin",
import matplotlib
import numpy as np
import pytest
from nottingham_covid_modelling import MODULE_DIR
from nottingham_covid_modelling.optimise_model import run_optimise

from pycallgraph2 import PyCallGraph
from pycallgraph2.output import GraphvizOutput
from pycallgraph2 import Config
from pycallgraph2 import GlobbingFilter

#config.trace_filter = GlobbingFilter(include=['__main__', 'nottingham_covid_modelling.*', 'pints'])
#config.trace_filter = GlobbingFilter(exclude=['argparse', 'argparse.*' 'nottingham_covid_modelling.lib.data', 'nottingham_covid_modelling.lib.data.*', 'unittest', 'unittest.*', 'codecs', 'codecs.*', 'amax', 'argsort', '_bootlocale', 'all', 'logging', 'logging.*', '--new--', '-handle_fromlist', 'warnings', 'warnings.*', 'posixpath', 'posixpath.*', 'os', 'os.*', 'genericpath', 'genericpath.*', 'locle', 'locale.*'])

graphviz = GraphvizOutput()
graphviz.output_file = '/home/uczmh2/optimise_model.png'

testargs = ["run_optimise", "--limit_pints_iterations", "10"]

config = Config(max_depth=5)
config.trace_filter = GlobbingFilter(exclude=[
    'pycallgraph.*', 'argparse', 'argparse.*', 'unittest', 'unittest.*',
    'logging', 'logging.*', '--new--', 'nottingham_covid_modelling.data.*',
    'nottingham_covid_modelling.data.DataLoader',
    'nottingham_covid_modelling.data.DataLoader.*'
])
with PyCallGraph(output=graphviz, config=config):
    with mock.patch.object(sys, 'argv', testargs):
        run_optimise()
Ejemplo n.º 13
0
def config():
    return Config()