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

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

Резюме

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

Функции в этом модуле доступны, когда включен OPENTHREAD_CONFIG_HISTOR_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
}
перечисление
Это перечисление определяет события для записи сетевых данных (т. е. добавляется или удаляется запись).

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

otHistoryTrackerExternalRouteInfo определение типа
Эта структура представляет информацию о внешнем маршруте сетевых данных.
otHistoryTrackerIterator определение типа
Этот тип представляет собой итератор для перебора списка истории.
otHistoryTrackerMessageInfo определение типа
Эта структура представляет информацию сообщения RX/TX IPv6.
otHistoryTrackerMulticastAddressInfo определение типа
Эта структура представляет информацию об адресе многоадресной рассылки IPv6.
otHistoryTrackerNeighborInfo определение типа
Эта структура представляет информацию о соседе.
otHistoryTrackerNetworkInfo определение типа
Эта структура представляет информацию о сети Thread.
otHistoryTrackerOnMeshPrefixInfo определение типа
Эта структура представляет сетевые данные в информации о префиксе сетки.
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)
Эта функция выполняет итерацию по записям в сетевых данных в списке истории записей префикса сетки.
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

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

otHistoryTrackerNetworkInfo

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

otHistoryTrackerOnMeshPrefixInfo

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

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

 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

 otHistoryTrackerNetDataEvent

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

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

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

OT_HISTORY_TRACKER_NET_DATA_ENTRY_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

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

otHistoryTrackerNetworkInfo

struct otHistoryTrackerNetworkInfo otHistoryTrackerNetworkInfo

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

otHistoryTrackerOnMeshPrefixInfo

struct otHistoryTrackerOnMeshPrefixInfo otHistoryTrackerOnMeshPrefixInfo

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

otHistoryTrackerUnicastAddressInfo

struct otHistoryTrackerUnicastAddressInfo otHistoryTrackerUnicastAddressInfo

Эта структура представляет информацию об индивидуальном адресе IPv6.

Функции

otHistoryTrackerEntryAgeToString

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 .

otHistoryTrackerInitIterator

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
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖЕН быть NULL. Возраст предоставляется как продолжительность (в миллисекундах) с момента записи записи до 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
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖЕН быть NULL. Возраст предоставляется как продолжительность (в миллисекундах) с момента записи записи до 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
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖЕН быть NULL. Возраст предоставляется как продолжительность (в миллисекундах) с момента записи записи до 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
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖЕН быть NULL. Возраст предоставляется как продолжительность (в миллисекундах) с момента записи записи до 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
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖЕН быть NULL. Возраст предоставляется как продолжительность (в миллисекундах) с момента записи записи до aIterator инициализации итератора. Для записей старше максимального возраста установлено значение OT_HISTORY_TRACKER_MAX_AGE .
Возвращает
Запись otHistoryTrackerOnMeshPrefixInfo или NULL , если в списке больше нет записей.

otHistoryTrackerIterateRxHistory

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

Эта функция перебирает записи в списке истории RX-сообщений.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор. ДОЛЖЕН быть инициализирован, иначе поведение не определено.
[out] aEntryAge
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖЕН быть NULL. Возраст предоставляется как продолжительность (в миллисекундах) с момента записи записи до 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
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖЕН быть NULL. Возраст предоставляется как продолжительность (в миллисекундах) с момента записи записи до 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
Указатель на переменную для вывода возраста записи. НЕ ДОЛЖЕН быть NULL. Возраст предоставляется как продолжительность (в миллисекундах) с момента записи записи до 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_MAX_AGE

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

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

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

Ресурсы

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