Журнал выполнения модели

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

Обучающее видео: Model execution logs

Чтобы модель записывала информацию в журнал, нужно включить запись в журнал.

Журнал использования ресурсов resource_pool_utilization_log

Как включить запись данных в журнал

 Настраиваем модель для записи информации в журнал

  1. В панели Проекты, щелкните по элементу модели База данных.
  2. В панели Свойства, разверните пункт Журнал и установите флажок напротив пункта Записывать в лог информацию о выполнении модели.

Как просмотреть журнал выполнения модели

AnyLogic позволяет пользователю просматривать журналы в виде обычной таблицы, используя встроенный редактор таблиц базы данных

 Как просмотреть журнал

  1. Остановите выполнение модели и закройте окно модели. Возможно, запись информации и обновление дерева модели в панели Проекты займет определенное время.
  2. В панели Проекты, разверните ветвь База Данных .
  3. Разверните ветвь  Журнал в дереве модели. Вы увидите список журналов в ветви Журнал
  1. Сделайте двойной щелчок по журналу, чтобы просмотреть его записи. Содержимое журнала будет показано в виде таблицы в редакторе таблиц баз данных. Журналы AnyLogic доступны только в режиме чтения. Вы не можете редактировать данные журнала.

Журнал данных о времени, которое агенты провели в блоках диаграммы процессов flowchart_stats_time_in_state_log

Описание журналов AnyLogic

Имя журнала

Описание

agent_messages_log

Журнал всех сообщений, отосланных агентами. 

agent_movement_log

Журнал передвижения агентов. Каждая запись содержит тип агента, его имя, скорость передвижения (в метрах в секунду), точку начала и конца движения.

agent_movement_stats_logЖурнал содержит статистику передвижений агентов. Каждая запись содержит тип агента, его имя, общее пройденное расстояние (в метрах), время, за которое было пройдено общее расстояние и средняя скорость (в метрах в секунду).

agent_parameters_log

Содержит начальные значения параметров всех агентов модели.

Журнал начальных значений параметров всех агентов модели agent_parameters_log

agent_statechart_states_log

Журнал переходов агента в диаграмме состояний. Каждая запись содержит тип агента, его имя, имя диаграммы состояний, состояние агента в определенное время, даты, в которые агент совершает переход в определенное состояние или из него.

agent_statechart_stats_log

Журнал содержит статистику переходов агента в диаграмме состояний. Каждая запись содержит тип агента, его имя, имя диаграммы состояний, состояние агента, среднее и общее время (в секундах), проведенное агентом в том или ином состоянии, а также количество переходов в каждое состояние.

agent_type_statechart_states_log

Журнал содержит статистику переходов по типу агента в диаграмме состояний. Каждая запись содержит тип агента, его имя, имя диаграммы состояний, состояние агента, а также среднее, общее, минимальное и максимальное время (в секундах), проведенное агентом в том или ином состоянии.

agents_log

[для продвинутых пользователей] Таблица содержит времена создания (и опционально времена уничтожения) всех агентов.

datasets_log

Данные всех наборов данных и диаграмм собранных во время выполнения модели. Запись данных производится только для набора данных, у которого флажком отмечено Записать в базу данных

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

distance_covered_log

Расстояние, которое преодолели агенты и ресурсы. Каждая запись содержит данные по индивидуальному агенту: тип агента, его имя, преодоленное расстояние (в метрах).

events_log

Журнал содержит информацию о всех случаях срабатывания событий и динамических событий в модели.

flowchart_entries_log

Содержит информацию о времени, когда агенты и ресурсы попадают в блоки диаграммы.

flowchart_process_states_log

Статистика показывает время, которое агенты провели в разных состояниях в блоках диаграммы процессов: время ожидания (activity_type: WAIT), время выполнения задачи (activity_type: WORK), и так далее.

flowchart_stats_time_in_state_log

Общие данные о времени, которое агенты провели в блоках диаграммы процессов. 

Внутри блоков агент может быть занят несколькими альтернативными действиями. К примеру, в блоке Service агент может обслуживаться или находиться в состоянии ожидания. В журнале вы увидите записи для каждого типа действия, одна запись для времени ожидания (activity_type: WAIT) и вторая для времени обслуживания (activity_type: WORK). Каждая запись содержит агрегированные данные по всем агентам, которые прошли через блок: минимальное, максимальное, общее время операции в секундах и общее количество обслуженных агентов.

Из следующего журнала вы можете увидеть, к примеру, что время задержки блока delayAuditKey фиксированное (180 секунд), среднее время ожидания printBill операции составляет 36,32 секунд, 25 счетов было обработано в блоке fixBillingErrors, и так далее.

