Performance counter changes (WIP)

If an exception is thrown it will bring this job down - you may want to catch exceptions (possibly log somewhere) and and swallow. I think this can only can work reliably when you create the context each time you need it.