During development, web frameworks often spawn a subprocess to serve requests so that they can reload the code if it changes. You might be measuring only the first process, and not the spawned process that is actually doing the work.

Ah, thanks Ned. That makes sense. I suspect the subprocess coverage section in the documentation might be helpful.