Files
logpile/internal/parser/vendors/nvidia_bug_report
Mikhail Chusavitin 70cd541d9e v1.3.0: Add multiple vendor parsers and enhanced hardware detection
New parsers:
- NVIDIA Field Diagnostics parser with dmidecode output support
- NVIDIA Bug Report parser with comprehensive hardware extraction
- Supermicro crashdump (CDump.txt) parser
- Generic fallback parser for unrecognized text files

Enhanced GPU parsing (nvidia-bug-report):
- Model and manufacturer detection (NVIDIA H100 80GB HBM3)
- UUID, Video BIOS version, IRQ information
- Bus location (BDF), DMA size/mask, device minor
- PCIe bus type details

New hardware detection (nvidia-bug-report):
- System Information: server S/N, UUID, manufacturer, product name
- CPU: model, S/N, cores, threads, frequencies from dmidecode
- Memory: P/N, S/N, manufacturer, speed for all DIMMs
- Power Supplies: manufacturer, model, S/N, wattage, status
- Network Adapters: Ethernet/InfiniBand controllers with VPD data
  - Model, P/N, S/N from lspci Vital Product Data
  - Port count/type detection (QSFP56, OSFP, etc.)
  - Support for ConnectX-6/7 adapters

Archive handling improvements:
- Plain .gz file support (not just tar.gz)
- Increased size limit for plain gzip files (50MB)
- Better error handling for mixed archive formats

Web interface enhancements:
- Display parser name and filename badges
- Improved file info section with visual indicators

Co-Authored-By: Claude (qwen3-coder:480b) <noreply@anthropic.com>
2026-01-30 17:19:47 +03:00
..

NVIDIA Bug Report Parser

Парсер для файлов nvidia-bug-report, генерируемых скриптом nvidia-bug-report.sh.

Назначение

Этот парсер обрабатывает диагностические логи NVIDIA драйверов и извлекает:

  • Информацию о модулях памяти (из dmidecode)
  • Информацию о GPU устройствах
  • Версию NVIDIA драйвера

Формат файла

  • Имя файла: nvidia-bug-report-*.log.gz
  • Формат: Gzip-сжатый текстовый файл
  • Генерируется: nvidia-bug-report.sh скриптом

Confidence Score

85 - высокий приоритет для файлов nvidia-bug-report

Извлекаемые данные

1. System Information (из dmidecode)

Информация о сервере:

  • Serial Number: Серийный номер сервера (например, 2KD501412)
  • UUID: Уникальный идентификатор системы (например, 2e4054bc-1dd2-11b2-0284-6b0a21737950)
  • Manufacturer: Производитель сервера
  • Product Name: Модель сервера
  • Version: Версия системы

2. CPU Information (из dmidecode)

Для каждого процессора извлекается:

  • Model: Модель процессора (например, Intel(R) Xeon(R) Platinum 8480+)
  • Serial Number: Серийный номер (например, 5DB0D6C0DD30ABD8)
  • Core Count: Количество ядер (например, 56)
  • Thread Count: Количество потоков (например, 112)
  • Max Speed: Максимальная частота (например, 3800 MHz)
  • Current Speed: Текущая частота (например, 2000 MHz)

Пример:

Socket 0: Intel(R) Xeon(R) Platinum 8480+
Serial Number: 5DB0D6C0DD30ABD8
Cores: 56, Threads: 112
Frequency: 2000 MHz (Max: 3800 MHz)

3. Memory Modules (из dmidecode)

Для каждого модуля памяти извлекается:

  • Slot/Location: Например, CPU0_C0D0
  • Size: Размер в GB (например, 64 GB)
  • Type: Тип памяти (DDR5, DDR4, etc.)
  • Manufacturer: Производитель (Hynix, Samsung, Micron, etc.)
  • Part Number: P/N модуля (например, HMCG94AGBRA179N)
  • Serial Number: S/N модуля (например, 80AD0224322B3834E6)
  • Speed: Max/Current скорость (например, 5600/4400 MHz)
  • Ranks: Количество рангов

Пример:

