2016-07-24 5 views
0

При использовании perf4J, этот код работает хорошо:Использование perf4J профилированный аннотацию без других библиотек (например, log4j, например)

StopWatch stopWatch = new LoggingStopWatch(); 
stopWatch.stop("example1", "custom message text"); 

Но при использовании @Profiled, что делать для вывода или получить меры, с минимальным кода:

@Profiled(tag = "dynamicTag_{$0}") 
public void boucle(int k) 
{ 
    // My code to profile 
} 

ответ

0

При использовании @Profiled аннотацию добавить секундомеры в код, вы обычно будете использовать AspectJ Load Time Ткачество (LTW) для инструмента код на нагрузки/выполнения, который добавляет Запускается секундомер/остановки а также записи вокруг аннотированных методов.

Какая библиотека ведения журналов/API (log4j, slf4j, commons-logging, JUL) используется в зависимости от конкретного экземпляра org.perf4j.aop.ProfiledTimingAspect, который вы настраиваете в своем aop.xml, настраивая LTW. Например, эта конфигурация:

<aspectj> 
    <!-- 
    We only want to weave in the log4j TimingAspect into the @Profiled classes. 
    Note that Perf4J provides TimingAspects for the most popular Java logging 
    frameworks and facades: log4j, java.util.logging, Apache Commons Logging 
    and SLF4J. The TimingAspect you specify here will depend on which logging 
    framework you wish to use in your code. 
    --> 
    <aspects> 
    <aspect name="org.perf4j.log4j.aop.TimingAspect"/> 
    <!-- if SLF4J/logback use org.perf4j.slf4j.aop.TimingAspect instead --> 
    </aspects> 

    <weaver options="-verbose -showWeaveInfo"> 
    <!-- 
     Here is where we specify the classes to be woven. You can specify package 
     names like com.company.project.* 
    --> 
    <include within="ProfiledExample"/> 
    </weaver> 
</aspectj> 

... использует org.perf4j.log4j.aop.TimingAspect, поэтому секундомеры будут записываться в настроенный Log4J секундомера регистратор. Если вы хотите избежать сторонних библиотек, вы можете изменить это для регистратора JUL JDK.

Смежные вопросы