Monitoraggio storia

Registra la cronologia di diversi eventi, ad esempio messaggi RX e TX o modifiche alle informazioni di rete.

Riepilogo

Tutte le voci monitorate hanno un timestamp.

Le funzioni in questo modulo sono disponibili quando OPENTHREAD_CONFIG_HISTOR_TRACKER_ENABLE è abilitato.

Enumerazioni

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
}
enumerazione
Costanti che rappresentano la priorità dei messaggi utilizzate nello struct otHistoryTrackerMessageInfo.
otHistoryTrackerAddressEvent{
  OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED = 1
}
enumerazione
Questa enumerazione definisce gli eventi per un indirizzo IPv6 (unicast o multicast) (ad es. se l'indirizzo viene aggiunto o rimosso).
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
}
enumerazione
Questa enumerazione definisce gli eventi in un'informazione sul vicino (ad es.
otHistoryTrackerNetDataEvent{
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED = 0,
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED = 1
}
enumerazione
Questa enumerazione definisce gli eventi per una voce di dati di rete, ad esempio se una voce viene aggiunta o rimossa.

Typedef

otHistoryTrackerExternalRouteInfo typedef
Questa struttura rappresenta le informazioni relative al percorso esterno dei dati di rete.
otHistoryTrackerIterator typedef
Questo tipo rappresenta un iteratore per eseguire l'iterazione attraverso un elenco di cronologia.
otHistoryTrackerMessageInfo typedef
Questa struttura rappresenta le informazioni dei messaggi IPv6 RX/TX.
otHistoryTrackerMulticastAddressInfo typedef
Questa struttura rappresenta le informazioni di un indirizzo multicast IPv6.
otHistoryTrackerNeighborInfo typedef
Questa struttura rappresenta le informazioni relative a un vicino.
otHistoryTrackerNetworkInfo typedef
Questa struttura rappresenta le informazioni della rete di Thread.
otHistoryTrackerOnMeshPrefixInfo typedef
Questa struttura rappresenta i dati di rete con informazioni sul prefisso della rete mesh.
otHistoryTrackerUnicastAddressInfo typedef
Questa struttura rappresenta le informazioni di un indirizzo IPv6.

Functions

otHistoryTrackerEntryAgeToString(uint32_t aEntryAge, char *aBuffer, uint16_t aSize)
void
Questa funzione converte una determinata età di voce in una stringa leggibile dall'uomo.
otHistoryTrackerInitIterator(otHistoryTrackerIterator *aIterator)
void
Questa funzione inizializza un otHistoryTrackerIterator.
otHistoryTrackerIterateExternalRouteHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia delle voci di percorso esterne dei dati di rete.
otHistoryTrackerIterateMulticastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia degli indirizzi multicast.
otHistoryTrackerIterateNeighborHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia del vicino.
otHistoryTrackerIterateNetInfoHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia delle informazioni sulla rete.
otHistoryTrackerIterateOnMeshPrefixHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia delle voci del prefisso mesh.
otHistoryTrackerIterateRxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia dei messaggi RX.
otHistoryTrackerIterateTxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia dei messaggi TX.
otHistoryTrackerIterateUnicastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia degli indirizzi unicast.

Punti ristoro

otHistoryTrackerExternalRouteInfo

Questa struttura rappresenta le informazioni relative al percorso esterno dei dati di rete.

otHistoryTrackerIterator

Questo tipo rappresenta un iteratore per eseguire l'iterazione attraverso un elenco di cronologia.

otHistoryTrackerMessageInfo

Questa struttura rappresenta le informazioni dei messaggi IPv6 RX/TX.

otHistoryTrackerMulticastAddressInfo

Questa struttura rappresenta le informazioni di un indirizzo multicast IPv6.

otHistoryTrackerNeighborInfo

Questa struttura rappresenta le informazioni relative a un vicino.

otHistoryTrackerNetworkInfo

Questa struttura rappresenta le informazioni della rete di Thread.

otHistoryTrackerOnMeshPrefixInfo

Questa struttura rappresenta i dati di rete con informazioni sul prefisso della rete mesh.

otHistoryTrackerUnicastAddressInfo

Questa struttura rappresenta le informazioni di un indirizzo IPv6.

Enumerazioni

enumerazione anonima

 anonymous enum

Costanti che rappresentano la priorità dei messaggi utilizzate nello struct otHistoryTrackerMessageInfo.

Proprietà
OT_HISTORY_TRACKER_MSG_PRIORITY_HIGH

Livello di priorità alto.