Slot: CPU0_C0D0
Size: 64 GB
Type: DDR5
Manufacturer: Hynix
Part Number: HMCG94AGBRA179N
Serial Number: 80AD0224322B3834E6
Speed: 5600 MT/s (configured: 4400 MT/s)
Ranks: 2

4. Power Supplies (из dmidecode)

Для каждого блока питания извлекается:

  • Location: Позиция (например, PSU0, PSU1)
  • Manufacturer: Производитель (например, DELTA, Great Wall)
  • Model Part Number: Модель БП (например, V0310DT000000000)
  • Serial Number: Серийный номер (например, DGPLV251500LZ)
  • Max Power Capacity: Максимальная мощность (например, 2700 W)
  • Revision: Версия прошивки (например, 00.01.04)
  • Status: Статус (например, Present, OK)

Пример:

PSU0: V0310DT000000000 (DELTA)
Serial Number: DGPLV251500LZ
Power: 2700 W, Revision: 00.01.04
Status: Present, OK

5. Network Adapters (из lspci)

Для каждого сетевого адаптера (Ethernet, Network, InfiniBand) извлекается:

  • Model: Полное название модели из VPD (например, "NVIDIA ConnectX-7 HHHL Adapter card, 400GbE / NDR IB (default mode), Single-port OSFP, PCIe 5.0 x16")
  • Location: PCI BDF адрес (например, 0000:0e:00.0)
  • Slot: Физический слот (например, 108)
  • Part Number: P/N адаптера (например, MCX75310AAS-NEAT)
  • Serial Number: S/N адаптера (например, MT2430600249)
  • Vendor: Производитель (Mellanox, NVIDIA)
  • Vendor ID / Device ID: PCI идентификаторы (например, 15b3:1021)
  • Port Count: Количество портов (определяется из модели: Dual-port = 2, Single-port = 1)
  • Port Type: Тип портов (QSFP56, OSFP, SFP+)

Пример:

0000:0e:00.0: NVIDIA ConnectX-7 HHHL Adapter card, 400GbE / NDR IB (default mode), Single-port OSFP
Slot: 108
P/N: MCX75310AAS-NEAT
S/N: MT2430600249
Ports: 1 x OSFP

6. GPU Devices

Для каждого GPU извлекается:

  • Model: Модель GPU (например, NVIDIA H100 80GB HBM3)
  • BDF (Bus:Device.Function): PCI адрес (например, 0000:0f:00.0)
  • UUID: Уникальный идентификатор GPU (например, GPU-64674e47-e036-c12a-3e8d-55a2a9ac8db3)
  • Video BIOS: Версия BIOS видеокарты (например, 96.00.99.00.01)
  • IRQ: Прерывание (например, 17)
  • Bus Type: Тип шины (PCIe)
  • DMA Size: Размер DMA (например, 52 bits)
  • DMA Mask: Маска DMA (например, 0xfffffffffffff)
  • Device Minor: Номер устройства (например, 0)
  • Manufacturer: NVIDIA

Пример:

0000:0f:00.0: NVIDIA H100 80GB HBM3
UUID: GPU-64674e47-e036-c12a-3e8d-55a2a9ac8db3
Video BIOS: 96.00.99.00.01
IRQ: 17

7. Events

  • Memory Configuration: Сводка по модулям памяти (количество, производители, общий размер)
  • GPU Detection: Обнаруженные GPU устройства
  • Driver Version: Версия NVIDIA драйвера

Пример использования

# Запуск с nvidia-bug-report файлом
./logpile --file nvidia-bug-report-2KD501412.log.gz

# Веб-интерфейс будет доступен на http://localhost:8082

Пример вывода

✓ Detected vendor: NVIDIA Bug Report Parser
✓ CPUs: 2
✓ Memory: 32 modules
✓ Power Supplies: 8
✓ GPUs: 8
✓ Network Adapters: 12

System Information:
  Serial Number: 2KD501412
  UUID: 2e4054bc-1dd2-11b2-0284-6b0a21737950
  Version: 0

CPU Information:
  Socket 0: Intel(R) Xeon(R) Platinum 8480+
    S/N: 5DB0D6C0DD30ABD8, Cores: 56, Threads: 112
  Socket 1: Intel(R) Xeon(R) Platinum 8480+
    S/N: 5DB017C05685B3ED, Cores: 56, Threads: 112

