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

В настоящее время мы используем 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=[файл конфигурации] и ,id=[id], чтобы агент профилирования брал параметры профилирования из определенного сеанса в определенный файл конфигурации. Если вы подключаетесь с теми же настройками профилирования, никакие классы не нужно будет повторно преобразовывать.

но если мы добавим конфигурацию и идентификатор следующим образом: },config=${jprofiler.config.path} виртуальная машина не может запуститься, так как 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