I am trying to profile a nested function using cProfile.run. I understand that perhaps cProfile isn't running at the same scope as where I am calling it, but I'm not quite sure what the idiomatic way to achieve this is. Here's an MVCE:
def foo():
def bar():
# do something here
return 1
cProfile.run('bar()')
Gives the error:
NameError: name 'bar' is not defined
Use cProfile.runctx:
def foo():
def bar():
# do something here
return 1
cProfile.runctx('bar()', None, locals=locals())
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With