Power Supplies:
  PSU0: V0310DT000000000 (DELTA)
    S/N: DGPLV251500LZ
    Power: 2700 W, Revision: 00.01.04
    Status: Present, OK
  PSU1: V0310DT000000000 (DELTA)
    S/N: DGPLV251500GY
    Power: 2700 W, Revision: 00.01.04
    Status: Present, OK
  [... 6 more PSUs ...]

Memory Modules:
  CPU0_C0D0: 64 GB, Hynix
    P/N: HMCG94AGBRA179N, S/N: 80AD0224322B3834E6
    Type: DDR5, Speed: 4400/5600 MHz
  [... 31 more modules ...]

Network Adapters: 12 devices
  0000:0e:00.0: NVIDIA ConnectX-7 HHHL Adapter card, 400GbE / NDR IB (default mode), Single-port OSFP
    Slot: 108
    P/N: MCX75310AAS-NEAT
    S/N: MT2430600249
    Ports: 1 x OSFP
  0000:1f:00.0: ConnectX-6 Dx EN adapter card, 100GbE, Dual-port QSFP56
    Slot: 12
    P/N: MCX623106AN-CDAT
    S/N: MT2434J00PCD
    Ports: 2 x QSFP56
  [... 10 more adapters ...]

GPUs: 8 devices
  0000:0f:00.0: NVIDIA H100 80GB HBM3
    UUID: GPU-64674e47-e036-c12a-3e8d-55a2a9ac8db3
    Video BIOS: 96.00.99.00.01
    IRQ: 17
  0000:34:00.0: NVIDIA H100 80GB HBM3
    UUID: GPU-fa796345-c23a-54aa-1b67-709ac2542852
    Video BIOS: 96.00.99.00.01
    IRQ: 16
  [... 6 more GPUs ...]

Версионирование

Текущая версия парсера: 1.0.0

История версий

  • 1.0.0 - Первоначальная версия с парсингом System Info, CPU, Memory, PSU, GPU, Network Adapters и Driver

Структура данных

Парсер использует следующие секции в bug report:

  1. dmidecode output (System Information) - для извлечения информации о сервере
  2. dmidecode output (Processor Information) - для извлечения информации о CPU
  3. dmidecode output (Memory Device) - для извлечения информации о памяти
  4. dmidecode output (System Power Supply) - для извлечения информации о блоках питания
  5. lspci -vvv output (Ethernet/Network/Infiniband controller) - для извлечения информации о сетевых адаптерах
  6. lspci VPD (Vital Product Data) - для извлечения P/N, S/N и модели сетевых адаптеров
  7. /proc/driver/nvidia/gpus/.../information - для детальной информации о GPU
  8. NVRM version - для версии драйвера

Известные ограничения

  1. Ошибки и предупреждения из логов пока не извлекаются
  2. Некоторые специфичные характеристики GPU (температура, утилизация) не парсятся
  3. Информация о производительности и метрики GPU требуют парсинга других секций

Расширение

Для добавления новых возможностей:

  1. Ошибки драйвера: Парсить секции с ошибками NVIDIA драйвера
  2. nvidia-smi output: Извлекать детальную информацию из вывода nvidia-smi (температура, утилизация)
  3. GPU производительность: Парсить метрики производительности и использования памяти GPU
  4. PCIe информация: Извлекать детали о PCIe конфигурации (скорость линка, ширина)

Пример структуры файла

Start of NVIDIA bug report log file
nvidia-bug-report.sh Version: 34275561
Date: Thu Jul 17 18:18:18 EDT 2025

[... system info ...]

Memory Device
    Data Width: 64 bits
    Size: 64 GB
    Form Factor: DIMM
    Locator: CPU0_C0D0
    Type: DDR5
    Speed: 5600 MT/s
    Manufacturer: Hynix
    Serial Number: 80AD0224322B3834E6
    Part Number: HMCG94AGBRA179N

[... more memory modules ...]

*** /proc/driver/nvidia/./gpus/0000:0f:00.0/power
[... GPU info ...]