Olá a todos,
Eu estou utilizando o TPTP para realizar perfilação de um código, e estou gostando muito da ferramenta, apesar de ter encontrado em alguns fóruns opniões contrárias (não aqui no GUJ).
O meu problema é com a utilização de filtros, existem dois tipos de filtros:
-
Um anterior à perfilação, que é usado para performance, onde o desenvolvedor define o que quer perfilar e com isso fica realmente mais rápido o processo de perfilação. Os métodos excluídos do filtro não podem mais ser analisados após a perfilação (É necessário outra perfilação com alteração do filtro para inclusão dos métodos).
-
Um posterior à perfilação, usado somente para visualização dos resultados, em qualquer momento o desenvolvedor pode voltar a ver todos os métodos perfilados somente mudando o filtro.
Eu estou tendo resultados indesejados com a utilização do filtro anterior à perfilação, o mais interessante dos dois aliás.
A ordem em que insiro padrões no filtro está influenciando em quais métodos são perfilados, até ai tudo bem, o problema é que fazendo testes com a ferramente cheguei ao ponto de ter dois padrões exclusivos, vou colocar o exemplo que fiz pra tentar me explicar melhor.
Class Method name Rule
…
ClasseA metodoX INCLUDE
ClasseA metodoY INCLUDE
…
Nesse caso, eu consegui que o TPTP perfilasse o método ‘metodoX’, porém o método ‘metodoY’ foi excluído apesar da regra INCLUDE. Foi aí que mudei a ordem desses padrões, ficando assim:
Class Method name Rule
…
ClasseA metodoY INCLUDE
ClasseA metodoX INCLUDE
…
Com isso funcionou, consegui que o método ‘metodoY’ fosse perfilado, porém o método ‘metodoX’ não foi mais perfilado. A relação entre esses métodos nesse meu exemplo é que metodoX invoca metodoY. Esses nomes são somente de exemplo, os nomes reais dos métodos são totalmente diferentes, portando é inviável que eu utilize um wildcard e transforme em um único padrão.
Com o contexto da situação explicado, lanço minhas perguntas:
Alguém já passou por isso? Existe alguma solução para essa situação? Eu estou usando o TPTP corretamente?