記錄追蹤工具

記錄不同事件的記錄,例如 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
}
enum
用於表示 otHistoryTrackerMessageInfo 結構中訊息優先順序的常數。
otHistoryTrackerAddressEvent{
  OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED = 1
}
enum
此列舉會定義 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
}
enum
這個列舉會定義鄰近資訊中的事件 (例如
otHistoryTrackerNetDataEvent{
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED = 0,
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED = 1
}
enum
這個列舉會定義網路資料項目的事件 (例如新增或移除項目)。

類型

otHistoryTrackerExternalRouteInfo typedef
這個結構代表「網路資料」外部路徑資訊。
otHistoryTrackerIterator typedef
這個類型代表疊代記錄清單的疊代器。
otHistoryTrackerMessageInfo typedef
這個結構代表 RX/TX IPv6 訊息資訊。
otHistoryTrackerMulticastAddressInfo typedef
這個結構代表 IPv6 多播位址資訊。
otHistoryTrackerNeighborInfo typedef
這個結構代表鄰居資訊。
otHistoryTrackerNetworkInfo typedef
這個結構代表執行緒網路資訊。
otHistoryTrackerOnMeshPrefixInfo typedef
這個結構代表了網狀前置字元前置字串資訊的網路資料。
otHistoryTrackerUnicastAddressInfo typedef
這個結構代表單點 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

這個結構代表執行緒網路資訊。

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

這個結構代表執行緒網路資訊。

otHistoryTrackerOnMeshPrefixInfo

struct otHistoryTrackerOnMeshPrefixInfo otHistoryTrackerOnMeshPrefixInfo

這個結構代表了網狀前置字元前置字串資訊的網路資料。

otHistoryTrackerUnicastAddressInfo

struct otHistoryTrackerUnicastAddressInfo otHistoryTrackerUnicastAddressInfo

這個結構代表單點 IPv6 位址資訊。

函式

otHistoryTrackerEntryAgeToString

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

這個函式會將指定項目年齡轉換為使用者可理解的字串。

項目年齡字串遵循「的 Google Ads 新帳戶重新申請驗證。,以小時、分鐘、秒和毫秒為單位 (如果少於一天) 或

::.(如果超過 1 天)。

如果產生的字串不適用於 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
指向項目輸出年齡的變數。不得為空值。年齡層為從記錄到 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

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_MAX_AGE

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

這項常數會指定 49 天內的項目 (以毫秒為單位)。

針對超過年齡的項目,系統會將其值視為年齡。

資源

OpenThread API 參照主題來自原始碼,位於 GitHub。 如需更多資訊或參閱我們的說明文件,請參閱資源