Готовый перевод Linux Device Drivers 3 / Драйверы устройств Линукс (третье издание): 17.13. Statistical Information
17.13. Статистическая информация
Последний метод необходимый драйверу – get_stats. Этот метод
возвращает указатель на статистическую информацию об устройстве.
Реализация метода – проста. Она работает, даже когда несколько
интерфейсов управляются одним драйвером, потому что статистические
данные находятся в структуре устройства.
struct net_device_stats *snull_stats(struct net_device *dev)
{
struct snull_priv *priv = netdev_priv(dev);
return &priv->stats;
}
Функция должна вернуть, статистику по всему драйверу, обновив
значения полей. Далее показаны наиболее важные поля структуры
net_device_stats.
unsigned long rx_packets;
unsigned long tx_packets;
Общее количество принятых и отправленных пакетов, успешно
переданных интерфейсу.
unsigned long rx_bytes;
unsigned long tx_bytes;
Количество байт принятых и отправленных интерфейсом.
unsigned long rx_errors;
unsigned long tx_errors;
Количество ошибок при приеме и передачи. Это не вся информация
которая описывает ошибки, возникающие при передачи пакетов.
Структура net_device_stats содержит шесть счетчиков для ошибок
приема и пять для ошибок передачи (смотрите файл
<"linux/netdevice.h"> ). Если ваш драйвер будет вести подробную
статистику ошибок, это может помочь системному администратору в
решении проблем.
unsigned long rx_dropped;
unsigned long tx_dropped;
Количество упущенных пакетов при приеме и передачи. Пакет
теряется, если не хватает памяти для его размещения. Поле
tx_dropped редко используется.
unsigned long collisions;
Количество коллизий обусловленных перегрузкой передающей
среды.
unsigned long multicast;
Количество принятых пакетов с групповой адресацией.
Достоинство метода get_stats в том, что он может быть вызван в
любое время, даже когда интерфейс выключен, драйвер должен
удерживать статистическую информацию столько, сколько существует
структура net_device.
Внимание! Этот перевод, возможно, ещё не готов.
Его статус: перевод редактируется
Переведено на Нотабеноиде
http://notabenoid.org/book/11832/38394
Переводчики: hardorsoft
Настройки
Готово:
