2015-10-20 3 views
1

Что было бы лучшим способом профилировать работу потока данных, если масштаб не позволяет сделать это локально? Раньше я пытался использовать jstack, чтобы проверить, какие потоки Java выполняются на рабочих экземплярах, но это больше не работает. Конечно, я могу использовать секундомеры и записывать измеренные данные синхронизации, но я надеялся, что, может быть, есть лучший способ.Профилирование Google Cloud Dataflow job

Обновление: инструкции here все еще работают, с той лишь разницей, что вместо установки java с apt-get install openjdk-7-jdk мне пришлось загрузить его с сайта Oracle.

Спасибо, GB

+0

У вас есть более подробная информация о том, почему jstack перестает работать на вас? Существует ли конкретное сообщение об ошибке или режим отказа? –

+0

Ошибка, которую я вижу, заключается в том, что она не может найти VM HotSpot в процессе, который я предоставил. Возможно, я установил немного другую версию - например, OpenJDK или Oracle или что-то в этом роде. –

+0

Установка jstack сработала, обновил вопрос с информацией. –

ответ

2

Как упомянуто в вопросе, вы можете установить jstack при установке JDK.

У нас есть проблема с Github, отслеживающая необходимость в user-code profiling - проверьте там прогресс.

+0

Это [обновление проблемы Github] (https://github.com/GoogleCloudPlatform/DataflowJavaSDK/issues/72) содержит некоторые базовые инструкции для получения профилей без необходимости использования 'jstack'. –

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