【问题标题】:How to exlude pycallgraph2 from PyCallGraph context wrapper?如何从 PyCallGraph 上下文包装器中排除 pycallgraph 2?
【发布时间】:2022-10-19 03:59:21
【问题描述】:

以下最小的工作示例

from pycallgraph2 import PyCallGraph
from pycallgraph2.output import GraphvizOutput

with PyCallGraph(output=GraphvizOutput()):
    None

产生这个输出:

Why does PyCallGraph2 describe itself while profiling "Hello, World"? 表明我们可以通过命令行排除命名空间中的某些内容。现在我想在脚本中执行此操作。

【问题讨论】:

    标签: pycallgraph


    【解决方案1】:

    我在提出问题时找到了答案。 pycallgraph 的旧文档显示了如何过滤。如果我们进行一些必要的更改,例如引用pycallgraph2 而不是pycallgraph,我们有:

    from pycallgraph2 import PyCallGraph
    from pycallgraph2 import Config
    from pycallgraph2 import GlobbingFilter
    from pycallgraph2.output import GraphvizOutput
    
    config = Config()
    config.trace_filter = GlobbingFilter(exclude=[
        'pycallgraph2.*'
    ])
    
    with PyCallGraph(output=GraphvizOutput(), config=config):
        None
    

    这给出了预期的结果:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 2013-12-18
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多