Seguimiento de historial

Registra el historial de diferentes eventos, como mensajes RX y TX o cambios en la información de la red.

Resumen

Todas las entradas con seguimiento tienen marcas de tiempo.

Las funciones de este módulo están disponibles cuando se habilita OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE.

Enumeraciones

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
}
enum
Constantes que representan la prioridad del mensaje que se usa en la estructura otHistoryTrackerMessageInfo.
otHistoryTrackerAddressEvent{
  OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED = 1
}
enum
Define los eventos para la información de una dirección IPv6 (unidifusión o multidifusión) (es decir, si se agrega o quita la dirección).
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
}
enum
Define los eventos en la información de un vecino (es decir,
otHistoryTrackerNetDataEvent{
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED = 0,
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED = 1
}
enum
Define los eventos de una entrada de datos de red (es decir, si se agrega o quita una entrada).
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
}
enum
Define los eventos en la información de un router (es decir,

Typedefs

otHistoryTrackerExternalRouteInfo typedef
Representa la información de una ruta externa de los datos de red.
otHistoryTrackerIterator typedef
Representa un iterador para iterar a través de una lista de historial.
otHistoryTrackerMessageInfo typedef
Representa la información de un mensaje IPv6 de RX/TX.
otHistoryTrackerMulticastAddressInfo typedef
Representa la información de una dirección de multidifusión IPv6.
otHistoryTrackerNeighborInfo typedef
Representa la información de un vecino.
otHistoryTrackerNetworkInfo typedef
Representa la información de la red de Thread.
otHistoryTrackerOnMeshPrefixInfo typedef
Representa la información de un prefijo de datos de red en la malla.
otHistoryTrackerRouterInfo typedef
Representa un evento de entrada en la tabla del router.
otHistoryTrackerUnicastAddressInfo typedef
Representa la información de una dirección IPv6 de unidifusión.

remotas

otHistoryTrackerEntryAgeToString(uint32_t aEntryAge, char *aBuffer, uint16_t aSize)
void
Convierte una edad de entrada determinada en una string legible.
otHistoryTrackerInitIterator(otHistoryTrackerIterator *aIterator)
void
Inicializa un otHistoryTrackerIterator.
otHistoryTrackerIterateExternalRouteHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera sobre las entradas de la lista de historial de entradas de ruta externas de datos de red.
otHistoryTrackerIterateMulticastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera sobre las entradas en la lista de historial de direcciones de multidifusión.
otHistoryTrackerIterateNeighborHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera sobre las entradas de la lista del historial de vecinos.
otHistoryTrackerIterateNetInfoHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera sobre las entradas en la lista del historial de información de la red.
otHistoryTrackerIterateOnMeshPrefixHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera sobre las entradas de la lista de historial de entradas del prefijo de datos de red en el prefijo de malla.
otHistoryTrackerIterateRouterHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera en las entradas de la lista del historial del router.
otHistoryTrackerIterateRxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera en las entradas de la lista de historial de mensajes de RX.
otHistoryTrackerIterateTxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera sobre las entradas de la lista de historial de mensajes de transmisión.
otHistoryTrackerIterateUnicastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Itera sobre las entradas en la lista del historial de direcciones de unidifusión.

Structs

otHistoryTrackerExternalRouteInfo

Representa la información de una ruta externa de los datos de red.

otHistoryTrackerIterator

Representa un iterador para iterar a través de una lista de historial.

otHistoryTrackerMessageInfo

Representa la información de un mensaje IPv6 de RX/TX.

otHistoryTrackerMulticastAddressInfo

Representa la información de una dirección de multidifusión IPv6.

otHistoryTrackerNeighborInfo

Representa la información de un vecino.

otHistoryTrackerNetworkInfo

Representa la información de la red de Thread.

otHistoryTrackerOnMeshPrefixInfo

Representa la información de un prefijo de datos de red en la malla.

otHistoryTrackerRouterInfo

Representa un evento de entrada en la tabla del router.

otHistoryTrackerUnicastAddressInfo

Representa la información de una dirección IPv6 de unidifusión.

Enumeraciones

enumeración anónima

 anonymous enum

Constantes que representan la prioridad del mensaje que se usa en la estructura otHistoryTrackerMessageInfo.

Propiedades
OT_HISTORY_TRACKER_MSG_PRIORITY_HIGH

Nivel de prioridad alto.

OT_HISTORY_TRACKER_MSG_PRIORITY_LOW

Nivel de prioridad bajo.

OT_HISTORY_TRACKER_MSG_PRIORITY_NET

Nivel de prioridad del Control de red.

OT_HISTORY_TRACKER_MSG_PRIORITY_NORMAL

Nivel de prioridad normal.

otHistoryTrackerAddressEvent

 otHistoryTrackerAddressEvent

Define los eventos para la información de una dirección IPv6 (unidifusión o multidifusión) (es decir, si se agrega o quita la dirección).

Propiedades
OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED

Se agregó la dirección.

OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED

Se quitó la dirección.

otHistoryTrackerNeighborEvent

 otHistoryTrackerNeighborEvent

Define los eventos en la información de un vecino (es decir,

si se agrega, quita o cambia un vecino).

El evento OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING solo se aplica a los vecinos secundarios. Se activa después de que se (re)inicia el dispositivo y cuando la lista de elementos secundarios anterior se recupera de la configuración no volátil y el dispositivo intenta restablecer la conexión con ellos.

Propiedades
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED

Se agregó vecino.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED

Cambió el modo vecino (p.ej., cambiaron las marcas de modo del dispositivo).

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED

Se quitó "vecino".

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING

Se está restableciendo el vecino (aplicable solo para niños).

otHistoryTrackerNetDataEvent

 otHistoryTrackerNetDataEvent

Define los eventos de una entrada de datos de red (es decir, si se agrega o quita una entrada).

Propiedades
OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED

Se agregó la entrada de datos de red.

OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED

Se quitó la entrada de datos de red.

otHistoryTrackerRouterEvent

 otHistoryTrackerRouterEvent

Define los eventos en la información de un router (es decir,

si se agrega, quita o cambia el router).

Propiedades
OT_HISTORY_TRACKER_ROUTER_EVENT_ADDED

Se agregó un router (ID de router asignado).

OT_HISTORY_TRACKER_ROUTER_EVENT_COST_CHANGED

Cambió el costo de la ruta de entrada del router (siguiente salto, como antes).

OT_HISTORY_TRACKER_ROUTER_EVENT_NEXT_HOP_CHANGED

Cambió el costo y el próximo salto de la entrada del router.

OT_HISTORY_TRACKER_ROUTER_EVENT_REMOVED

Se quita la entrada del router (se libera el ID de router).

Typedefs

otHistoryTrackerExternalRouteInfo

struct otHistoryTrackerExternalRouteInfo otHistoryTrackerExternalRouteInfo

Representa la información de una ruta externa de los datos de red.

otHistoryTrackerIterator

struct otHistoryTrackerIterator otHistoryTrackerIterator

Representa un iterador para iterar a través de una lista de historial.

Los campos de este tipo son opacos (y están diseñados para que los use el núcleo OpenThread) y, por lo tanto, el llamador no debe usarlos ni acceder a ellos.

Antes de usar un iterador, se DEBE inicializar con otHistoryTrackerInitIterator().

otHistoryTrackerMessageInfo

struct otHistoryTrackerMessageInfo otHistoryTrackerMessageInfo

Representa la información de un mensaje IPv6 de RX/TX.

Algunos de los campos de esta estructura se aplican solo a un mensaje RX o a un mensaje TX, p.ej., mAveRxRss es el RSS promedio de todos los marcos de fragmentos que forman un mensaje recibido y solo se aplica a un mensaje RX.

otHistoryTrackerMulticastAddressInfo

struct otHistoryTrackerMulticastAddressInfo otHistoryTrackerMulticastAddressInfo

Representa la información de una dirección de multidifusión IPv6.

otHistoryTrackerNeighborInfo

struct otHistoryTrackerNeighborInfo otHistoryTrackerNeighborInfo

Representa la información de un vecino.

otHistoryTrackerNetworkInfo

struct otHistoryTrackerNetworkInfo otHistoryTrackerNetworkInfo

Representa la información de la red de Thread.

otHistoryTrackerOnMeshPrefixInfo

struct otHistoryTrackerOnMeshPrefixInfo otHistoryTrackerOnMeshPrefixInfo

Representa la información de un prefijo de datos de red en la malla.

otHistoryTrackerRouterInfo

struct otHistoryTrackerRouterInfo otHistoryTrackerRouterInfo

Representa un evento de entrada en la tabla del router.

otHistoryTrackerUnicastAddressInfo

struct otHistoryTrackerUnicastAddressInfo otHistoryTrackerUnicastAddressInfo

Representa la información de una dirección IPv6 de unidifusión.

remotas

otHistoryTrackerEntryAgeToString

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

Convierte una edad de entrada determinada en una string legible.

La cadena de edad de la entrada sigue el formato “::.” para horas, minutos, segundos y milisegundos (si tiene menos de un día), o “

days ::." (si hace más de un día).

Si la string resultante no cabe en aBuffer (dentro de sus caracteres aSize), la string se truncará, pero la string resultante siempre tendrá terminación nula.

Detalles
Parámetros
[in] aEntryAge
La antigüedad de la entrada (duración en ms).
[out] aBuffer
Un puntero a un array de caracteres para generar la string (NO DEBE ser NULL).
[in] aSize
El tamaño de aBuffer Se recomienda usar OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE.

otHistoryTrackerInitIterator

void otHistoryTrackerInitIterator(
  otHistoryTrackerIterator *aIterator
)

Inicializa un otHistoryTrackerIterator.

Un iterador DEBE inicializarse antes de usarse.

Un iterador se puede volver a inicializar para comenzar desde el principio de la lista.

Cuando se itera sobre entradas de una lista, para garantizar que las edades de entrada sean coherentes, la edad se da en relación con el momento en que se inicializó el iterador; es decir, la antigüedad de la entrada se proporciona como la duración (en milisegundos) desde el evento (cuando se registró la entrada) hasta el tiempo de inicialización del iterador.

Detalles
Parámetros
[in] aIterator
Un puntero al iterador que se va a inicializar (NO DEBE ser NULL).

otHistoryTrackerIterateExternalRouteHistory

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

Itera sobre las entradas de la lista de historial de entradas de ruta externas de datos de red.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in,out] aIterator
Un puntero para un iterador. SE DEBE inicializar o el comportamiento no está definido.
[out] aEntryAge
Un puntero a una variable para obtener la antigüedad de la entrada. NO DEBE ser NULO. La edad se proporciona como la duración (en milisegundos) desde el momento en que se registró la entrada hasta el aIterator tiempo de inicialización. Se establece en OT_HISTORY_TRACKER_MAX_AGE para las entradas mayores que la edad máxima.
Qué muestra
La entrada otHistoryTrackerExternalRouteInfo o NULL si no hay más entradas en la lista

