Criação de perfil de geradores Python

Estou adaptando um aplicativo que faz uso pesado de geradores para produzir seus resultados e fornecer uma interface web.py.

Até agora, eu poderia agrupar a chamada para o loop for e as instruções de produção de saída em uma função e chamar isso usandocProfile.run() ourunctx(). Conceitualmente:

def output():
    for value in generator():
        print(value)

cProfile.run('output()')

No web.py, preciso envolvê-lo da seguinte maneira, pois quero produzir imediatamente a saída do cálculo potencialmente demorado em cada etapa da iteração usandoyield:

class index:
    def GET(self):
        for value in generator():
            yield make_pretty_html(value)

Existe uma maneira de criar um perfil de todas as chamadas para o gerador, como no primeiro exemplo, quando usado como no segundo?

questionAnswers(3)

yourAnswerToTheQuestion