Tracing execution context

Execution context decorator that saves the current tracing context when created and restore it every time it is executed.