otHistoryTrackerIterateMulticastAddressHistory

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

Itera sobre las entradas en la lista de historial de direcciones de multidifusión.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in,out] aIterator
Un puntero para un iterador. SE DEBE inicializar o el comportamiento no está definido.
[out] aEntryAge
Un puntero a una variable para obtener la antigüedad de la entrada. NO DEBE ser NULO. La edad se proporciona como la duración (en milisegundos) desde el momento en que se registró la entrada hasta el aIterator tiempo de inicialización. Se establece en OT_HISTORY_TRACKER_MAX_AGE para las entradas mayores que la edad máxima.
Qué muestra
Un puntero para la entrada otHistoryTrackerMulticastAddressInfo o NULL si no hay más entradas en la lista.

otHistoryTrackerIterateNeighborHistory

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

Itera sobre las entradas de la lista del historial de vecinos.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in,out] aIterator
Un puntero para un iterador. SE DEBE inicializar o el comportamiento no está definido.
[out] aEntryAge
Un puntero a una variable para obtener la antigüedad de la entrada. NO DEBE ser NULO. La edad se proporciona como la duración (en milisegundos) desde el momento en que se registró la entrada hasta el aIterator tiempo de inicialización. Se establece en OT_HISTORY_TRACKER_MAX_AGE para las entradas mayores que la edad máxima.
Qué muestra
La entrada otHistoryTrackerNeighborInfo o NULL si no hay más entradas en la lista

