joealcorn / laboratory

Achieving confident refactoring through experimentation with Python 2.7 & 3.3+

Home Page:https://laboratory-python.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Record execution order

joealcorn opened this issue · comments

When #13 was shipped we started running control & candidates in a random order. This is in order to weed out any issues caused by hidden dependencies between them.

However we never record the execution order anywhere, which could be a helpful piece of information when debugging these issues, so we should probably start doing that somehow.

How would you like to record them? Would logging be sufficient?

For example:

logger.debug('Executing control: {}'.format(control_fn.__name__) 
logger.debug('Executing candidate: {}'.format(candidate_fn.__name__)

The library could also pull the fully qualified name as well, if that'd be more helpful. What do you think?

I don't think logging is enough - it should be available on the Result instance so that it's available during publishing.