Aspectrace - технология расширяемой аспектно-ориентированной трассировки.¶
=> English version: Aspectrace. The technology for extensible aspect-oriented tracing.
- Table of contents
- Aspectrace - технология расширяемой аспектно-ориентированной трассировки.
- Примеры использования
- Ссылки на более подробные документы
- Ссылки для скачивания
Назначение проекта¶
Инструментарий аспектно-ориентированной трассировки Aspectrace предназначен прежде всего для разработчиков и тестировщиков, которым нужны средства мониторинга работы сложных приложений или тестов для них. Система Aspectrace предоставляет возможность собирать в форме трасс (логов) разнородную и структурированную информацию, по мере необходимости расширяя набор собираемой информации, после чего гибко и эффективно выбирать из полученной трассы нужные данные, анализировать их, связывать между собой и строить на их основе разнообразные отчёты.
Технология поддерживает расширяемый формат трассы. Для работы с информацией нужного вида клиент подключает соответствующий модуль (называемый библиотекой аспекта), который предназначен для работы с ней; аспект определяет собственную модель данных и собственные типы трассируемых сообщений. Различные аспекты могут подключаться приложениями (как генерирующими трассу, так и анализирующими её) независимо друг от друга.
Предоставляется компонентная инфраструктура отчётов, позволяющая гибко собирать нужные пользователю генераторы отчётов из компонентов (как готовых библиотечных, так и разработанных под конкретную задачу), анализирующих различные срезы информации. Предоставляются механизмы, облегчающие связывание данных, извлечённых из трассы разными компонентами.
Также поддерживаются подключаемые модули, задающие внешние представления и способы хранения трассы.
Ключевые свойства¶
- Универсальность:
Технология не привязана к какой-либо предметной области, классу приложений, способу тестирования (если мониторинг совмещён с тестированием), языку программирования, платформе или способу хранения данных. - Структурированность данных:
Поддерживается сброс в трассу структурированной информации и извлечение её с сохранением структуры. - Расширяемость:
Структура трассы и архитектура системы допускают добавление новых видов информации без дополнительных накладных расходов и без необходимости перекомпиляции старых приложений. Также возможен прозрачный выбор нужных (в зависимости от особенностей целевого приложения и его окружения) способов внешнего хранения и передачи трассы или добавление новых таких способов. - Модульность:
Приложение, генерирующее трассу, сбрасывает в неё только ту информацию, которую разработчик может собрать и считает существенной. По мере необходимости можно добавлять сброс новых видов информации.
Приложение, анализирующее трассу, выбирает из неё только понятную ему и существенную для него информацию, безболезненно (как по ресурсам, так и с точки зрения согласованности данных) игнорируя все остальное. Архитектура системы позволяет легко настраивать, какую информацию брать из трассы, какими способами её обрабатывать и как связывать между собой, что позволяет создавать легко настраиваемые отчёты, собираемые из готовых компонентов. - Простота связывания:
Предоставляются средства, обеспечивающие автоматическое связывание разнородной информации при анализе трасс. - Унификация:
Стандартные виды информации, используемые в различных предметных областях, трассируются и обрабатываются в унифицированном виде, что позволяет легко разрабатывать как собственные библиотеки аспектов, так и универсальные анализаторы трассы, обрабатывающие информацию из разных аспектов. - Гибкость трассировки и анализа:
Возможность легко настраивать, что трассировать, а что нет; какую информацию брать из трассы, как её анализировать, как связывать между собой и как представлять.
Архитектура¶
На рисунке изображены компоненты и поток информации через них.
Аспектные трассировщики и аспектные адаптеры входят в соответствующие библиотеки аспектов (на рисунке библиотеки разных аспектов обозначены разными текстурами) и подключаются приложениями при необходимости. Сообщения трассы, относящиеся к аспекту, для которого не подключён адаптер (и, соответственно, обработчики), игнорируются поставщиком трассы и не подвергаются дальнейшей обработке.
Трассировщик и Поставщик трассы - инфраструктурные компоненты, непосредственно поддерживающие расширяемый формат трассы. Приложения взаимодействуют с ними не напрямую, а через библиотеки аспектов. Также возможно связывание этих двух компонентов (а через них - генераторы и анализаторы трассы) напрямую в одном адресном пространстве, без промежуточных внешних представлений трассы.
Примеры использования¶
source:trunk/src/java/com/unitesk/aspectrace/sampleApp
MainApp.java - приложение, генерирующее трассу, а потом строящее по ней HTML-отчёт.
В этом же пакете содержатся примеры компонентов генератора отчётов, обрабатывающие информацию от некоторых аспектов, способные гибко связываться между собой и обмениваться информацией. Эти компоненты используются также в других проектах.
Ссылки на более подробные документы¶
source:trunk/docs/Aspectrace_manual.doc
Ссылки для скачивания¶
Файлы поставки можно скачать здесь
Данный проект зависит от проекта coverage , файлы поставки которого можно скачать здесь
Updated by Sergey Groshev over 14 years ago · 8 revisions