otHistoryTrackerIterateNetInfoHistory

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

Itera sobre las entradas en la lista del historial de información de la red.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in,out] aIterator
Un puntero para un iterador. SE DEBE inicializar o el comportamiento no está definido.
[out] aEntryAge
Un puntero a una variable para obtener la antigüedad de la entrada. NO DEBE ser NULO. La edad se proporciona como la duración (en milisegundos) desde el momento en que se registró la entrada hasta el aIterator tiempo de inicialización. Se establece en OT_HISTORY_TRACKER_MAX_AGE para las entradas mayores que la edad máxima.
Qué muestra
Un puntero para la entrada otHistoryTrackerNetworkInfo o NULL si no hay más entradas en la lista.

otHistoryTrackerIterateOnMeshPrefixHistory

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

Itera sobre las entradas de la lista de historial de entradas del prefijo de datos de red en el prefijo de malla.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in,out] aIterator
Un puntero para un iterador. SE DEBE inicializar o el comportamiento no está definido.
[out] aEntryAge
Un puntero a una variable para obtener la antigüedad de la entrada. NO DEBE ser NULO. La edad se proporciona como la duración (en milisegundos) desde el momento en que se registró la entrada hasta el aIterator tiempo de inicialización. Se establece en OT_HISTORY_TRACKER_MAX_AGE para las entradas mayores que la edad máxima.
Qué muestra
La entrada otHistoryTrackerOnMeshPrefixInfo o NULL si no hay más entradas en la lista

