como fazer um decorador condicional em python

É possível decorar uma função condicionalmente? Por exemplo, eu quero decorar a funçãofoo() com uma função de temporizador (timeit) somente fazendo_ análise de desempenho éTrue (veja o código do psuedo abaixo).

if doing_performance_analysis:
  @timeit
  def foo():
    """
    do something, timeit function will return the time it takes
    """
    time.sleep(2)
else:
  def foo():
    time.sleep(2)  

questionAnswers(6)

yourAnswerToTheQuestion