OT_HISTORY_TRACKER_MSG_PRIORITY_LOW

Livello di priorità basso.

OT_HISTORY_TRACKER_MSG_PRIORITY_NET

Livello di priorità Controllo della rete.

OT_HISTORY_TRACKER_MSG_PRIORITY_NORMAL

Livello di priorità normale.

otHistoryTrackerAddressEvent

 otHistoryTrackerAddressEvent

Questa enumerazione definisce gli eventi per un indirizzo IPv6 (unicast o multicast) (ad es. se l'indirizzo viene aggiunto o rimosso).

Proprietà
OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED

L'indirizzo è stato aggiunto.

OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED

L'indirizzo è stato rimosso.

otHistoryTrackerNeighborEvent

 otHistoryTrackerNeighborEvent

Questa enumerazione definisce gli eventi in un'informazione sul vicino (ad es.

se il vicino è stato aggiunto, rimosso o modificato).

L'evento OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING è applicabile solo ai vicini di bambini. Si attiva dopo l'avvio (ri)avvio del dispositivo e quando l'elenco secondario precedente viene recuperato da impostazioni non volatili e il dispositivo tenta di ripristinare la connessione.

Proprietà
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED

Il vicino è stato aggiunto.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED

Numero vicino modificato (ad esempio, i flag della modalità dispositivo sono cambiati).

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED

Il vicino è stato rimosso.

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING

È in corso il ripristino del vicino (applicabile solo al publisher secondario).

otHistoryTrackerNetDataEvent

 otHistoryTrackerNetDataEvent

Questa enumerazione definisce gli eventi per una voce di dati di rete, ad esempio se una voce viene aggiunta o rimossa.

Proprietà
OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED

Aggiunta la voce di dati di rete.

OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED

La voce dei dati di rete è stata rimossa.

Typedef

otHistoryTrackerExternalRouteInfo

struct otHistoryTrackerExternalRouteInfo otHistoryTrackerExternalRouteInfo

Questa struttura rappresenta le informazioni relative al percorso esterno dei dati di rete.

otHistoryTrackerIterator

struct otHistoryTrackerIterator otHistoryTrackerIterator

Questo tipo rappresenta un iteratore per eseguire l'iterazione attraverso un elenco di cronologia.