otHistoryTrackerIterateRouterHistory

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

Itera en las entradas de la lista del historial del router.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in,out] aIterator
Un puntero para un iterador. SE DEBE inicializar o el comportamiento no está definido.
[out] aEntryAge
Un puntero a una variable para obtener la antigüedad de la entrada. NO DEBE ser NULO. La edad se proporciona como la duración (en milisegundos) desde el momento en que se registró la entrada hasta el aIterator tiempo de inicialización. Se establece en OT_HISTORY_TRACKER_MAX_AGE para las entradas mayores que la edad máxima.
Qué muestra
La entrada otHistoryTrackerRouterInfo o NULL si no hay más entradas en la lista

otHistoryTrackerIterateRxHistory

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

Itera en las entradas de la lista de historial de mensajes de RX.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in,out] aIterator
Un puntero para un iterador. SE DEBE inicializar o el comportamiento no está definido.
[out] aEntryAge
Un puntero a una variable para obtener la antigüedad de la entrada. NO DEBE ser NULO. La edad se proporciona como la duración (en milisegundos) desde el momento en que se registró la entrada hasta el aIterator tiempo de inicialización. Se establece en OT_HISTORY_TRACKER_MAX_AGE para las entradas mayores que la edad máxima.
Qué muestra
La entrada otHistoryTrackerMessageInfo o NULL si no hay más entradas en la lista

otHistoryTrackerIterateTxHistory

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

Itera sobre las entradas de la lista de historial de mensajes de transmisión.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in,out] aIterator
Un puntero para un iterador. SE DEBE inicializar o el comportamiento no está definido.
[out] aEntryAge
Un puntero a una variable para obtener la antigüedad de la entrada. NO DEBE ser NULO. La edad se proporciona como la duración (en milisegundos) desde el momento en que se registró la entrada hasta el aIterator tiempo de inicialización. Se establece en OT_HISTORY_TRACKER_MAX_AGE para las entradas mayores que la edad máxima.
Qué muestra
La entrada otHistoryTrackerMessageInfo o NULL si no hay más entradas en la lista

otHistoryTrackerIterateUnicastAddressHistory

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

Itera sobre las entradas en la lista del historial de direcciones de unidifusión.

Detalles
Parámetros
[in] aInstance
Un puntero para la instancia de OpenThread.
[in,out] aIterator
Un puntero para un iterador. SE DEBE inicializar o el comportamiento no está definido.
[out] aEntryAge
Un puntero a una variable para obtener la antigüedad de la entrada. NO DEBE ser NULO. La edad se proporciona como la duración (en milisegundos) desde el momento en que se registró la entrada hasta el aIterator tiempo de inicialización. Se establece en OT_HISTORY_TRACKER_MAX_AGE para las entradas mayores que la edad máxima.
Qué muestra
Un puntero para la entrada otHistoryTrackerUnicastAddressInfo o NULL si no hay más entradas en la lista.

Macros

OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE

 OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE 21

Tamaño recomendado para la representación de cadena de una edad de entrada.

OT_HISTORY_TRACKER_INFINITE_PATH_COST

 OT_HISTORY_TRACKER_INFINITE_PATH_COST 0

Costo de ruta de acceso infinito: se usa en otHistoryTrackerRouterInfo.

OT_HISTORY_TRACKER_MAX_AGE

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

Esta constante especifica la antigüedad máxima de las entradas, que es de 49 días (en ms).

En las entradas que superen la edad máxima, se establecerá este valor como su edad.

OT_HISTORY_TRACKER_NO_NEXT_HOP

 OT_HISTORY_TRACKER_NO_NEXT_HOP 63

No hay ningún salto siguiente para mNextHop en otHistoryTrackerRouterInfo.

Recursos

Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir a nuestra documentación, consulta Recursos.