TMPA-2015: Multi-Module Application Tracing in z/OS Environment

14
Трассировка многомодульного приложения в среде операционной системы z/OS Ростислав Ефремов cтудент математико-механического факультета СПБГУ Software Engineer, EMC [email protected] TMPA 2015

Transcript of TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Page 1: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Трассировка многомодульного приложения в среде

операционной системы z/OS

Ростислав Ефремовcтудент математико-механического

факультета СПБГУSoftware Engineer, EMC

[email protected]

TMPA 2015

Page 2: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Mainframe – System Z

• Канальная подсистема• Высокая надежность• Система безопасности• Обратная совместимость• Нишевый продукт

2

Page 3: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Проблемы Mainframe

3

• Обратная совместимость• Закрытость разработок• …

• Чтобы с этим справиться важно иметьинструменты исследования приложений среды ОС z/OS

Page 4: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Трасса выполнения

Применение:• Анализ/чтение трассы как средство отладки

и понимания работы программы• Построение различных продуктов для

анализа трассы (например, состояние гонки, целостность данных)

4

Page 5: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Трассировка

Подходы к трассировке HLASM программ:• Статическая инструментация• Динамическая инструментация• Использование средств ОС z/OS

– GTF trace– SYSTRACE– SLIP trace

5

Page 6: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

План

• Поиск методов статической инструментации бинарного кода

• Сравнение их производительности• Исследование воздействия методов на

окружение исследуемой программы• Выбор метода и реализация прототипа

трассировщика

6

Page 7: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Методы статической инструментации

7

..SVC 2420000TRAP2..

MODULE11)Make trace record2)Execute the instruction2)Resume execution

SVC routine

..instruction..

MODULE1

1)Make trace record2)Execute the instruction2)Resume execution

RECOVERY or ESPIE routine

1)Make trace record2)Execute the instruction2)Resume execution

TRAP routine

В результате инструментации instruction заменится на один из вариантов:• SVC 242 – вызов SVC routine• 0000 – вызывает обработчик ABEND• TRAP2 – вызов TRAP routine

Page 8: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Сравнение производительности

8

Page 9: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Методы трассировки

• Recovery routine/ESPIE– Метод достаточно медленный (ESTAI)– Сильные ограничения на окружение

• SVC hooking– Метод быстрый– Средние ограничения на окружение– Привилегированный режим

• TRAP– Очень быстрый метод– Слабые ограничения на окружение

9

Page 10: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Существующие инструменты

• IDF (Interactive Debug Facility)– RECOVERY/SVC

• z/XDC (Extended Debugging Controller)– RECOVERY/SVC

• TDF (Trap Debug Facility)– TRAP

• RootCause for z/OS– ?

10

Page 11: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

SVC hooking

SVC hooking• Реализовано в z/XDC и IDF• Работает в любом окружении z/OS кроме

SRB, cross memory mode• Проще в реализации, чем TRAP• Специфика реализации позволяет добавить

TRAP трассировку для SRB и cross memory

11

Page 12: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Пример вывода

12

Page 13: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Разработано

• Программа, реализующая все четыре метода перехвата прыжков– Тестирование скорости– Код для TRAP и ESTAE можно переносить в тестировщик

• Прототип трассировщика на SVC hooking– Разработан аналог соответствующим механизмам в IDF

и z/XDC– Работает в любом окружении z/OS кроме SRB, cross

memory mode– Нет проблем с авторизацией в отличие от TRAP– Позволяет добавить использование TRAP

подпрограммы для трассировки13

Page 14: TMPA-2015: Multi-Module Application Tracing in z/OS Environment

Перспективы

• Добавление поддержки SRB и разных режимов адресных пространств:– Добавление TRAP подпрограммы трассировки – Развитие анализатора кода

• Поиск способов трассировки SRB в secondary address space mode

• Реализация интерфейса для задания входных наборов данных

14