Skip to content

Commit e247709

Browse files
Merge pull request #156 from amd/automated-plugin-docs-update
docs: Update plugin documentation [automated]
2 parents ff03000 + 0b9938b commit e247709

1 file changed

Lines changed: 88 additions & 34 deletions

File tree

docs/PLUGIN_DOC.md

Lines changed: 88 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
| KernelPlugin | sh -c 'uname -a'<br>sh -c 'cat /proc/sys/kernel/numa_balancing'<br>wmic os get Version /Value | **Analyzer Args:**<br>- `exp_kernel`: Union[str, list]<br>- `exp_numa`: Optional[int]<br>- `regex_match`: bool | - | [KernelDataModel](#KernelDataModel-Model) | [KernelCollector](#Collector-Class-KernelCollector) | [KernelAnalyzer](#Data-Analyzer-Class-KernelAnalyzer) |
1717
| KernelModulePlugin | cat /proc/modules<br>modinfo amdgpu<br>wmic os get Version /Value | **Analyzer Args:**<br>- `kernel_modules`: dict[str, dict]<br>- `regex_filter`: list[str] | - | [KernelModuleDataModel](#KernelModuleDataModel-Model) | [KernelModuleCollector](#Collector-Class-KernelModuleCollector) | [KernelModuleAnalyzer](#Data-Analyzer-Class-KernelModuleAnalyzer) |
1818
| MemoryPlugin | free -b<br>lsmem<br>numactl -H<br>wmic OS get FreePhysicalMemory /Value; wmic ComputerSystem get TotalPhysicalMemory /Value | **Analyzer Args:**<br>- `ratio`: float<br>- `memory_threshold`: str | - | [MemoryDataModel](#MemoryDataModel-Model) | [MemoryCollector](#Collector-Class-MemoryCollector) | [MemoryAnalyzer](#Data-Analyzer-Class-MemoryAnalyzer) |
19-
| NetworkPlugin | ip addr show<br>curl<br>ethtool -S {interface}<br>ethtool {interface}<br>lldpcli show neighbor<br>lldpctl<br>ip neighbor show<br>niccli --dev {device_num} qos --ets --show<br>niccli --list_devices<br>nicctl show card<br>nicctl show dcqcn<br>nicctl show environment<br>nicctl show pcie ats<br>nicctl show port<br>nicctl show qos<br>nicctl show rdma statistics<br>nicctl show version firmware<br>nicctl show version host-software<br>ping<br>ip route show<br>ip rule show<br>wget | - | **Collection Args:**<br>- `url`: Optional[str]<br>- `netprobe`: Optional[Literal['ping', 'wget', 'curl']] | [NetworkDataModel](#NetworkDataModel-Model) | [NetworkCollector](#Collector-Class-NetworkCollector) | - |
19+
| NetworkPlugin | ip addr show<br>curl<br>ethtool -S {interface}<br>ethtool {interface}<br>lldpcli show neighbor<br>lldpctl<br>ip neighbor show<br>ping<br>ip route show<br>ip rule show<br>wget | - | **Collection Args:**<br>- `url`: Optional[str]<br>- `netprobe`: Optional[Literal['ping', 'wget', 'curl']] | [NetworkDataModel](#NetworkDataModel-Model) | [NetworkCollector](#Collector-Class-NetworkCollector) | - |
20+
| NicPlugin | - | **Analyzer Args:**<br>- `expected_values`: Optional[Dict[str, Dict[str, Any]]]<br>- `performance_profile_expected`: str<br>- `support_rdma_disabled_values`: List[str]<br>- `pcie_relaxed_ordering_expected`: str<br>- `expected_qos_prio_map`: Optional[Dict[Any, Any]]<br>- `expected_qos_pfc_enabled`: Optional[int]<br>- `expected_qos_tsa_map`: Optional[Dict[Any, Any]]<br>- `expected_qos_tc_bandwidth`: Optional[List[int]]<br>- `require_qos_consistent_across_adapters`: bool<br>- `nicctl_log_error_regex`: Optional[List[Dict[str, Any]]] | **Collection Args:**<br>- `commands`: Optional[List[str]]<br>- `use_sudo_niccli`: bool<br>- `use_sudo_nicctl`: bool | [NicDataModel](#NicDataModel-Model) | [NicCollector](#Collector-Class-NicCollector) | [NicAnalyzer](#Data-Analyzer-Class-NicAnalyzer) |
2021
| NvmePlugin | nvme smart-log {dev}<br>nvme error-log {dev} --log-entries=256<br>nvme id-ctrl {dev}<br>nvme id-ns {dev}{ns}<br>nvme fw-log {dev}<br>nvme self-test-log {dev}<br>nvme get-log {dev} --log-id=6 --log-len=512<br>nvme telemetry-log {dev} --output-file={dev}_{f_name}<br>nvme list -o json | - | - | [NvmeDataModel](#NvmeDataModel-Model) | [NvmeCollector](#Collector-Class-NvmeCollector) | - |
2122
| OsPlugin | sh -c '( lsb_release -ds \|\| (cat /etc/*release \| grep PRETTY_NAME) \|\| uname -om ) 2>/dev/null \| head -n1'<br>cat /etc/*release \| grep VERSION_ID<br>wmic os get Version /value<br>wmic os get Caption /Value | **Analyzer Args:**<br>- `exp_os`: Union[str, list]<br>- `exact_match`: bool | - | [OsDataModel](#OsDataModel-Model) | [OsCollector](#Collector-Class-OsCollector) | [OsAnalyzer](#Data-Analyzer-Class-OsAnalyzer) |
2223
| PackagePlugin | dnf list --installed<br>dpkg-query -W<br>pacman -Q<br>cat /etc/*release<br>wmic product get name,version | **Analyzer Args:**<br>- `exp_package_ver`: Dict[str, Optional[str]]<br>- `regex_match`: bool<br>- `rocm_regex`: Optional[str]<br>- `enable_rocm_regex`: bool | - | [PackageDataModel](#PackageDataModel-Model) | [PackageCollector](#Collector-Class-PackageCollector) | [PackageAnalyzer](#Data-Analyzer-Class-PackageAnalyzer) |
@@ -409,17 +410,6 @@ Collect network configuration details using ip command
409410
- **CMD_CURL**: `curl`
410411
- **CMD_LLDPCLI_NEIGHBOR**: `lldpcli show neighbor`
411412
- **CMD_LLDPCTL**: `lldpctl`
412-
- **CMD_NICCLI_LISTDEV**: `niccli --list_devices`
413-
- **CMD_NICCLI_GETQOS_TEMPLATE**: `niccli --dev {device_num} qos --ets --show`
414-
- **CMD_NICCTL_CARD**: `nicctl show card`
415-
- **CMD_NICCTL_DCQCN**: `nicctl show dcqcn`
416-
- **CMD_NICCTL_ENVIRONMENT**: `nicctl show environment`
417-
- **CMD_NICCTL_PCIE_ATS**: `nicctl show pcie ats`
418-
- **CMD_NICCTL_PORT**: `nicctl show port`
419-
- **CMD_NICCTL_QOS**: `nicctl show qos`
420-
- **CMD_NICCTL_RDMA_STATISTICS**: `nicctl show rdma statistics`
421-
- **CMD_NICCTL_VERSION_HOST_SOFTWARE**: `nicctl show version host-software`
422-
- **CMD_NICCTL_VERSION_FIRMWARE**: `nicctl show version firmware`
423413

424414
### Provides Data
425415

@@ -434,22 +424,25 @@ NetworkDataModel
434424
- lldpcli show neighbor
435425
- lldpctl
436426
- ip neighbor show
437-
- niccli --dev {device_num} qos --ets --show
438-
- niccli --list_devices
439-
- nicctl show card
440-
- nicctl show dcqcn
441-
- nicctl show environment
442-
- nicctl show pcie ats
443-
- nicctl show port
444-
- nicctl show qos
445-
- nicctl show rdma statistics
446-
- nicctl show version firmware
447-
- nicctl show version host-software
448427
- ping
449428
- ip route show
450429
- ip rule show
451430
- wget
452431

432+
## Collector Class NicCollector
433+
434+
### Description
435+
436+
Collect raw output from niccli (Broadcom) and nicctl (Pensando) commands.
437+
438+
**Bases**: ['InBandDataCollector']
439+
440+
**Link to code**: [nic_collector.py](https://github.com/amd/node-scraper/blob/HEAD/nodescraper/plugins/inband/nic/nic_collector.py)
441+
442+
### Provides Data
443+
444+
NicDataModel
445+
453446
## Collector Class NvmeCollector
454447

455448
### Description
@@ -1014,19 +1007,47 @@ Complete network configuration data
10141007
- **rules**: `List[nodescraper.plugins.inband.network.networkdata.RoutingRule]`
10151008
- **neighbors**: `List[nodescraper.plugins.inband.network.networkdata.Neighbor]`
10161009
- **ethtool_info**: `Dict[str, nodescraper.plugins.inband.network.networkdata.EthtoolInfo]`
1017-
- **broadcom_nic_devices**: `List[nodescraper.plugins.inband.network.networkdata.BroadcomNicDevice]`
1018-
- **broadcom_nic_qos**: `Dict[int, nodescraper.plugins.inband.network.networkdata.BroadcomNicQos]`
1019-
- **pensando_nic_cards**: `List[nodescraper.plugins.inband.network.networkdata.PensandoNicCard]`
1020-
- **pensando_nic_dcqcn**: `List[nodescraper.plugins.inband.network.networkdata.PensandoNicDcqcn]`
1021-
- **pensando_nic_environment**: `List[nodescraper.plugins.inband.network.networkdata.PensandoNicEnvironment]`
1022-
- **pensando_nic_pcie_ats**: `List[nodescraper.plugins.inband.network.networkdata.PensandoNicPcieAts]`
1023-
- **pensando_nic_ports**: `List[nodescraper.plugins.inband.network.networkdata.PensandoNicPort]`
1024-
- **pensando_nic_qos**: `List[nodescraper.plugins.inband.network.networkdata.PensandoNicQos]`
1025-
- **pensando_nic_rdma_statistics**: `List[nodescraper.plugins.inband.network.networkdata.PensandoNicRdmaStatistics]`
1026-
- **pensando_nic_version_host_software**: `Optional[nodescraper.plugins.inband.network.networkdata.PensandoNicVersionHostSoftware]`
1027-
- **pensando_nic_version_firmware**: `List[nodescraper.plugins.inband.network.networkdata.PensandoNicVersionFirmware]`
10281010
- **accessible**: `Optional[bool]`
10291011

1012+
## NicDataModel Model
1013+
1014+
### Description
1015+
1016+
Collected output of niccli (Broadcom) and nicctl (Pensando) commands.
1017+
1018+
**Link to code**: [nic_data.py](https://github.com/amd/node-scraper/blob/HEAD/nodescraper/plugins/inband/nic/nic_data.py)
1019+
1020+
**Bases**: ['DataModel']
1021+
1022+
### Model annotations and fields
1023+
1024+
- **results**: `Dict[str, nodescraper.plugins.inband.nic.nic_data.NicCommandResult]`
1025+
- **card_show**: `Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlCardShow]`
1026+
- **cards**: `List[nodescraper.plugins.inband.nic.nic_data.NicCtlCard]`
1027+
- **port**: `Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlPort]`
1028+
- **lif**: `Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlLif]`
1029+
- **qos**: `Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlQos]`
1030+
- **rdma**: `Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlRdma]`
1031+
- **dcqcn**: `Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlDcqcn]`
1032+
- **environment**: `Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlEnvironment]`
1033+
- **version**: `Optional[nodescraper.plugins.inband.nic.nic_data.NicCtlVersion]`
1034+
- **broadcom_nic_devices**: `List[nodescraper.plugins.inband.nic.nic_data.NicCliDevice]`
1035+
- **broadcom_nic_qos**: `Dict[int, nodescraper.plugins.inband.nic.nic_data.NicCliQos]`
1036+
- **broadcom_nic_support_rdma**: `Dict[int, str]`
1037+
- **broadcom_nic_performance_profile**: `Dict[int, str]`
1038+
- **broadcom_nic_pcie_relaxed_ordering**: `Dict[int, str]`
1039+
- **pensando_nic_cards**: `List[nodescraper.plugins.inband.nic.nic_data.PensandoNicCard]`
1040+
- **pensando_nic_dcqcn**: `List[nodescraper.plugins.inband.nic.nic_data.PensandoNicDcqcn]`
1041+
- **pensando_nic_environment**: `List[nodescraper.plugins.inband.nic.nic_data.PensandoNicEnvironment]`
1042+
- **pensando_nic_lif**: `List[nodescraper.plugins.inband.nic.nic_data.PensandoNicLif]`
1043+
- **pensando_nic_pcie_ats**: `List[nodescraper.plugins.inband.nic.nic_data.PensandoNicPcieAts]`
1044+
- **pensando_nic_ports**: `List[nodescraper.plugins.inband.nic.nic_data.PensandoNicPort]`
1045+
- **pensando_nic_qos**: `List[nodescraper.plugins.inband.nic.nic_data.PensandoNicQos]`
1046+
- **pensando_nic_rdma_statistics**: `List[nodescraper.plugins.inband.nic.nic_data.PensandoNicRdmaStatistics]`
1047+
- **pensando_nic_version_host_software**: `Optional[nodescraper.plugins.inband.nic.nic_data.PensandoNicVersionHostSoftware]`
1048+
- **pensando_nic_version_firmware**: `List[nodescraper.plugins.inband.nic.nic_data.PensandoNicVersionFirmware]`
1049+
- **nicctl_card_logs**: `Optional[Dict[str, str]]`
1050+
10301051
## NvmeDataModel Model
10311052

10321053
### Description
@@ -1442,6 +1463,16 @@ Check memory usage is within the maximum allowed used memory
14421463

14431464
**Link to code**: [memory_analyzer.py](https://github.com/amd/node-scraper/blob/HEAD/nodescraper/plugins/inband/memory/memory_analyzer.py)
14441465

1466+
## Data Analyzer Class NicAnalyzer
1467+
1468+
### Description
1469+
1470+
Analyze niccli/nicctl data; checks Broadcom support_rdma, performance_profile (RoCE), pcie_relaxed_ordering (enabled), and getqos (expected QoS across adapters).
1471+
1472+
**Bases**: ['DataAnalyzer']
1473+
1474+
**Link to code**: [nic_analyzer.py](https://github.com/amd/node-scraper/blob/HEAD/nodescraper/plugins/inband/nic/nic_analyzer.py)
1475+
14451476
## Data Analyzer Class OsAnalyzer
14461477

14471478
### Description
@@ -1771,6 +1802,29 @@ Arguments for journal analyzer
17711802
- **ratio**: `float`
17721803
- **memory_threshold**: `str`
17731804

1805+
## Analyzer Args Class NicAnalyzerArgs
1806+
1807+
### Description
1808+
1809+
Analyzer args for niccli/nicctl data, with expected_values keyed by canonical command key.
1810+
1811+
**Bases**: ['AnalyzerArgs']
1812+
1813+
**Link to code**: [analyzer_args.py](https://github.com/amd/node-scraper/blob/HEAD/nodescraper/plugins/inband/nic/analyzer_args.py)
1814+
1815+
### Annotations / fields
1816+
1817+
- **expected_values**: `Optional[Dict[str, Dict[str, Any]]]`
1818+
- **performance_profile_expected**: `str`
1819+
- **support_rdma_disabled_values**: `List[str]`
1820+
- **pcie_relaxed_ordering_expected**: `str`
1821+
- **expected_qos_prio_map**: `Optional[Dict[Any, Any]]`
1822+
- **expected_qos_pfc_enabled**: `Optional[int]`
1823+
- **expected_qos_tsa_map**: `Optional[Dict[Any, Any]]`
1824+
- **expected_qos_tc_bandwidth**: `Optional[List[int]]`
1825+
- **require_qos_consistent_across_adapters**: `bool`
1826+
- **nicctl_log_error_regex**: `Optional[List[Dict[str, Any]]]`
1827+
17741828
## Analyzer Args Class OsAnalyzerArgs
17751829

17761830
**Bases**: ['AnalyzerArgs']

0 commit comments

Comments
 (0)