Журнал данных о времени, которое агенты провели в блоках диаграммы процессов flowchart_stats_time_in_state_log

fluid_rates_log

Журнал содержит информацию о скорости потоков вещества. Таблица содержит записи о типах блоков, их именах, портах, общем объеме вещества, прошедшем через конкретный порт, а также минимум, максимум и среднюю скорость вещества.

fluid_storages_log

Журнал содержит информацию о типах блоков, минимальном, максимальном и среднем объеме вещества (в кубических метрах), которое содержал каждый тип блока.

fluid_units_log

Журнал содержит информацию о типах блоков, объеме жидкости и единицах измерения скорости, используемых в том или ином типе блока.

fluid_utilization_log

Журнал содержит информацию о типах блоков, именах блоков и коэффициенте загруженности блоков.

histograms_log

Данные из всех объектов данные гистограммы, собранные во время выполнения модели. Данные записываются только для Данных Гистограммы, которые отмечены флажком Записывать лог в базу данных

Журнал данных гистограммы histograms_log

library_block_parameters_log

Содержит начальные данные параметров всех блоков диаграммы процессов в модели.

library_blocks_log

[для продвинутых пользователей] Таблица содержит записи о времени, когда были созданы блоки диаграммы процессов.

resource_pool_task_stats_log

Содержит типы ресурсов блока ResourcePool, имя этого блока, имя выполняемой задачи, среднее и общее время (в секундах), в течение которого выполнялась задача, а также итоговое количество выполненных задач.

resource_pool_utilization_log

Содержит информацию о загруженности блока. Каждая запись содержит имя блока, коэффициент его загруженности и количество ресурсов в блоке.

resource_unit_states_log

Содержит информацию о состояниях ресурсов.

resource_unit_task_stats_log

Журнал содержит данные о задачах ресурсов блока. Таблица содержит записи о типах ресурсов блока ResourcePool, имя этого блока, ID ресурса, имя выполняемой задачи, среднее и общее время (в секундах), в течение которого выполнялась задача, а также итоговое количество выполненных задач.

resource_unit_utilization_log

Содержит информацию о загруженности ресурса блока. Таблица содержит записи о типах ресурсов блока ResourcePool, имя этого блока, имя популяции, в которой состоит ресурс, индекс и ID ресурса в этой популяции, а также коэффициент загруженности ресурса.

statechart_transitions_log

Содержит информацию о моментах срабатывания переходов диаграммы состояний  

Вы можете записывать информацию для отмеченных диаграмм состояний. Чтобы включить запись информации для диаграммы состояний, установите флажок напротив пункта Записывать лог в базу данных в свойствах элемента Начала диаграммы состояний

Журнал диаграммы состояний statechart_transitions_log

statistics_log

Данные из всех элементов статистики, собранные во время выполнения модели. Данные записываются только для Статистики, в свойствах которой выбрана опция Записывать лог в базу данных

trace_log

Содержит вывод всего текста, который пользователь получает вызовом функции traceToDB().

Каждый такой журнал требует сбора необработанных данных. В дереве элементов панели Проекты, вы можете их увидеть в ветви Необработанные данные, которая находится в ветке элемента базы данных Журнал. Чем больше журналов вам нужно, тем больше соответствующих необработанных данных будет собрано. 

Как создать свой собственный журнал

Каждый журнал на самом деле является представлением базы данных AnyLogic. Если вы хотите создать похожий журнал, вы можете создать копию предопределенного журнала AnyLogic и отредактировать его SQL запрос.

 Как создать собственный журнал на основе предопределенного журнала

  1. Щелкните по журналу в дереве панели Проекты, чтобы открыть его свойства.
  1. В Свойствах, щелкните по ссылке Создать редактируемую копию этого представления.
  2. В панели Проекты вы увидите новый пункт базы данных. Он будет размещен в разделе База данных, а не  Журнал (в котором располагаются только предопределенные и не редактируемые представления). 
  1. SQL запрос этого представления можно редактировать, поэтому вы можете открыть свойства нового представления и настроить его запрос в поле Задание представления.

Удаление журнала

Журнал находится в папке модели, в подпапке database, которая содержит все данные для встроенной базы данных модели.

В определенных случаях может возникнуть необходимость удаления журнала. К примеру, вы распространяете вашу модель путем копирования папки модели и хотите оптимизировать размер папки. Не стоит удалять файлы через файл-менеджер, потому что вы удалите все данные из базы данных модели. Чтобы удалить только журналы выполнения модели, следуйте инструкции ниже:

 Как удалить все журналы выполнения модели

  1. В панели Проекты, щелкните правой кнопкой мыши по ветви База данных и выберите из контекстного меню пункт Удалить логи.