OTP-наблюдатель Erlang не отображает мое приложение

В настоящее время я борюсь с обозревателем OTP erlang. Мое приложение - gen_server и supervisor - работает нормально, но когда я пытаюсь использовать наблюдателя для просмотра процессов, я могу просматривать только «ядро» на вкладке «приложения» в графическом интерфейсе наблюдателя.

Это команды, ведущие к подключению узлов, но не более того:

------------------------ Наблюдатель ------------------------

/ home / erlang # erl -pa ebin / -sname наблюдатель -setcookie tmp -run наблюдатель

(Erlang: 9911): GLib-GIO-CRITICAL **: g_dbus_connection_register_object: assertion 'G_IS_DBUS_CONNECTION (connection)' не удалось

(Erlang: 9911): GLib-GIO-CRITICAL **: g_dbus_connection_register_object: assertion 'G_IS_DBUS_CONNECTION (connection)' не удалось

(Erlang: 9911): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name: assertion 'G_IS_DBUS_CONNECTION (connection)' не удалось Eshell V6.0 (прервать с помощью ^ G) (Observer @ ergo) 1> (Erlang: 9911): GLib-GIO -CRITICAL **: g_dbus_connection_register_object: утверждение 'G_IS_DBUS_CONNECTION (соединение)' не удалось

(Erlang: 9911): GLib-GIO-CRITICAL **: g_dbus_connection_register_object: assertion 'G_IS_DBUS_CONNECTION (connection)' не удалось

(Erlang: 9911): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name: assertion 'G_IS_DBUS_CONNECTION (connection)' не удалось

(Erlang: 9911): GLib-GIO-CRITICAL **: g_dbus_connection_register_object: assertion 'G_IS_DBUS_CONNECTION (connection)' не удалось

(Erlang: 9911): GLib-GIO-CRITICAL **: g_dbus_connection_register_object: assertion 'G_IS_DBUS_CONNECTION (connection)' не удалось

(Erlang: 9911): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name: assertion 'G_IS_DBUS_CONNECTION (connection)' не удалось

------------------------ Узел для просмотра ----------------------- -

/ home / erlang # erl -pa ebin / -sname worker Eshell V6.0 (прервать с помощью ^ G)

(worker @ ergo) 1> узлы ().

[]

(worker @ ergo) 2> net_adm: ping (наблюдатель @ ergo).

понг

(worker @ ergo) 3> узлов ().

[наблюдатель @ ergo]


В графическом интерфейсе наблюдателя «Обзор трассировки» я добавил узел (worker @ ergo). Однако я могу просматривать ядро ​​только на вкладке приложения, а в обзоре трассировки нет перечисленных процессов.

Как я могу просмотреть дерево процессов моего приложения в графическом интерфейсе наблюдателя?


person Alexander Hades    schedule 15.05.2014    source источник


Ответы (2)


Соответствует ли ваше приложение поведению приложения OTP? Вы начинаете с application:start/1?

person Dmitry Belyaev    schedule 15.05.2014

Вам не нужно добавлять рабочий узел на вкладку Обзор трассировки. Однако вам нужно убедиться, что вы наблюдаете за рабочим узлом, выбрав узел в меню «Узлы». Наблюдаемый узел обычно появляется в заголовке окна наблюдателя.

На вкладке Приложения перечислены все запущенные приложения с деревом наблюдения. Если вашего приложения нет в списке, возможно, оно не запущено или у него нет дерева контроля. Вы можете проверить его работу с помощью недокументированного API application:info(). Вы можете проверить наличие дерева надзора с помощью недокументированного API application_controller:get_master(AppName), который возвращает pid главного процесса любого приложения с деревом надзора.

person Paul Guyot    schedule 15.05.2014