首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从pycallgraph中删除库模块或特定函数

如何从pycallgraph中删除库模块或特定函数
EN

Stack Overflow用户
提问于 2013-08-14 17:19:08
回答 1查看 667关注 0票数 0

我使用愈伤图来分析我的代码性能。但是,调用图非常混乱,有很多对系统函数的调用,以及一些我不想文档化的函数。我怎样才能阻止pycallgraph报告这些电话呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-15 14:38:42

Pycallgraph提供了过滤功能,可以过滤出您希望从调用图中排除的任何模块、类或函数。在启动跟踪并传递给pycallgraph之前,应该定义以下函数

示例

代码语言:javascript
复制
def filtercalls(call_stack, modul, clas, func, full):
    mod_ignore = ['shutil','scipy.optimize','re','os','sys','json']
    func_ignore = ['CustomFunctionName','pdbcall']
    clas_ignore = ['pdb']
    return modul not in mod_ignore and func not in func_ignore and clas not in clas_ignore

pycallgraph跟踪开始是

代码语言:javascript
复制
pycallgraph.start_trace(filter_func=filtercalls)

这样,您在过滤器调用中提供的任何模块、类或函数都将被删除。请注意,在标准库中只提供模块名是不够的。因此,在mod_ignore中包含numpy仍然会导致numpy.core被包括在内。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18238184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档