I campi di questo tipo sono opachi (destinati all'uso da parte di OpenThread core) e pertanto non devono essere aperti o utilizzati dal chiamante.

Prima di utilizzare un iteratore, DEVE essere inizializzato utilizzando otHistoryTrackerInitIterator().

otHistoryTrackerMessageInfo

struct otHistoryTrackerMessageInfo otHistoryTrackerMessageInfo

Questa struttura rappresenta le informazioni dei messaggi IPv6 RX/TX.

Alcuni campi di questo framework sono applicabili solo a un messaggio RX o a un messaggio TX, ad esempio mAveRxRss corrisponde all'RSS medio di tutti i frame di frammenti che formano un messaggio ricevuto ed è applicabile solo a un messaggio RX.

otHistoryTrackerMulticastAddressInfo

struct otHistoryTrackerMulticastAddressInfo otHistoryTrackerMulticastAddressInfo

Questa struttura rappresenta le informazioni di un indirizzo multicast IPv6.

otHistoryTrackerNeighborInfo

struct otHistoryTrackerNeighborInfo otHistoryTrackerNeighborInfo

Questa struttura rappresenta le informazioni relative a un vicino.

otHistoryTrackerNetworkInfo

struct otHistoryTrackerNetworkInfo otHistoryTrackerNetworkInfo

Questa struttura rappresenta le informazioni della rete di Thread.

otHistoryTrackerOnMeshPrefixInfo

struct otHistoryTrackerOnMeshPrefixInfo otHistoryTrackerOnMeshPrefixInfo

Questa struttura rappresenta i dati di rete con informazioni sul prefisso della rete mesh.

otHistoryTrackerUnicastAddressInfo

struct otHistoryTrackerUnicastAddressInfo otHistoryTrackerUnicastAddressInfo

Questa struttura rappresenta le informazioni di un indirizzo IPv6.

Functions

otHistoryTrackerEntryAgeToString

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

Questa funzione converte una determinata età di voce in una stringa leggibile dall'uomo.

La stringa dell'età della voce segue il formato "::," per ore, minuti, secondi e millisecondi (se inferiore a un giorno) o "

giorni ::." (se più di un giorno).

Se la stringa risultante non rientra in aBuffer (entro i suoi caratteri aSize), la stringa verrà troncata, ma la stringa generata sarà sempre terminata.

Dettagli
Parametri
[in] aEntryAge
L'età della voce (durata in msec).
[out] aBuffer
Un puntatore a un array di caratteri per generare la stringa (DEVE NON essere NULL).
[in] aSize
Le dimensioni di aBuffer. Ti consigliamo di usare OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE.

otHistoryTrackerInitIterator

void otHistoryTrackerInitIterator(
  otHistoryTrackerIterator *aIterator
)

Questa funzione inizializza un otHistoryTrackerIterator.

Un iteratore DEVE essere inizializzato prima di essere utilizzato.

È possibile inizializzare nuovamente un iteratore dall'inizio dell'elenco.

Quando si ripetono le voci in un elenco, per garantire la coerenza delle età delle voci, viene indicata l'età in base al momento in cui l'iteratore è stato inizializzato, ad esempio l'età della voce viene fornita come la durata (in millisecondi) dell'evento (quando la voce era registrato) al tempo di inizializzazione dell'iteratore.

Dettagli
Parametri
[in] aIterator
Un puntatore all'iteratore da inizializzare (DEVE NON essere NULL).

otHistoryTrackerIterateExternalRouteHistory

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

Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia delle voci di percorso esterne dei dati di rete.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene fornita come durata (in millisecondi) da quando la voce è stata registrata al aIterator tempo di inizializzazione. È impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che superano l'età massima.
Resi
La voce otHistoryTrackerExternalRouteInfo oppure NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateMulticastAddressHistory

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

Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia degli indirizzi multicast.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene fornita come durata (in millisecondi) da quando la voce è stata registrata al aIterator tempo di inizializzazione. È impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che superano l'età massima.
Resi
Un puntatore a otHistoryTrackerMulticastAddressInfo voce o NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateNeighborHistory

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

Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia del vicino.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene fornita come durata (in millisecondi) da quando la voce è stata registrata al aIterator tempo di inizializzazione. È impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che superano l'età massima.
Resi
La voce otHistoryTrackerNeighborInfo oppure NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateNetInfoHistory

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

Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia delle informazioni sulla rete.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene fornita come durata (in millisecondi) da quando la voce è stata registrata al aIterator tempo di inizializzazione. È impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che superano l'età massima.
Resi
Un puntatore a otHistoryTrackerNetworkInfo voce o NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateOnMeshPrefixHistory

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

Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia delle voci del prefisso mesh.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene fornita come durata (in millisecondi) da quando la voce è stata registrata al aIterator tempo di inizializzazione. È impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che superano l'età massima.
Resi
La voce otHistoryTrackerOnMeshPrefixInfo oppure NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateRxHistory

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

Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia dei messaggi RX.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene fornita come durata (in millisecondi) da quando la voce è stata registrata al aIterator tempo di inizializzazione. È impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che superano l'età massima.
Resi
La voce otHistoryTrackerMessageInfo oppure NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateTxCronologia

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

Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia dei messaggi TX.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene fornita come durata (in millisecondi) da quando la voce è stata registrata al aIterator tempo di inizializzazione. È impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che superano l'età massima.
Resi
La voce otHistoryTrackerMessageInfo oppure NULL se non ci sono altre voci nell'elenco.

otHistoryTrackerIterateUnicastAddressHistory

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

Questa funzione esegue un'iterazione sulle voci nell'elenco della cronologia degli indirizzi unicast.

Dettagli
Parametri
[in] aInstance
Un puntatore all'istanza OpenThread.
[in,out] aIterator
Un puntatore a un iteratore. DEVE essere inizializzato o il comportamento non è definito.
[out] aEntryAge
Un puntatore a una variabile per visualizzare l'età della voce. NON DEVE essere NULL. L'età viene fornita come durata (in millisecondi) da quando la voce è stata registrata al aIterator tempo di inizializzazione. È impostato su OT_HISTORY_TRACKER_MAX_AGE per le voci che superano l'età massima.
Resi
Un puntatore a otHistoryTrackerUnicastAddressInfo voce o NULL se non ci sono altre voci nell'elenco.

Macro

OT_History_TRACKER_ENTRY_AGE_STRING_SIZE

 OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE 21

Dimensione consigliata per la rappresentazione delle stringhe dell'età dell'elemento.

OT_History_TRACKER_MAX_AGE

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

Questa costante specifica l'età massima delle voci, pari a 49 giorni (in msec).

Per gli eventi che superano l'età massima questo valore verrà indicato come età.

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per ulteriori informazioni, o per contribuire alla nostra documentazione, consulta la pagina Risorse.