Перейти до вмісту

GET /api/debug/lwip-stats/

Знімок внутрішніх лічильників стека lwIP: статистика за протоколами та стан пулів memp.

Джерелом даних є глобальна структура lwip_stats (lwip/stats.h). Доступні поля визначаються прапорцями *_STATS у файлі lwipopts.h. Якщо прапорець вимкнено, відповідний ключ не включається у відповідь.

Авторизація: токен Bearer (powerUser).


{
"proto": {
"link": { "recv": 1234, "xmit": 1100, "drop": 0, "chkerr": 0, "lenerr": 0, "memerr": 0, "rterr": 0, "proterr": 0, "opterr": 0, "err": 0 },
"etharp": { "recv": 200, "xmit": 180, "drop": 0, "chkerr": 0, "lenerr": 0, "memerr": 0, "rterr": 0, "proterr": 0, "opterr": 0, "err": 0, "cachehit": 950 },
"ip": { "recv": 1000, "xmit": 950, "drop": 0, "chkerr": 0, "lenerr": 0, "memerr": 0, "rterr": 0, "proterr": 0, "opterr": 0, "err": 0 },
"icmp": { "recv": 4, "xmit": 4, "drop": 0, "chkerr": 0, "lenerr": 0, "memerr": 0, "rterr": 0, "proterr": 0, "opterr": 0, "err": 0 },
"udp": { "recv": 50, "xmit": 50, "drop": 0, "chkerr": 0, "lenerr": 0, "memerr": 0, "rterr": 0, "proterr": 0, "opterr": 0, "err": 0 },
"tcp": { "recv": 800, "xmit": 760, "drop": 0, "chkerr": 0, "lenerr": 0, "memerr": 0, "rterr": 0, "proterr": 0, "opterr": 0, "err": 0 }
},
"memp": [
{ "name": "RAW_PCB", "avail": 0, "used": 0, "max": 0, "err": 0 },
{ "name": "UDP_PCB", "avail": 8, "used": 1, "max": 1, "err": 0 },
{ "name": "TCP_PCB", "avail": 16, "used": 2, "max": 5, "err": 0 },
{ "name": "TCP_PCB_LISTEN", "avail": 4, "used": 2, "max": 2, "err": 0 },
{ "name": "TCP_SEG", "avail": 20, "used": 0, "max": 8, "err": 0 },
{ "name": "PBUF", "avail": 4, "used": 0, "max": 2, "err": 0 },
{ "name": "PBUF_POOL", "avail": 40, "used": 0, "max": 12, "err": 0 }
]
}

proto.<name> (структура stats_proto)

Section titled “proto.<name> (структура stats_proto)”

Кожна група відповідає одному протоколу. Назва включається, лише якщо для відповідного параметра *_STATS у файлі lwipopts.h встановлено значення 1.

ПолеТипОпис
recvчислоКількість отриманих пакетів
xmitчислоКількість переданих пакетів
dropчислоКількість відкинутих пакетів
chkerrчислоПомилки контрольної суми
lenerrчислоПомилки довжини
memerrчислоНевдалі операції виділення пам’яті
rterrчислоПомилки маршрутизації
proterrчислоПомилки протоколу
opterrчислоПомилки параметрів
errчислоІнші помилки
cachehitчислоЛише для etharp: кількість влучань у кеш ARP

Можливі ключі proto: link, etharp, ip, icmp, udp і tcp. (Вони відповідають прапорцям LINK_STATS, ETHARP_STATS, IP_STATS, ICMP_STATS, UDP_STATS і TCP_STATS.)

Масив, що містить по одному елементу для кожного пулу memp. Поле name містить короткий ідентифікатор пулу з переліку memp_t без префікса MEMP_.

ПолеТипОпис
nameрядокНазва пулу (наприклад, TCP_PCB або PBUF_POOL)
availчислоМісткість пулу (кількість елементів)
usedчислоПоточна кількість використовуваних елементів
maxчислоМаксимальне значення used за час роботи
errчислоКількість невдалих виділень пам’яті з пулу

Цей блок наявний, лише коли MEMP_STATS = 1.