Эффективный способ визуализации и навигации по огромным файлам журналов

Я нахожусь в процессе разработки инструмента для визуализации Java-журналов. В частности, эти журналы создаются путем печати на консоли при каждом вызове метода и при его возврате. Эти операторы журнала вводятся во весь исходный код ОС Android с помощью манипуляции с байт-кодом. До сих пор нам удавалось использовать операционную систему Android и генерировать эти записи в журнале. Поля, содержащиеся в этих операторах журнала: процесс, вызвавший метод, сигнатуру метода, типы аргументов, тип возвращаемого значения и метку времени.

Инструмент, использующий эти журналы, будет иметь подробный вид (при увеличении) и общий обзор (при уменьшении). Я ищу эффективные способы визуализации и навигации по этому огромному файлу журнала на высоком уровне, чтобы получить ценную информацию. Каждый оператор журнала имеет иерархическую связь с другим оператором журнала. Например, оператор журнала для вызова метода будет родительским для всех операторов журнала методов, вызванных из родительского метода.

Мои вопросы

  1. Что может быть эффективным способом визуализации и навигации по этим иерархическим операторам журнала в огромном файле журнала, чтобы получить хороший общий обзор? Диаграммы последовательности полезны для детального просмотра, но не подходят для большой трассировки вызовов.
  2. Существуют ли на рынке какие-либо инструменты, имеющие аналогичную функциональность? Я посмотрел на инструменты визуализации журнала, но ни у одного из них нет высокоуровневой обзорной визуализации.
  3. Какая информация будет полезна вам как разработчику приложения, который оснащен виртуальной машиной с инструментарием, которая генерирует оператор журнала для каждого вызываемого метода и может запускать приложение на указанной виртуальной машине Android?
  4. Любые другие предложения?


Заранее спасибо.

Изменить: я добавил еще несколько деталей об иерархической природе операторов журнала.

2 ответа

Исходя из вашего вопроса, данные, которые вы используете, являются журналами сервера; и структура файлов журналов является очень сложной задачей, и обработка различных файлов журналов для визуализации также возможна при определенных ограничениях, вам потребуется создать или разработать собственный стандартный инструмент для классификации и агрегирования файлов журналов для обработки, а затем для визуализации. Однако некоторые инструменты и платформы уже существуют, такие как:

Одним из эффективных способов является обработка данных в конвейерах для получения больших данных, поскольку эти операторы журналов являются журналами серверов с использованием искр Apache, Spunkks или Cisco Mars, и интеграция в решения SIEM для обработки журналов в режиме реального времени является одним из наиболее эффективных. способы, используемые для обработки файлов журнала сервера.

HPE Security ArcSight Data Platform также может предоставить высокопроизводительное и экономически эффективное решение, которое объединяет сбор больших данных, создание отчетов и анализ данных всего предприятия.

Clock View и PeekKernelFlows используют журнал NetFloW для мониторинга больших IP-пространств в течение длительных периодов времени. Кроме того, инструмент, называемый инструментом визуализации расширяемых журналов ELVIS, может коррелировать процесс журналов сервера и обеспечивать представление сводной информации о важных данных.

Я настоятельно рекомендую вам использовать простую структуру журнала ex. Файлы журналов сервера FTP или IIS выбранных полей и визуализируйте вывод с помощью модулей D3.js для статической и интерактивной визуализации, в частности с параллельными координатами.

Я считаю, что диаграмма, которая ближе всего к тому, что вы описываете, является диаграммой последовательности. Раньше был плагин для Eclipse, который контролировал бы ваш исходный код и создавал диаграмму последовательности всех вызовов / возвратов / синхронизации / и т.д.

Вот описание того, как работают диаграммы и как их создавать вручную:

http://agilemodeling.com/artifacts/sequenceDiagram.htm

Они являются отличным способом моделирования взаимодействия кода во время выполнения на очень высоком уровне.

Просто с помощью быстрого запроса - это на рынке затмений:

https://marketplace.eclipse.org/content/objectaid-uml-explorer

Я не использовал этот, только то, что появилось в запросе, однако я помню, как создавал удивительную диаграмму с кодом, который я анализировал, - покрывал всю стену моего куба и был действительно полезен.

Другие вопросы по тегам