2015-05-28 2 views
0

Я пытаюсь интегрировать Jprofiler 8.1.4 с jenkins, используя автономный API профилирования JProfiler. Ниже приведена программа, написанная наUnsatisfiedLinkError при вызове JProfiler

  • Начало записи JProfiler.
  • Сохранить моментальный снимок.
  • Остановить запись JProfiler.

    импорт java.io.File; import java.io.IOException;

    открытый класс TestJenJPIntegration { public static Connection connObj = null; государственной статической силы recordCPUdata() бросает java.io.IOException, InterruptedException {

    File fileObj; 
        fileObj = new File("C:\\Perl\\firstSnap.jps"); 
        Controller.startCPURecording(true); 
          System.out.println("CPU recording started.."); 
    
           Controller.saveSnapshot(fileObj); 
        System.out.println("Saved snapshot"); 
    
           Controller.stopCPURecording(); 
        System.out.println("CPU recording stopped..");  
    
    } 
    
    public static void main(String[] args) throws IOException, InterruptedException { 
         try { 
    
         recordCPUdata(); 
        } catch (IOException e) { 
         e.printStackTrace(); 
        } 
    
    } 
    

    }

Инструмент JProfiler отлично вручную, чтобы начать запись, сохранить снимок и остановить запись работает. Но когда я выполнить программу, я получаю следующее сообщение об ошибке UnsatisfiedLinkError:

  • Я использовал демо-сервер профилирование, который был доступен в самой JProfiler. И я профилируюсь в той же системе, где работает Демо-приложение.
  • ПРИМЕЧАНИЕ. Сервер и клиент используют тот же файл JProfilerTI.dll, если это будет проблемой.

java.lang.UnsatisfiedLinkError: com.jprofiler.agent.InterceptionCallee.registerI nterceptions0 (Z [Lcom/JProfiler/агент/Util/ч; Ljava/языки/отражения/поле; Ljava/языки/ Ljava/lang/reflect/Field; Ljava/lang/refle ct/Field; Ljava/lang/reflection/Field; Ljava/lang/reflect/Field; Ljava/lang/reflect/Field; Ljava/lang/отражать/Fi eld; Ljava/lang/reflection/Field; Ljava/lang/Class; Ljava/lang/reflect/Method; Ljava/la ng/reflection/Method;) V at com.jprofiler.agent.InterceptionCallee. registerInterceptions0 (родной метод) at com.jprofiler.agent.In terceptionCallee.registerInterceptions (EJT: 152)

 at com.jprofiler.agent.probe.y.a(ejt:181) 
     at com.jprofiler.agent.probe.y.a(ejt:37) 
     at com.jprofiler.agent.Agent.initStatic(ejt:320) 
     at com.jprofiler.agent.Agent.<clinit>(ejt:98) 
     at com.jprofiler.agent.ControllerImpl.startCPURecording(ejt:53) 
     at com.jprofiler.api.agent.Controller.startCPURecording(ejt:108) 
     at TestJenJPIntegration.recordCPUdata(TestJenJPIntegration.java:24) 
     at TestJenJPIntegration.main(TestJenJPIntegration.java:45) 
JProfiler> Native library not found. Ignoring controller call. 

/пользователя Печатный Заявление/

CPU recording started.. 

Exception in thread "_jprofiler_offline_comm" java.lang.UnsatisfiedLinkError: co 
m.jprofiler.agent.ControllerImpl.saveSnapshot0([BLjava/lang/Object;)V 
     at com.jprofiler.agent.ControllerImpl.saveSnapshot0(Native Method) 
     at com.jprofiler.agent.ControllerImpl.access$100(ejt:18) 
     at com.jprofiler.agent.h.run(ejt:186) 

/пользователя Печатный Заявление/Saved snapshot

JProfiler> Native library not found. Ignoring controller call. 

/пользователей Печатный Заявление/CPU recording stopped..

ответ

0

Платформа com.jprofiler.api.platform не предназначена для автономного профилирования, а предназначена для написания программы, которая анализирует данные профилирования напрямую.Вы должны использовать только класс контроллера и передать -agentpath параметр VM с автономного коммутатора, как указано в мастере интеграции

session-> Интеграция Wizards-> New Remote Integration

+0

Моя проблема в том, что я unble, чтобы начать запись используя вышеуказанную программу для Jprofiler. Теперь я попытался загрузить System.loadLibrary в свою программу, и JVM потерпел аварию. # фатальная ошибка была обнаружена с помощью Java Runtime Environment: # EXCEPTION_ACCESS_VIOLATION (0xc0000005) на рс = 0x00000001800719bd, PID = 3844, т ID = 5352 # # JRE версии: Java (TM) SE Runtime Environment (7.0_60-b19) (сборка 1.7.0_60-b19) # Не удалось записать основной дамп. Minidumps по умолчанию не активируются на клиентах версии ионами Windows. Любые решения? –

+0

Вы пробовали мастер интеграции? Вы не можете использовать loadLibrary, вы должны передать параметр VM -agentpath, заданный мастером интеграции –

+0

Нет, вызов Controller должен быть выполнен в вашем коде, который запущен в профилированной JVM, вам не нужно вручную загружать библиотеку JProfiler. Нет отдельного процесса JProfiler, если вы не имеете в виду графический интерфейс JProfiler, который не подходит для автономного профилирования. –

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