Трекер истории

Записывает историю различных событий, например сообщений RX и TX или изменений информации о сети.

Краткое содержание

Все отслеживаемые записи имеют метку времени.

Функции этого модуля доступны, если включен OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE .

Перечисления

anonymous enum {
OT_HISTORY_TRACKER_MSG_PRIORITY_LOW = OT_MESSAGE_PRIORITY_LOW,
OT_HISTORY_TRACKER_MSG_PRIORITY_NORMAL = OT_MESSAGE_PRIORITY_NORMAL,
OT_HISTORY_TRACKER_MSG_PRIORITY_HIGH = OT_MESSAGE_PRIORITY_HIGH,
OT_HISTORY_TRACKER_MSG_PRIORITY_NET = OT_MESSAGE_PRIORITY_HIGH + 1
}
перечисление
Константы, представляющие приоритет сообщения, используемые в структуре otHistoryTrackerMessageInfo .
otHistoryTrackerAddressEvent {
OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED = 0,
OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED = 1
}
перечисление
Определяет события для информации об адресе IPv6 (одноадресной или многоадресной рассылки) (т. е. добавляется или удаляется адрес).
otHistoryTrackerNeighborEvent {
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED = 0,
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED = 1,
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED = 2,
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING = 3
}
перечисление
Определяет события в информации о соседе (т.е.
otHistoryTrackerNetDataEvent {
OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED = 0,
OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED = 1
}
перечисление
Определяет события для записи сетевых данных (т. е. добавляется или удаляется запись).
otHistoryTrackerRouterEvent {
OT_HISTORY_TRACKER_ROUTER_EVENT_ADDED = 0,
OT_HISTORY_TRACKER_ROUTER_EVENT_REMOVED = 1,
OT_HISTORY_TRACKER_ROUTER_EVENT_NEXT_HOP_CHANGED = 2,
OT_HISTORY_TRACKER_ROUTER_EVENT_COST_CHANGED = 3
}
перечисление
Определяет события в информации о маршрутизаторе (т. е.

Определения типов

otHistoryTrackerExternalRouteInfo определение типа
Представляет информацию о внешнем маршруте сетевых данных.
otHistoryTrackerIterator определение типа
Представляет итератор для перебора списка журнала.
otHistoryTrackerMessageInfo определение типа
Представляет информацию о сообщении RX/TX IPv6.
otHistoryTrackerMulticastAddressInfo определение типа
Представляет информацию об адресе многоадресной рассылки IPv6.
otHistoryTrackerNeighborInfo определение типа
Представляет информацию о соседе.
otHistoryTrackerNetworkInfo определение типа
Представляет информацию о сети потоков.
otHistoryTrackerOnMeshPrefixInfo определение типа
Представлять сетевые данные в информации о префиксе сетки.
otHistoryTrackerRouterInfo определение типа
Представляет событие записи таблицы маршрутизатора.
otHistoryTrackerUnicastAddressInfo определение типа
Представляет информацию об одноадресном IPv6-адресе.

Функции

otHistoryTrackerEntryAgeToString (uint32_t aEntryAge, char *aBuffer, uint16_t aSize)
void
Преобразует заданный возраст записи в удобочитаемую строку.
otHistoryTrackerInitIterator ( otHistoryTrackerIterator *aIterator)
void
Инициализирует otHistoryTrackerIterator .
otHistoryTrackerIterateExternalRouteHistory ( otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Перебирает записи в списке истории записей внешнего маршрута сетевых данных.
otHistoryTrackerIterateMulticastAddressHistory ( otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Перебирает записи в списке истории многоадресных адресов.
otHistoryTrackerIterateNeighborHistory ( otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Перебирает записи в списке истории соседей.
otHistoryTrackerIterateNetInfoHistory ( otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Перебирает записи в списке истории информации о сети.
otHistoryTrackerIterateOnMeshPrefixHistory ( otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Перебирает записи в списке истории записей сетевых данных в префиксе сетки.
otHistoryTrackerIterateRouterHistory ( otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Перебирает записи в списке истории маршрутизатора.
otHistoryTrackerIterateRxHistory ( otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Перебирает записи в списке истории сообщений RX.
otHistoryTrackerIterateTxHistory ( otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Перебирает записи в списке истории сообщений TX.
otHistoryTrackerIterateUnicastAddressHistory ( otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Перебирает записи в списке истории одноадресных адресов.

Структуры

otHistoryTrackerExternalRouteInfo

Представляет информацию о внешнем маршруте сетевых данных.

otHistoryTrackerIterator

Представляет итератор для перебора списка журнала.

otHistoryTrackerMessageInfo

Представляет информацию о сообщении RX/TX IPv6.

otHistoryTrackerMulticastAddressInfo

Представляет информацию об адресе многоадресной рассылки IPv6.

otHistoryTrackerNeighborInfo

Представляет информацию о соседе.

отИсториТрекерНетворкИнфо

Представляет информацию о сети потоков.

отИсториТрекерОнМешПрефиксИнфо

Представлять сетевые данные в информации о префиксе сетки.

otHistoryTrackerRouterInfo

Представляет событие записи таблицы маршрутизатора.

otHistoryTrackerUnicastAddressInfo

Представляет информацию об одноадресном IPv6-адресе.

Перечисления

анонимное перечисление

 anonymous enum

Константы, представляющие приоритет сообщения, используемые в структуре otHistoryTrackerMessageInfo .

Характеристики
OT_HISTORY_TRACKER_MSG_PRIORITY_HIGH

Высокий уровень приоритета.

OT_HISTORY_TRACKER_MSG_PRIORITY_LOW

Низкий уровень приоритета.

OT_HISTORY_TRACKER_MSG_PRIORITY_NET

Уровень приоритета сетевого управления.

OT_HISTORY_TRACKER_MSG_PRIORITY_NORMAL

Нормальный уровень приоритета.

отИсториТрекерАдрессЕвент

 otHistoryTrackerAddressEvent

Определяет события для информации об адресе IPv6 (одноадресной или многоадресной рассылки) (т. е. добавляется или удаляется адрес).

Характеристики
OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED

Адрес добавлен.

OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED

Адрес удален.

otHistoryTrackerNeighborEvent

 otHistoryTrackerNeighborEvent

Определяет события в информации о соседе (т. е.

добавлен ли сосед, удален или изменен).

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

Характеристики
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED

Сосед добавлен.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED

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

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED

Сосед удален.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING

Сосед восстанавливается (применимо только к ребенку).

отХисториТрекернетдатаевент

 otHistoryTrackerNetDataEvent

Определяет события для записи сетевых данных (т. е. добавляется или удаляется запись).

Характеристики
OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED

Добавлен ввод сетевых данных.

OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED

Ввод сетевых данных удален.

otHistoryTrackerRouterEvent

 otHistoryTrackerRouterEvent

Определяет события в информации о маршрутизаторе (т. е.

независимо от того, добавлен ли маршрутизатор, удален или изменен).

Характеристики
OT_HISTORY_TRACKER_ROUTER_EVENT_ADDED

Маршрутизатор добавлен (выделен идентификатор маршрутизатора).

OT_HISTORY_TRACKER_ROUTER_EVENT_COST_CHANGED

Стоимость пути входа в маршрутизатор изменена (следующий переход, как и прежде).

OT_HISTORY_TRACKER_ROUTER_EVENT_NEXT_HOP_CHANGED

Запись маршрутизатора на следующий переход и стоимость изменены.

OT_HISTORY_TRACKER_ROUTER_EVENT_REMOVED

Запись о маршрутизаторе удалена (идентификатор маршрутизатора освобожден).

Определения типов

otHistoryTrackerExternalRouteInfo

struct otHistoryTrackerExternalRouteInfo otHistoryTrackerExternalRouteInfo

Представляет информацию о внешнем маршруте сетевых данных.

otHistoryTrackerIterator

struct otHistoryTrackerIterator otHistoryTrackerIterator

Представляет итератор для перебора списка журнала.

Поля этого типа непрозрачны (предназначены для использования ядром OpenThread) и поэтому не должны быть доступны/использованы вызывающей стороной.

Прежде чем использовать итератор, его НЕОБХОДИМО инициализировать с помощью otHistoryTrackerInitIterator() ,

otHistoryTrackerMessageInfo

struct otHistoryTrackerMessageInfo otHistoryTrackerMessageInfo

Представляет информацию о сообщении RX/TX IPv6.

Некоторые поля в этой структуре применимы только к сообщению RX или сообщению TX, например, mAveRxRss — это среднее значение RSS всех фрагментных кадров, которые формируют полученное сообщение, и применимо только для сообщения RX.

otHistoryTrackerMulticastAddressInfo

struct otHistoryTrackerMulticastAddressInfo otHistoryTrackerMulticastAddressInfo

Представляет информацию об адресе многоадресной рассылки IPv6.

otHistoryTrackerNeighborInfo

struct otHistoryTrackerNeighborInfo otHistoryTrackerNeighborInfo

Представляет информацию о соседе.

отИсториТрекерНетворкИнфо

struct otHistoryTrackerNetworkInfo otHistoryTrackerNetworkInfo

Представляет информацию о сети потоков.

отИсториТрекерОнМешПрефиксИнфо

struct otHistoryTrackerOnMeshPrefixInfo otHistoryTrackerOnMeshPrefixInfo

Представлять сетевые данные в информации о префиксе сетки.

otHistoryTrackerRouterInfo

struct otHistoryTrackerRouterInfo otHistoryTrackerRouterInfo

Представляет событие записи таблицы маршрутизатора.

otHistoryTrackerUnicastAddressInfo

struct otHistoryTrackerUnicastAddressInfo otHistoryTrackerUnicastAddressInfo

Представляет информацию об одноадресном IPv6-адресе.

Функции

отИсториТрекерEntryAgeToString

void otHistoryTrackerEntryAgeToString(
  uint32_t aEntryAge,
  char *aBuffer,
  uint16_t aSize
)

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

Строка возраста записи имеет формат " : : . " для часов, минут, секунд и миллисекунд (если короче одного дня) или "

дни : : . » (если дольше одного дня).

Если результирующая строка не помещается в aBuffer (в пределах символов aSize ), строка будет усечена, но выводимая строка всегда заканчивается нулем.

Подробности
Параметры
[in] aEntryAge
Возраст входа (длительность в мс).
[out] aBuffer
Указатель на массив символов для вывода строки (НЕ ДОЛЖЕН быть NULL).
[in] aSize
Размер aBuffer . Рекомендуется использовать OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE .

отИсториТрекерИнититератор

void otHistoryTrackerInitIterator(
  otHistoryTrackerIterator *aIterator
)

Инициализирует otHistoryTrackerIterator .

Итератор ДОЛЖЕН быть инициализирован перед его использованием.

Итератор можно инициализировать снова, чтобы начать с начала списка.

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

Подробности
Параметры
[in] aIterator
Указатель на инициализируемый итератор (НЕ ДОЛЖЕН быть NULL).

otHistoryTrackerIterateExternalRouteHistory

const otHistoryTrackerExternalRouteInfo * otHistoryTrackerIterateExternalRouteHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Перебирает записи в списке истории записей внешнего маршрута сетевых данных.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор. ДОЛЖЕН быть инициализирован, иначе поведение не определено.
[out] aEntryAge
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖНО быть НУЛЕМ. Возраст указывается как продолжительность (в миллисекундах) с момента записи записи до времени инициализации aIterator . Для записей старше максимального возраста установлено значение OT_HISTORY_TRACKER_MAX_AGE .
Возврат
Запись otHistoryTrackerExternalRouteInfo или NULL , если в списке больше нет записей.

otHistoryTrackerIterateMulticastAddressHistory

const otHistoryTrackerMulticastAddressInfo * otHistoryTrackerIterateMulticastAddressHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Перебирает записи в списке истории многоадресных адресов.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор. ДОЛЖЕН быть инициализирован, иначе поведение не определено.
[out] aEntryAge
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖНО быть НУЛЕМ. Возраст указывается как продолжительность (в миллисекундах) с момента записи записи до времени инициализации aIterator . Для записей старше максимального возраста установлено значение OT_HISTORY_TRACKER_MAX_AGE .
Возврат
Указатель на запись otHistoryTrackerMulticastAddressInfo или NULL , если записей в списке больше нет.

otHistoryTrackerIterateNeighborHistory

const otHistoryTrackerNeighborInfo * otHistoryTrackerIterateNeighborHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Перебирает записи в списке истории соседей.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор. ДОЛЖЕН быть инициализирован, иначе поведение не определено.
[out] aEntryAge
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖНО быть НУЛЕМ. Возраст указывается как продолжительность (в миллисекундах) с момента записи записи до времени инициализации aIterator . Для записей старше максимального возраста установлено значение OT_HISTORY_TRACKER_MAX_AGE .
Возврат
Запись otHistoryTrackerNeighborInfo или NULL , если в списке больше нет записей.

otHistoryTrackerIterateNetInfoHistory

const otHistoryTrackerNetworkInfo * otHistoryTrackerIterateNetInfoHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Перебирает записи в списке истории информации о сети.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор. ДОЛЖЕН быть инициализирован, иначе поведение не определено.
[out] aEntryAge
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖНО быть НУЛЕМ. Возраст указывается как продолжительность (в миллисекундах) с момента записи записи до времени инициализации aIterator . Для записей старше максимального возраста установлено значение OT_HISTORY_TRACKER_MAX_AGE .
Возврат
Указатель на запись otHistoryTrackerNetworkInfo или NULL , если записей в списке больше нет.

otHistoryTrackerIterateOnMeshPrefixHistory

const otHistoryTrackerOnMeshPrefixInfo * otHistoryTrackerIterateOnMeshPrefixHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Перебирает записи в списке истории записей сетевых данных в префиксе сетки.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор. ДОЛЖЕН быть инициализирован, иначе поведение не определено.
[out] aEntryAge
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖНО быть НУЛЕМ. Возраст указывается как продолжительность (в миллисекундах) с момента записи записи до времени инициализации aIterator . Для записей старше максимального возраста установлено значение OT_HISTORY_TRACKER_MAX_AGE .
Возврат
Запись otHistoryTrackerOnMeshPrefixInfo или NULL , если в списке больше нет записей.

otHistoryTrackerIterateRouterHistory

const otHistoryTrackerRouterInfo * otHistoryTrackerIterateRouterHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Перебирает записи в списке истории маршрутизатора.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор. ДОЛЖЕН быть инициализирован, иначе поведение не определено.
[out] aEntryAge
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖНО быть НУЛЕМ. Возраст указывается как продолжительность (в миллисекундах) с момента записи записи до времени инициализации aIterator . Для записей старше максимального возраста установлено значение OT_HISTORY_TRACKER_MAX_AGE .
Возврат
Запись otHistoryTrackerRouterInfo или NULL , если в списке больше нет записей.

otHistoryTrackerIterateRxHistory

const otHistoryTrackerMessageInfo * otHistoryTrackerIterateRxHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Перебирает записи в списке истории сообщений RX.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор. ДОЛЖЕН быть инициализирован, иначе поведение не определено.
[out] aEntryAge
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖНО быть НУЛЕМ. Возраст указывается как продолжительность (в миллисекундах) с момента записи записи до времени инициализации aIterator . Для записей старше максимального возраста установлено значение OT_HISTORY_TRACKER_MAX_AGE .
Возврат
Запись otHistoryTrackerMessageInfo или NULL , если в списке больше нет записей.

otHistoryTrackerIterateTxHistory

const otHistoryTrackerMessageInfo * otHistoryTrackerIterateTxHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Перебирает записи в списке истории сообщений TX.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор. ДОЛЖЕН быть инициализирован, иначе поведение не определено.
[out] aEntryAge
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖНО быть НУЛЕМ. Возраст указывается как продолжительность (в миллисекундах) с момента записи записи до времени инициализации aIterator . Для записей старше максимального возраста установлено значение OT_HISTORY_TRACKER_MAX_AGE .
Возврат
Запись otHistoryTrackerMessageInfo или NULL , если в списке больше нет записей.

otHistoryTrackerIterateUnicastAddressHistory

const otHistoryTrackerUnicastAddressInfo * otHistoryTrackerIterateUnicastAddressHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

Перебирает записи в списке истории одноадресных адресов.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор. ДОЛЖЕН быть инициализирован, иначе поведение не определено.
[out] aEntryAge
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖНО быть НУЛЕМ. Возраст указывается как продолжительность (в миллисекундах) с момента записи записи до времени инициализации aIterator . Для записей старше максимального возраста установлено значение OT_HISTORY_TRACKER_MAX_AGE .
Возврат
Указатель на запись otHistoryTrackerUnicastAddressInfo или NULL , если записей в списке больше нет.

Макросы

OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE

 OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE 21

Рекомендуемый размер для строкового представления возраста записи.

OT_HISTORY_TRACKER_INFINITE_PATH_COST

 OT_HISTORY_TRACKER_INFINITE_PATH_COST 0

Бесконечная стоимость пути — используется в otHistoryTrackerRouterInfo .

OT_HISTORY_TRACKER_MAX_AGE

 OT_HISTORY_TRACKER_MAX_AGE (49 * 24 * 60 * 60 * 1000u)

Эта константа определяет максимальный возраст записей, который составляет 49 дней (в миллисекундах).

Записи старше максимального возраста будут указывать это значение как свой возраст.

OT_HISTORY_TRACKER_NO_NEXT_HOP

 OT_HISTORY_TRACKER_NO_NEXT_HOP 63

Нет следующего перехода — для mNextHop в otHistoryTrackerRouterInfo .

Ресурсы

Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .