Проблем с JProfiler Agent с id и конфигурационен параметър

В момента използваме JProfiler 8.0.4 в Подготовка за профилиране" режим на нашите машини Cent OS заедно с Tomcat 6 и Java 7. Ние използваме JProfiler с плаващ лиценз. Извлякохме JProfiler Linux архива на отдалечените сървъри.

Tomcat се управлява от Tanuki Wrapper. Ето нашата конфигурация

wrapper.java.additional.101=-agentpath:${jprofiler.path}/bin/linux-x64/libjprofilerti.so=port=8849,nowait

Това работи добре и при стартиране намираме това в регистрационните файлове

INFO   | jvm 1    | main    | 2014/03/04 10:06:41.872 | JProfiler> Don't wait for frontend to connect.
INFO   | jvm 1    | main    | 2014/03/04 10:06:41.872 | JProfiler> Protocol version 38
INFO   | jvm 1    | main    | 2014/03/04 10:06:41.872 | JProfiler> Using JVMTI
INFO   | jvm 1    | main    | 2014/03/04 10:06:41.872 | JProfiler> JVMTI version 1.1 detected.
INFO   | jvm 1    | main    | 2014/03/04 10:06:41.873 | JProfiler> 64-bit library
INFO   | jvm 1    | main    | 2014/03/04 10:06:41.873 | JProfiler> Starting up without initial configuration.
INFO   | jvm 1    | main    | 2014/03/04 10:06:41.873 | JProfiler> Listening on port: 8849.
INFO   | jvm 1    | main    | 2014/03/04 10:06:41.873 | JProfiler> Instrumenting native methods.
INFO   | jvm 1    | main    | 2014/03/04 10:06:41.873 | JProfiler> Can retransform classes.
INFO   | jvm 1    | main    | 2014/03/04 10:06:41.873 | JProfiler> Can retransform any class.
INFO   | jvm 1    | main    | 2014/03/04 10:06:41.873 | JProfiler> Native library initialized
INFO   | jvm 1    | main    | 2014/03/04 10:06:42.074 | JProfiler> VM initialized

Най-накрая се свързваме с нашите JProfiler клиенти с агентите и всичко е наред.

Както е споменато в 1

, също така е възможно да добавите параметри ,config=[config file] и ,id=[id], за да инструктирате профилиращия агент да вземе настройките за профилиране от определена сесия в конкретен конфигурационен файл. Ако се свържете със същите настройки за профилиране, няма да се налага повторно преобразуване на класове.

но ако добавим конфигурация и id като този wrapper.java.additional.101=-agentpath:${jprofiler.path}/bin/linux-x64/libjprofilerti.so=port=8849,nowait,id=${jprofiler.id },config=${jprofiler.config.path} VM не може да стартира, защото JProfiler иска лиценз.

INFO   | jvm 5    | main    | 2014/03/04 10:05:30.475 | JProfiler> Don't wait for frontend to connect.
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.475 | JProfiler> Protocol version 38
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.475 | JProfiler> Using JVMTI
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.475 | JProfiler> JVMTI version 1.1 detected.
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.475 | JProfiler> 64-bit library
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.475 | JProfiler> Using config file /path/to/config/jprofiler-config.xml (id: 100)
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.475 | JProfiler> Listening on port: 8849.
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.475 | JProfiler> Instrumenting native methods.
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.475 | JProfiler> Can retransform classes.
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.475 | JProfiler> Can retransform any class.
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.476 | JProfiler> Native library initialized
ERROR  | wrapper  | main    | 2014/03/04 10:05:30.614 | JVM exited while loading the application.
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.614 | JProfiler> VM initialized
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.614 | JProfiler> Using dynamic instrumentation
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.615 | JProfiler> Time measurement: elapsed time
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.615 | JProfiler> CPU profiling enabled
INFO   | jvm 5    | main    | 2014/03/04 10:05:30.615 | JProfiler> ERROR: Invalid license key.

Ето моите въпроси:

  1. Някой знае ли как да кажа на агента за лиценза?
  2. Някой да е използвал тези настройки в производствена настройка?

За разбирането,

Андреас


person Andreas Gutheil    schedule 04.03.2014    source източник


Отговори (1)


Това ограничение е наистина ненужно и ще бъде премахнато в JProfiler 8.1.

От 8.0, лицензионният ключ трябва да бъде в конфигурационния файл, ако е посочен конфигурационният параметър. Можете да копирате целия конфигурационен файл от %USERPROFILER.jprofiler8\config.xml или $HOME/.jprofiler8/config.xml, вместо да го експортирате, тогава лицензионният ключ ще бъде достъпен за агента.

person Ingo Kegel    schedule 04.03.2014
comment
Благодаря ти Инго! Работи! Току-що извлякох лицензната част и я вмъкнах в конфигурационния файл на сървъра. - person Andreas Gutheil; 04.03.2014