amd-node-scraper 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- amd_node_scraper-0.0.1.dist-info/LICENSE +21 -0
- amd_node_scraper-0.0.1.dist-info/METADATA +424 -0
- amd_node_scraper-0.0.1.dist-info/RECORD +197 -0
- amd_node_scraper-0.0.1.dist-info/WHEEL +5 -0
- amd_node_scraper-0.0.1.dist-info/entry_points.txt +2 -0
- amd_node_scraper-0.0.1.dist-info/top_level.txt +1 -0
- nodescraper/__init__.py +32 -0
- nodescraper/base/__init__.py +34 -0
- nodescraper/base/inbandcollectortask.py +118 -0
- nodescraper/base/inbanddataplugin.py +39 -0
- nodescraper/base/regexanalyzer.py +120 -0
- nodescraper/cli/__init__.py +29 -0
- nodescraper/cli/cli.py +511 -0
- nodescraper/cli/constants.py +27 -0
- nodescraper/cli/dynamicparserbuilder.py +171 -0
- nodescraper/cli/helper.py +517 -0
- nodescraper/cli/inputargtypes.py +129 -0
- nodescraper/configbuilder.py +123 -0
- nodescraper/configregistry.py +66 -0
- nodescraper/configs/node_status.json +19 -0
- nodescraper/connection/__init__.py +25 -0
- nodescraper/connection/inband/__init__.py +46 -0
- nodescraper/connection/inband/inband.py +171 -0
- nodescraper/connection/inband/inbandlocal.py +93 -0
- nodescraper/connection/inband/inbandmanager.py +151 -0
- nodescraper/connection/inband/inbandremote.py +173 -0
- nodescraper/connection/inband/sshparams.py +43 -0
- nodescraper/constants.py +26 -0
- nodescraper/enums/__init__.py +40 -0
- nodescraper/enums/eventcategory.py +89 -0
- nodescraper/enums/eventpriority.py +42 -0
- nodescraper/enums/executionstatus.py +44 -0
- nodescraper/enums/osfamily.py +34 -0
- nodescraper/enums/systeminteraction.py +41 -0
- nodescraper/enums/systemlocation.py +33 -0
- nodescraper/generictypes.py +36 -0
- nodescraper/interfaces/__init__.py +44 -0
- nodescraper/interfaces/connectionmanager.py +143 -0
- nodescraper/interfaces/dataanalyzertask.py +138 -0
- nodescraper/interfaces/datacollectortask.py +185 -0
- nodescraper/interfaces/dataplugin.py +356 -0
- nodescraper/interfaces/plugin.py +127 -0
- nodescraper/interfaces/resultcollator.py +56 -0
- nodescraper/interfaces/task.py +164 -0
- nodescraper/interfaces/taskresulthook.py +39 -0
- nodescraper/models/__init__.py +48 -0
- nodescraper/models/analyzerargs.py +93 -0
- nodescraper/models/collectorargs.py +30 -0
- nodescraper/models/connectionconfig.py +34 -0
- nodescraper/models/datamodel.py +171 -0
- nodescraper/models/datapluginresult.py +39 -0
- nodescraper/models/event.py +158 -0
- nodescraper/models/pluginconfig.py +38 -0
- nodescraper/models/pluginresult.py +39 -0
- nodescraper/models/systeminfo.py +44 -0
- nodescraper/models/taskresult.py +185 -0
- nodescraper/models/timerangeargs.py +38 -0
- nodescraper/pluginexecutor.py +274 -0
- nodescraper/pluginregistry.py +152 -0
- nodescraper/plugins/__init__.py +25 -0
- nodescraper/plugins/inband/__init__.py +25 -0
- nodescraper/plugins/inband/amdsmi/__init__.py +28 -0
- nodescraper/plugins/inband/amdsmi/amdsmi_analyzer.py +821 -0
- nodescraper/plugins/inband/amdsmi/amdsmi_collector.py +1313 -0
- nodescraper/plugins/inband/amdsmi/amdsmi_plugin.py +43 -0
- nodescraper/plugins/inband/amdsmi/amdsmidata.py +1002 -0
- nodescraper/plugins/inband/amdsmi/analyzer_args.py +50 -0
- nodescraper/plugins/inband/amdsmi/cper.py +65 -0
- nodescraper/plugins/inband/bios/__init__.py +29 -0
- nodescraper/plugins/inband/bios/analyzer_args.py +64 -0
- nodescraper/plugins/inband/bios/bios_analyzer.py +93 -0
- nodescraper/plugins/inband/bios/bios_collector.py +93 -0
- nodescraper/plugins/inband/bios/bios_plugin.py +43 -0
- nodescraper/plugins/inband/bios/biosdata.py +30 -0
- nodescraper/plugins/inband/cmdline/__init__.py +25 -0
- nodescraper/plugins/inband/cmdline/analyzer_args.py +80 -0
- nodescraper/plugins/inband/cmdline/cmdline_analyzer.py +113 -0
- nodescraper/plugins/inband/cmdline/cmdline_collector.py +77 -0
- nodescraper/plugins/inband/cmdline/cmdline_plugin.py +43 -0
- nodescraper/plugins/inband/cmdline/cmdlinedata.py +30 -0
- nodescraper/plugins/inband/device_enumeration/__init__.py +29 -0
- nodescraper/plugins/inband/device_enumeration/analyzer_args.py +73 -0
- nodescraper/plugins/inband/device_enumeration/device_enumeration_analyzer.py +81 -0
- nodescraper/plugins/inband/device_enumeration/device_enumeration_collector.py +176 -0
- nodescraper/plugins/inband/device_enumeration/device_enumeration_plugin.py +45 -0
- nodescraper/plugins/inband/device_enumeration/deviceenumdata.py +36 -0
- nodescraper/plugins/inband/dimm/__init__.py +25 -0
- nodescraper/plugins/inband/dimm/collector_args.py +31 -0
- nodescraper/plugins/inband/dimm/dimm_collector.py +151 -0
- nodescraper/plugins/inband/dimm/dimm_plugin.py +40 -0
- nodescraper/plugins/inband/dimm/dimmdata.py +30 -0
- nodescraper/plugins/inband/dkms/__init__.py +25 -0
- nodescraper/plugins/inband/dkms/analyzer_args.py +85 -0
- nodescraper/plugins/inband/dkms/dkms_analyzer.py +106 -0
- nodescraper/plugins/inband/dkms/dkms_collector.py +76 -0
- nodescraper/plugins/inband/dkms/dkms_plugin.py +43 -0
- nodescraper/plugins/inband/dkms/dkmsdata.py +33 -0
- nodescraper/plugins/inband/dmesg/__init__.py +28 -0
- nodescraper/plugins/inband/dmesg/analyzer_args.py +33 -0
- nodescraper/plugins/inband/dmesg/collector_args.py +39 -0
- nodescraper/plugins/inband/dmesg/dmesg_analyzer.py +503 -0
- nodescraper/plugins/inband/dmesg/dmesg_collector.py +164 -0
- nodescraper/plugins/inband/dmesg/dmesg_plugin.py +44 -0
- nodescraper/plugins/inband/dmesg/dmesgdata.py +116 -0
- nodescraper/plugins/inband/fabrics/__init__.py +28 -0
- nodescraper/plugins/inband/fabrics/fabrics_collector.py +726 -0
- nodescraper/plugins/inband/fabrics/fabrics_plugin.py +37 -0
- nodescraper/plugins/inband/fabrics/fabricsdata.py +140 -0
- nodescraper/plugins/inband/journal/__init__.py +28 -0
- nodescraper/plugins/inband/journal/collector_args.py +33 -0
- nodescraper/plugins/inband/journal/journal_collector.py +107 -0
- nodescraper/plugins/inband/journal/journal_plugin.py +40 -0
- nodescraper/plugins/inband/journal/journaldata.py +44 -0
- nodescraper/plugins/inband/kernel/__init__.py +25 -0
- nodescraper/plugins/inband/kernel/analyzer_args.py +64 -0
- nodescraper/plugins/inband/kernel/kernel_analyzer.py +91 -0
- nodescraper/plugins/inband/kernel/kernel_collector.py +129 -0
- nodescraper/plugins/inband/kernel/kernel_plugin.py +43 -0
- nodescraper/plugins/inband/kernel/kerneldata.py +32 -0
- nodescraper/plugins/inband/kernel_module/__init__.py +25 -0
- nodescraper/plugins/inband/kernel_module/analyzer_args.py +59 -0
- nodescraper/plugins/inband/kernel_module/kernel_module_analyzer.py +211 -0
- nodescraper/plugins/inband/kernel_module/kernel_module_collector.py +264 -0
- nodescraper/plugins/inband/kernel_module/kernel_module_data.py +60 -0
- nodescraper/plugins/inband/kernel_module/kernel_module_plugin.py +43 -0
- nodescraper/plugins/inband/memory/__init__.py +25 -0
- nodescraper/plugins/inband/memory/analyzer_args.py +45 -0
- nodescraper/plugins/inband/memory/memory_analyzer.py +98 -0
- nodescraper/plugins/inband/memory/memory_collector.py +330 -0
- nodescraper/plugins/inband/memory/memory_plugin.py +43 -0
- nodescraper/plugins/inband/memory/memorydata.py +90 -0
- nodescraper/plugins/inband/network/__init__.py +28 -0
- nodescraper/plugins/inband/network/network_collector.py +1828 -0
- nodescraper/plugins/inband/network/network_plugin.py +37 -0
- nodescraper/plugins/inband/network/networkdata.py +319 -0
- nodescraper/plugins/inband/nvme/__init__.py +28 -0
- nodescraper/plugins/inband/nvme/nvme_collector.py +167 -0
- nodescraper/plugins/inband/nvme/nvme_plugin.py +37 -0
- nodescraper/plugins/inband/nvme/nvmedata.py +45 -0
- nodescraper/plugins/inband/os/__init__.py +25 -0
- nodescraper/plugins/inband/os/analyzer_args.py +64 -0
- nodescraper/plugins/inband/os/os_analyzer.py +73 -0
- nodescraper/plugins/inband/os/os_collector.py +131 -0
- nodescraper/plugins/inband/os/os_plugin.py +43 -0
- nodescraper/plugins/inband/os/osdata.py +31 -0
- nodescraper/plugins/inband/package/__init__.py +25 -0
- nodescraper/plugins/inband/package/analyzer_args.py +48 -0
- nodescraper/plugins/inband/package/package_analyzer.py +253 -0
- nodescraper/plugins/inband/package/package_collector.py +273 -0
- nodescraper/plugins/inband/package/package_plugin.py +43 -0
- nodescraper/plugins/inband/package/packagedata.py +41 -0
- nodescraper/plugins/inband/pcie/__init__.py +29 -0
- nodescraper/plugins/inband/pcie/analyzer_args.py +63 -0
- nodescraper/plugins/inband/pcie/pcie_analyzer.py +1081 -0
- nodescraper/plugins/inband/pcie/pcie_collector.py +690 -0
- nodescraper/plugins/inband/pcie/pcie_data.py +2017 -0
- nodescraper/plugins/inband/pcie/pcie_plugin.py +43 -0
- nodescraper/plugins/inband/process/__init__.py +25 -0
- nodescraper/plugins/inband/process/analyzer_args.py +45 -0
- nodescraper/plugins/inband/process/collector_args.py +31 -0
- nodescraper/plugins/inband/process/process_analyzer.py +91 -0
- nodescraper/plugins/inband/process/process_collector.py +115 -0
- nodescraper/plugins/inband/process/process_plugin.py +46 -0
- nodescraper/plugins/inband/process/processdata.py +34 -0
- nodescraper/plugins/inband/rocm/__init__.py +25 -0
- nodescraper/plugins/inband/rocm/analyzer_args.py +66 -0
- nodescraper/plugins/inband/rocm/rocm_analyzer.py +100 -0
- nodescraper/plugins/inband/rocm/rocm_collector.py +205 -0
- nodescraper/plugins/inband/rocm/rocm_plugin.py +43 -0
- nodescraper/plugins/inband/rocm/rocmdata.py +62 -0
- nodescraper/plugins/inband/storage/__init__.py +25 -0
- nodescraper/plugins/inband/storage/analyzer_args.py +38 -0
- nodescraper/plugins/inband/storage/collector_args.py +31 -0
- nodescraper/plugins/inband/storage/storage_analyzer.py +152 -0
- nodescraper/plugins/inband/storage/storage_collector.py +110 -0
- nodescraper/plugins/inband/storage/storage_plugin.py +44 -0
- nodescraper/plugins/inband/storage/storagedata.py +70 -0
- nodescraper/plugins/inband/sysctl/__init__.py +29 -0
- nodescraper/plugins/inband/sysctl/analyzer_args.py +67 -0
- nodescraper/plugins/inband/sysctl/sysctl_analyzer.py +81 -0
- nodescraper/plugins/inband/sysctl/sysctl_collector.py +101 -0
- nodescraper/plugins/inband/sysctl/sysctl_plugin.py +43 -0
- nodescraper/plugins/inband/sysctl/sysctldata.py +42 -0
- nodescraper/plugins/inband/syslog/__init__.py +28 -0
- nodescraper/plugins/inband/syslog/syslog_collector.py +121 -0
- nodescraper/plugins/inband/syslog/syslog_plugin.py +37 -0
- nodescraper/plugins/inband/syslog/syslogdata.py +46 -0
- nodescraper/plugins/inband/uptime/__init__.py +25 -0
- nodescraper/plugins/inband/uptime/uptime_collector.py +88 -0
- nodescraper/plugins/inband/uptime/uptime_plugin.py +37 -0
- nodescraper/plugins/inband/uptime/uptimedata.py +31 -0
- nodescraper/resultcollators/__init__.py +25 -0
- nodescraper/resultcollators/tablesummary.py +159 -0
- nodescraper/taskresulthooks/__init__.py +28 -0
- nodescraper/taskresulthooks/filesystemloghook.py +88 -0
- nodescraper/typeutils.py +171 -0
- nodescraper/utils.py +412 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Advanced Micro Devices, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: amd-node-scraper
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: A framework for automated error detection and data collection
|
|
5
|
+
Project-URL: homepage, https://github.com/amd/node-scraper
|
|
6
|
+
Project-URL: documentation, https://github.com/amd/node-scraper
|
|
7
|
+
Project-URL: repository, https://github.com/amd/node-scraper
|
|
8
|
+
Classifier: Topic :: Software Development
|
|
9
|
+
Requires-Python: >=3.9
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Requires-Dist: pydantic >=2.8.2
|
|
13
|
+
Requires-Dist: paramiko <4.0.0,>=3.2.0
|
|
14
|
+
Requires-Dist: requests
|
|
15
|
+
Requires-Dist: pytz
|
|
16
|
+
Requires-Dist: urllib3 <2.0.0,>=1.26.15
|
|
17
|
+
Provides-Extra: dev
|
|
18
|
+
Requires-Dist: build ; extra == 'dev'
|
|
19
|
+
Requires-Dist: black ; extra == 'dev'
|
|
20
|
+
Requires-Dist: pylint ; extra == 'dev'
|
|
21
|
+
Requires-Dist: coverage ; extra == 'dev'
|
|
22
|
+
Requires-Dist: twine ; extra == 'dev'
|
|
23
|
+
Requires-Dist: ruff ; extra == 'dev'
|
|
24
|
+
Requires-Dist: pre-commit ; extra == 'dev'
|
|
25
|
+
Requires-Dist: pytest ; extra == 'dev'
|
|
26
|
+
Requires-Dist: pytest-cov ; extra == 'dev'
|
|
27
|
+
Requires-Dist: mypy ; extra == 'dev'
|
|
28
|
+
|
|
29
|
+
# Node Scraper
|
|
30
|
+
Node Scraper is a tool which performs automated data collection and analysis for the purposes of
|
|
31
|
+
system debug.
|
|
32
|
+
|
|
33
|
+
## Table of Contents
|
|
34
|
+
- [Installation](#installation)
|
|
35
|
+
- [Install From Source](#install-from-source)
|
|
36
|
+
- [CLI Usage](#cli-usage)
|
|
37
|
+
- [Execution Methods](#execution-methods)
|
|
38
|
+
- [Example: Remote Execution](#example-remote-execution)
|
|
39
|
+
- [Example: connection_config.json](#example-connection_configjson)
|
|
40
|
+
- [Subcommands](#subcommands)
|
|
41
|
+
- ['describe' subcommand](#describe-subcommand)
|
|
42
|
+
- ['run-plugins' sub command](#run-plugins-sub-command)
|
|
43
|
+
- ['gen-plugin-config' sub command](#gen-plugin-config-sub-command)
|
|
44
|
+
- ['summary' sub command](#summary-sub-command)
|
|
45
|
+
- [Configs](#configs)
|
|
46
|
+
- [Global args](#global-args)
|
|
47
|
+
- [Plugin config: `--plugin-configs` command](#plugin-config---plugin-configs-command)
|
|
48
|
+
- [Reference config: `gen-reference-config` command](#reference-config-gen-reference-config-command)
|
|
49
|
+
- **Extending Node Scraper (integration & external plugins)** → See [EXTENDING.md](EXTENDING.md)
|
|
50
|
+
- **Full view of the plugins with the associated collectors & analyzers as well as the commands
|
|
51
|
+
invoked by collectors** -> See [docs/PLUGIN_DOC.md](docs/PLUGIN_DOC.md)
|
|
52
|
+
|
|
53
|
+
## Installation
|
|
54
|
+
### Install From Source
|
|
55
|
+
Node Scraper requires Python 3.9+ for installation. After cloning this repository,
|
|
56
|
+
call dev-setup.sh script with 'source'. This script creates an editable install of Node Scraper in
|
|
57
|
+
a python virtual environment and also configures the pre-commit hooks for the project.
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
source dev-setup.sh
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Alternatively, follow these manual steps:
|
|
64
|
+
|
|
65
|
+
### 1. Virtual Environment (Optional)
|
|
66
|
+
```sh
|
|
67
|
+
python3 -m venv venv
|
|
68
|
+
source venv/bin/activate
|
|
69
|
+
```
|
|
70
|
+
On Debian/Ubuntu, you may need: `sudo apt install python3-venv`
|
|
71
|
+
|
|
72
|
+
### 2. Install from Source (Required)
|
|
73
|
+
```sh
|
|
74
|
+
python3 -m pip install --editable .[dev] --upgrade
|
|
75
|
+
```
|
|
76
|
+
This installs Node Scraper in editable mode with development dependencies. To verify: `node-scraper --help`
|
|
77
|
+
|
|
78
|
+
### 3. Git Hooks (Optional)
|
|
79
|
+
```sh
|
|
80
|
+
pre-commit install
|
|
81
|
+
```
|
|
82
|
+
Sets up pre-commit hooks for code quality checks. On Debian/Ubuntu, you may need: `sudo apt install pre-commit`
|
|
83
|
+
|
|
84
|
+
## CLI Usage
|
|
85
|
+
The Node Scraper CLI can be used to run Node Scraper plugins on a target system. The following CLI
|
|
86
|
+
options are available:
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
usage: node-scraper [-h] [--sys-name STRING] [--sys-location {LOCAL,REMOTE}] [--sys-interaction-level {PASSIVE,INTERACTIVE,DISRUPTIVE}] [--sys-sku STRING]
|
|
90
|
+
[--sys-platform STRING] [--plugin-configs [STRING ...]] [--system-config STRING] [--connection-config STRING] [--log-path STRING]
|
|
91
|
+
[--log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}] [--gen-reference-config] [--skip-sudo]
|
|
92
|
+
{summary,run-plugins,describe,gen-plugin-config} ...
|
|
93
|
+
|
|
94
|
+
node scraper CLI
|
|
95
|
+
|
|
96
|
+
positional arguments:
|
|
97
|
+
{summary,run-plugins,describe,gen-plugin-config}
|
|
98
|
+
Subcommands
|
|
99
|
+
summary Generates summary csv file
|
|
100
|
+
run-plugins Run a series of plugins
|
|
101
|
+
describe Display details on a built-in config or plugin
|
|
102
|
+
gen-plugin-config Generate a config for a plugin or list of plugins
|
|
103
|
+
|
|
104
|
+
options:
|
|
105
|
+
-h, --help show this help message and exit
|
|
106
|
+
--sys-name STRING System name (default: <my_system_name>)
|
|
107
|
+
--sys-location {LOCAL,REMOTE}
|
|
108
|
+
Location of target system (default: LOCAL)
|
|
109
|
+
--sys-interaction-level {PASSIVE,INTERACTIVE,DISRUPTIVE}
|
|
110
|
+
Specify system interaction level, used to determine the type of actions that plugins can perform (default: INTERACTIVE)
|
|
111
|
+
--sys-sku STRING Manually specify SKU of system (default: None)
|
|
112
|
+
--sys-platform STRING
|
|
113
|
+
Specify system platform (default: None)
|
|
114
|
+
--plugin-configs [STRING ...]
|
|
115
|
+
built-in config names or paths to plugin config JSONs. Available built-in configs: NodeStatus (default: None)
|
|
116
|
+
--system-config STRING
|
|
117
|
+
Path to system config json (default: None)
|
|
118
|
+
--connection-config STRING
|
|
119
|
+
Path to connection config json (default: None)
|
|
120
|
+
--log-path STRING Specifies local path for node scraper logs, use 'None' to disable logging (default: .)
|
|
121
|
+
--log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}
|
|
122
|
+
Change python log level (default: INFO)
|
|
123
|
+
--gen-reference-config
|
|
124
|
+
Generate reference config from system. Writes to ./reference_config.json. (default: False)
|
|
125
|
+
--skip-sudo Skip plugins that require sudo permissions (default: False)
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Execution Methods
|
|
130
|
+
|
|
131
|
+
Node Scraper can operate in two modes: LOCAL and REMOTE, determined by the `--sys-location` argument.
|
|
132
|
+
|
|
133
|
+
- **LOCAL** (default): Node Scraper is installed and run directly on the target system. All data collection and plugin execution occur locally.
|
|
134
|
+
- **REMOTE**: Node Scraper runs on your local machine but targets a remote system over SSH. In this mode, Node Scraper does not need to be installed on the remote system; all commands are executed remotely via SSH.
|
|
135
|
+
|
|
136
|
+
To use remote execution, specify `--sys-location REMOTE` and provide a connection configuration file with `--connection-config`.
|
|
137
|
+
|
|
138
|
+
#### Example: Remote Execution
|
|
139
|
+
|
|
140
|
+
```sh
|
|
141
|
+
node-scraper --sys-name <remote_host> --sys-location REMOTE --connection-config ./connection_config.json run-plugins DmesgPlugin
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
##### Example: connection_config.json
|
|
145
|
+
|
|
146
|
+
```json
|
|
147
|
+
{
|
|
148
|
+
"InBandConnectionManager": {
|
|
149
|
+
"hostname": "remote_host.example.com",
|
|
150
|
+
"port": 22,
|
|
151
|
+
"username": "myuser",
|
|
152
|
+
"password": "mypassword",
|
|
153
|
+
"key_filename": "/path/to/private/key"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Notes:**
|
|
159
|
+
- If using SSH keys, specify `key_filename` instead of `password`.
|
|
160
|
+
- The remote user must have permissions to run the requested plugins and access required files. If needed, use the `--skip-sudo` argument to skip plugins requiring sudo.
|
|
161
|
+
|
|
162
|
+
### Subcommands
|
|
163
|
+
|
|
164
|
+
Plugins to run can be specified in two ways, using a plugin JSON config file or using the
|
|
165
|
+
'run-plugins' sub command. These two options are not mutually exclusive and can be used together.
|
|
166
|
+
|
|
167
|
+
#### **'describe' subcommand**
|
|
168
|
+
|
|
169
|
+
You can use the `describe` subcommand to display details about built-in configs or plugins.
|
|
170
|
+
List all built-in configs:
|
|
171
|
+
```sh
|
|
172
|
+
node-scraper describe config
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Show details for a specific built-in config
|
|
176
|
+
```sh
|
|
177
|
+
node-scraper describe config <config-name>
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
List all available plugins**
|
|
181
|
+
```sh
|
|
182
|
+
node-scraper describe plugin
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Show details for a specific plugin
|
|
186
|
+
```sh
|
|
187
|
+
node-scraper describe plugin <plugin-name>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
#### **'run-plugins' sub command**
|
|
191
|
+
The plugins to run and their associated arguments can also be specified directly on the CLI using
|
|
192
|
+
the 'run-plugins' sub-command. Using this sub-command you can specify a plugin name followed by
|
|
193
|
+
the arguments for that particular plugin. Multiple plugins can be specified at once.
|
|
194
|
+
|
|
195
|
+
You can view the available arguments for a particular plugin by running
|
|
196
|
+
`node-scraper run-plugins <plugin-name> -h`:
|
|
197
|
+
```sh
|
|
198
|
+
usage: node-scraper run-plugins BiosPlugin [-h] [--collection {True,False}] [--analysis {True,False}] [--system-interaction-level STRING]
|
|
199
|
+
[--data STRING] [--exp-bios-version [STRING ...]] [--regex-match {True,False}]
|
|
200
|
+
|
|
201
|
+
options:
|
|
202
|
+
-h, --help show this help message and exit
|
|
203
|
+
--collection {True,False}
|
|
204
|
+
--analysis {True,False}
|
|
205
|
+
--system-interaction-level STRING
|
|
206
|
+
--data STRING
|
|
207
|
+
--exp-bios-version [STRING ...]
|
|
208
|
+
--regex-match {True,False}
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Examples
|
|
213
|
+
|
|
214
|
+
Run a single plugin
|
|
215
|
+
```sh
|
|
216
|
+
node-scraper run-plugins BiosPlugin --exp-bios-version TestBios123
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Run multiple plugins
|
|
220
|
+
```sh
|
|
221
|
+
node-scraper run-plugins BiosPlugin --exp-bios-version TestBios123 RocmPlugin --exp-rocm TestRocm123
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Run plugins without specifying args (plugin defaults will be used)
|
|
225
|
+
|
|
226
|
+
```sh
|
|
227
|
+
node-scraper run-plugins BiosPlugin RocmPlugin
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Use plugin configs and 'run-plugins'
|
|
231
|
+
|
|
232
|
+
```sh
|
|
233
|
+
node-scraper run-plugins BiosPlugin
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
#### **'gen-plugin-config' sub command**
|
|
237
|
+
The 'gen-plugin-config' sub command can be used to generate a plugin config JSON file for a plugin
|
|
238
|
+
or list of plugins that can then be customized. Plugin arguments which have default values will be
|
|
239
|
+
prepopulated in the JSON file, arguments without default values will have a value of 'null'.
|
|
240
|
+
|
|
241
|
+
Examples
|
|
242
|
+
|
|
243
|
+
Generate a config for the DmesgPlugin:
|
|
244
|
+
```sh
|
|
245
|
+
node-scraper gen-plugin-config --plugins DmesgPlugin
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
This would produce the following config:
|
|
249
|
+
|
|
250
|
+
```json
|
|
251
|
+
{
|
|
252
|
+
"global_args": {},
|
|
253
|
+
"plugins": {
|
|
254
|
+
"DmesgPlugin": {
|
|
255
|
+
"collection": true,
|
|
256
|
+
"analysis": true,
|
|
257
|
+
"system_interaction_level": "INTERACTIVE",
|
|
258
|
+
"data": null,
|
|
259
|
+
"analysis_args": {
|
|
260
|
+
"analysis_range_start": null,
|
|
261
|
+
"analysis_range_end": null,
|
|
262
|
+
"check_unknown_dmesg_errors": true,
|
|
263
|
+
"exclude_category": null
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
"result_collators": {}
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
#### **'summary' sub command**
|
|
272
|
+
The 'summary' subcommand can be used to combine results from multiple runs of node-scraper to a
|
|
273
|
+
single summary.csv file. Sample run:
|
|
274
|
+
```sh
|
|
275
|
+
node-scraper summary --summary_path /<path_to_node-scraper_logs>
|
|
276
|
+
```
|
|
277
|
+
This will generate a new file '/<path_to_node-scraper_logs>/summary.csv' file. This file will
|
|
278
|
+
contain the results from all 'nodescraper.csv' files from '/<path_to_node-scarper_logs>'.
|
|
279
|
+
|
|
280
|
+
### Configs
|
|
281
|
+
A plugin JSON config should follow the structure of the plugin config model defined here.
|
|
282
|
+
The globals field is a dictionary of global key-value pairs; values in globals will be passed to
|
|
283
|
+
any plugin that supports the corresponding key. The plugins field should be a dictionary mapping
|
|
284
|
+
plugin names to sub-dictionaries of plugin arguments. Lastly, the result_collators attribute is
|
|
285
|
+
used to define result collator classes that will be run on the plugin results. By default, the CLI
|
|
286
|
+
adds the TableSummary result collator, which prints a summary of each plugin’s results in a
|
|
287
|
+
tabular format to the console.
|
|
288
|
+
|
|
289
|
+
```json
|
|
290
|
+
{
|
|
291
|
+
"globals_args": {},
|
|
292
|
+
"plugins": {
|
|
293
|
+
"BiosPlugin": {
|
|
294
|
+
"analysis_args": {
|
|
295
|
+
"exp_bios_version": "TestBios123"
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
"RocmPlugin": {
|
|
299
|
+
"analysis_args": {
|
|
300
|
+
"exp_rocm_version": "TestRocm123"
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
#### Global args
|
|
308
|
+
Global args can be used to skip sudo plugins or enable/disble either collection or analysis.
|
|
309
|
+
Below is an example that skips sudo requiring plugins and disables analysis.
|
|
310
|
+
|
|
311
|
+
```json
|
|
312
|
+
"global_args": {
|
|
313
|
+
"collection_args": {
|
|
314
|
+
"skip_sudo" : 1
|
|
315
|
+
},
|
|
316
|
+
"collection" : 1,
|
|
317
|
+
"analysis" : 0
|
|
318
|
+
},
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
#### Plugin config: **'--plugin-configs' command**
|
|
322
|
+
A plugin config can be used to compare the system data against the config specifications:
|
|
323
|
+
```sh
|
|
324
|
+
node-scraper --plugin-configs plugin_config.json
|
|
325
|
+
```
|
|
326
|
+
Here is an example of a comprehensive plugin config that specifies analyzer args for each plugin:
|
|
327
|
+
```json
|
|
328
|
+
{
|
|
329
|
+
"global_args": {},
|
|
330
|
+
"plugins": {
|
|
331
|
+
"BiosPlugin": {
|
|
332
|
+
"analysis_args": {
|
|
333
|
+
"exp_bios_version": "3.5"
|
|
334
|
+
}
|
|
335
|
+
},
|
|
336
|
+
"CmdlinePlugin": {
|
|
337
|
+
"analysis_args": {
|
|
338
|
+
"cmdline": "imgurl=test NODE=nodename selinux=0 serial console=ttyS1,115200 console=tty0",
|
|
339
|
+
"required_cmdline" : "selinux=0"
|
|
340
|
+
}
|
|
341
|
+
},
|
|
342
|
+
"DkmsPlugin": {
|
|
343
|
+
"analysis_args": {
|
|
344
|
+
"dkms_status": "amdgpu/6.11",
|
|
345
|
+
"dkms_version" : "dkms-3.1",
|
|
346
|
+
"regex_match" : true
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
"KernelPlugin": {
|
|
350
|
+
"analysis_args": {
|
|
351
|
+
"exp_kernel": "5.11-generic"
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
"OsPlugin": {
|
|
355
|
+
"analysis_args": {
|
|
356
|
+
"exp_os": "Ubuntu 22.04.2 LTS"
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
"PackagePlugin": {
|
|
360
|
+
"analysis_args": {
|
|
361
|
+
"exp_package_ver": {
|
|
362
|
+
"gcc": "11.4.0"
|
|
363
|
+
},
|
|
364
|
+
"regex_match": false
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
"RocmPlugin": {
|
|
368
|
+
"analysis_args": {
|
|
369
|
+
"exp_rocm": "6.5"
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
"result_collators": {},
|
|
374
|
+
"name": "plugin_config",
|
|
375
|
+
"desc": "My golden config"
|
|
376
|
+
}
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
#### Reference config: **'gen-reference-config' command**
|
|
380
|
+
This command can be used to generate a reference config that is populated with current system
|
|
381
|
+
configurations. Plugins that use analyzer args (where applicable) will be populated with system
|
|
382
|
+
data.
|
|
383
|
+
Sample command:
|
|
384
|
+
```sh
|
|
385
|
+
node-scraper --gen-reference-config run-plugins BiosPlugin OsPlugin
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
This will generate the following config:
|
|
389
|
+
```json
|
|
390
|
+
{
|
|
391
|
+
"global_args": {},
|
|
392
|
+
"plugins": {
|
|
393
|
+
"BiosPlugin": {
|
|
394
|
+
"analysis_args": {
|
|
395
|
+
"exp_bios_version": [
|
|
396
|
+
"M17"
|
|
397
|
+
],
|
|
398
|
+
"regex_match": false
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
"OsPlugin": {
|
|
402
|
+
"analysis_args": {
|
|
403
|
+
"exp_os": [
|
|
404
|
+
"8.10"
|
|
405
|
+
],
|
|
406
|
+
"exact_match": true
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
"result_collators": {}
|
|
411
|
+
```
|
|
412
|
+
This config can later be used on a different platform for comparison, using the steps at #2:
|
|
413
|
+
```sh
|
|
414
|
+
node-scraper --plugin-configs reference_config.json
|
|
415
|
+
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
An alternate way to generate a reference config is by using log files from a previous run. The
|
|
419
|
+
example below uses log files from 'scraper_logs_<path>/':
|
|
420
|
+
```sh
|
|
421
|
+
node-scraper gen-plugin-config --gen-reference-config-from-logs scraper_logs_<path>/ --output-path custom_output_dir
|
|
422
|
+
```
|
|
423
|
+
This will generate a reference config that includes plugins with logged results in
|
|
424
|
+
'scraper_log_<path>' and save the new config to 'custom_output_dir/reference_config.json'.
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
nodescraper/__init__.py,sha256=c4sVqqqyVpfvC-uqDdRyH987xaguC_jw-xgUeLDjDgc,1454
|
|
2
|
+
nodescraper/configbuilder.py,sha256=O8HTsA9oWpRbBxtc5Z7jb0J8ZupbUpwZ1Veh-PR0IEQ,4475
|
|
3
|
+
nodescraper/configregistry.py,sha256=LvcJ-cAZ6IRkEKbOwiF4GujOaTm5zxM1OnEtu1vxMEo,2679
|
|
4
|
+
nodescraper/constants.py,sha256=UCONR_zOjCmosscVFhqz9NcA2B2kDiKJNohV0HxK8Do,1318
|
|
5
|
+
nodescraper/generictypes.py,sha256=ty15J0KKJJiYRFQd0uus-TFDJq5vq8Cazsdv3u9Y4S4,1670
|
|
6
|
+
nodescraper/pluginexecutor.py,sha256=bXbCMzNNDkbAjo8ZNb6GmBizy0bc98yEtq3rRcFE2ag,11777
|
|
7
|
+
nodescraper/pluginregistry.py,sha256=ph0qELpR6ZD9JBLpq5O7a7sC8qu_GHvtCzWNNL3Q7PU,6055
|
|
8
|
+
nodescraper/typeutils.py,sha256=N02I3LfysabVUVv41TTsZSmGe23qwzBgaZqOUIvKo30,6016
|
|
9
|
+
nodescraper/utils.py,sha256=Dm4ofYEUfdDAyK-il8PPjqBIvgBNPdqTN_CLbqrkWv8,12321
|
|
10
|
+
nodescraper/base/__init__.py,sha256=tChQbBZBzZ4j-HWS892wZMjQaokpKqrp8kvV2dwJKBA,1515
|
|
11
|
+
nodescraper/base/inbandcollectortask.py,sha256=qyAmjZ_k8HI37wTTPryveWVXmJvJuWZQ6tF4LvVV2Ug,5102
|
|
12
|
+
nodescraper/base/inbanddataplugin.py,sha256=T7TNA8ZNTfR-F0NcInT9zBHSsXdbt4kMhXVtABU4MuM,1790
|
|
13
|
+
nodescraper/base/regexanalyzer.py,sha256=Ad-U4Bv5euLImmkQbcDzU4GZT27udol4NnU_dGw3FRU,4737
|
|
14
|
+
nodescraper/cli/__init__.py,sha256=2XTBuJcpiZon1LAF-Uu4u0TuUrWaMnRvEgfsW_goraE,1348
|
|
15
|
+
nodescraper/cli/cli.py,sha256=3UEorrP2XoXe1vOL5mB-hCh-L0s-o14ieNnt55ZZafA,17171
|
|
16
|
+
nodescraper/cli/constants.py,sha256=_Qax51Rx69029N1HJeNYjv6qB4TYKu_dZlsRbKGjzR4,1411
|
|
17
|
+
nodescraper/cli/dynamicparserbuilder.py,sha256=9c5RoRXgyDw5nUSaFUJa0gGj66rh7Y5OHBq2k7l5S5g,6589
|
|
18
|
+
nodescraper/cli/helper.py,sha256=jniDO7fgn7l_bytJ9Jshwhm6uk6Wr0FxqtOa59zh5Zc,18420
|
|
19
|
+
nodescraper/cli/inputargtypes.py,sha256=tYXWCX6m-yF0s0P4mrFKCsuC4spuKUDY45qiVctEQco,4142
|
|
20
|
+
nodescraper/configs/node_status.json,sha256=3cljzFcVxqs3cLXK_AL2aF7qJiNMvsKHhk51tddZiwM,458
|
|
21
|
+
nodescraper/connection/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
22
|
+
nodescraper/connection/inband/__init__.py,sha256=_xDhLjsq4AGz3jZNMlFodXgZKRfBfdmBBICzBzF7qTI,1764
|
|
23
|
+
nodescraper/connection/inband/inband.py,sha256=YVXNfYK1ig50PD3j5FOF0vDaKCbcG5KzHmQVg4_cNIQ,5219
|
|
24
|
+
nodescraper/connection/inband/inbandlocal.py,sha256=6bUTUDIa-lvQvDHqvQih9q5Rb1dW5SZqD1Q71nplW0w,3272
|
|
25
|
+
nodescraper/connection/inband/inbandmanager.py,sha256=vY5F0p9NPbn7fo9kgvQzMtsxElrXk1TJbJWRRj-ekbE,5682
|
|
26
|
+
nodescraper/connection/inband/inbandremote.py,sha256=GJzrVqkt0_XTGmU5RfXvKPtQrhrUGclwSh6bykO3yss,6483
|
|
27
|
+
nodescraper/connection/inband/sshparams.py,sha256=nvB2tndOOugAsPUMee9vZUlVKHZY7r0z_cQiEF53CzI,1858
|
|
28
|
+
nodescraper/enums/__init__.py,sha256=ME1ZUkKO2evDRNXosP4JD3EW7teTM9ajfb67jVTGujs,1690
|
|
29
|
+
nodescraper/enums/eventcategory.py,sha256=Mz_tOCSUK2zjfxnOtScJ2aVqrPBjDPpj02wPriwh19s,3583
|
|
30
|
+
nodescraper/enums/eventpriority.py,sha256=dGAo-2bOWSYBAJtNOg4dMQJTqi3ezor2NGAOEQW1buA,1679
|
|
31
|
+
nodescraper/enums/executionstatus.py,sha256=7FCRJ8Iu50oWInytqh-kMghLNEm1SBzQ_dmK-mDMxug,1705
|
|
32
|
+
nodescraper/enums/osfamily.py,sha256=FF-e4bmCc7AJNwHe8n2o-5fddZti6AEY951ZQB6puYU,1459
|
|
33
|
+
nodescraper/enums/systeminteraction.py,sha256=VytZ0hV_vgCAYUpqNUJYBZe7Gt8nS-mGJRPIDjzii2Q,1912
|
|
34
|
+
nodescraper/enums/systemlocation.py,sha256=BbM0h5I8q6ZHSzsggPwuxbssjqgURJZWGhqrjv4pwEw,1427
|
|
35
|
+
nodescraper/interfaces/__init__.py,sha256=QzqbWRpunVXR-TEJg23jbLHEEsHdPsw4NQm4gC5Jz30,1794
|
|
36
|
+
nodescraper/interfaces/connectionmanager.py,sha256=62OOn84K5U5xsclh40bvur5znIWfa5G8W2rMJH7ILok,5057
|
|
37
|
+
nodescraper/interfaces/dataanalyzertask.py,sha256=zvv56MVeC0TZnpLrL_fjRKsvHndqbiiEb-PPYcnsX0k,5626
|
|
38
|
+
nodescraper/interfaces/datacollectortask.py,sha256=eo7fPVNyiG_uaoK72PooTDXplchAPS9oCwMVUoj-mDY,7685
|
|
39
|
+
nodescraper/interfaces/dataplugin.py,sha256=hBUNXPdKY2XHV8wQEkQQLrxA-CPmgDxekX8jVAquMrM,14715
|
|
40
|
+
nodescraper/interfaces/plugin.py,sha256=eD9y-h_c_uqRQjXNrtlQUCguNghvd0b-rXu8tJGc6mU,5033
|
|
41
|
+
nodescraper/interfaces/resultcollator.py,sha256=UkXOyrZ5WaH0czQac_g-z2dxLQCgoIjAbICk-LvtY4I,2240
|
|
42
|
+
nodescraper/interfaces/task.py,sha256=ARyyFhwRVnhFNAaKvtPLBkY5eOWpKCqHKbkiA29E5-k,5640
|
|
43
|
+
nodescraper/interfaces/taskresulthook.py,sha256=ev7Qrc_hG2T5pTBzmawMsLa_uYlMbbseWjJfO3cmuYo,1583
|
|
44
|
+
nodescraper/models/__init__.py,sha256=Q4qgIYRrPlThLeSbXhy6YZkcL1UUZOA47rXngz4wahE,1884
|
|
45
|
+
nodescraper/models/analyzerargs.py,sha256=ylKQkl2uwo16lcyCUxPGxhOoBD2LHc0_REPyvtPP_kQ,3296
|
|
46
|
+
nodescraper/models/collectorargs.py,sha256=VNnfeBAq_h6rQGdZKJCMNQzevoko2ndEhPBP26cMiTs,1413
|
|
47
|
+
nodescraper/models/connectionconfig.py,sha256=faI43uPP_AkDQlorzN0kY3uNAYzeo9hEoaCd8XUOh2U,1509
|
|
48
|
+
nodescraper/models/datamodel.py,sha256=d4skGSXy5AR_vRZHnQpLxzW03AGubJAyIa7bG7YeTVE,6093
|
|
49
|
+
nodescraper/models/datapluginresult.py,sha256=RQRARgQ4xPqOr3tV-5TDItxVG1AwNi6p_WMCrWlLnqQ,1641
|
|
50
|
+
nodescraper/models/event.py,sha256=5CNJjQysmvP2Zx4JrVJ08ulA2UDNSUvyG6uw9uXDs7Y,5730
|
|
51
|
+
nodescraper/models/pluginconfig.py,sha256=q3_sB4EPNiTY1imEmOHZ2qxMh-k92OFaxmKMr27Mizc,1702
|
|
52
|
+
nodescraper/models/pluginresult.py,sha256=2PB3AfLq70qqLKhZAAWqjMxkjwetW7_InTsbl4qHZzE,1610
|
|
53
|
+
nodescraper/models/systeminfo.py,sha256=4YRVScHfKwoOzWrmvUcQp_QYYnMY2tu3aERUIkN30wI,1806
|
|
54
|
+
nodescraper/models/taskresult.py,sha256=ppsiFRxMONmu_Hnikf_8hASIZUqTTcsYRhDquuGttGM,6845
|
|
55
|
+
nodescraper/models/timerangeargs.py,sha256=XyP_CckQr9r4sTAHXKMEbhOr_V4QOCGTbopogOrlXWk,1603
|
|
56
|
+
nodescraper/plugins/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
57
|
+
nodescraper/plugins/inband/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
58
|
+
nodescraper/plugins/inband/amdsmi/__init__.py,sha256=4fIRCX0oyBq9fK7u8NpbCWIa0RPRyFY-buYuu2klGjs,1355
|
|
59
|
+
nodescraper/plugins/inband/amdsmi/amdsmi_analyzer.py,sha256=xs7RmpR68iU6aWSekdg-Oj8CAAVAyx4ndYqEQHFSxpg,33742
|
|
60
|
+
nodescraper/plugins/inband/amdsmi/amdsmi_collector.py,sha256=axve3knrbeyxN216xoxN2VrAahNMD7co6Uzv9oKIefo,48676
|
|
61
|
+
nodescraper/plugins/inband/amdsmi/amdsmi_plugin.py,sha256=SPEHtvXVEp7Q9Ap7EGwTt-ienYhbrP9QQ6GAPc3CzYM,1791
|
|
62
|
+
nodescraper/plugins/inband/amdsmi/amdsmidata.py,sha256=2oyCe46cCcO8Xowlzb4tjdYn8cjFpFdAxivncxnqL0M,30862
|
|
63
|
+
nodescraper/plugins/inband/amdsmi/analyzer_args.py,sha256=wpnQkDl0wi3spK7C_R8LGoNI1cXK2EFOWEah5Icn-uc,2241
|
|
64
|
+
nodescraper/plugins/inband/amdsmi/cper.py,sha256=o7LJIiU2WU-UdGjz0BgmAb1mpSn6JkkVpjlNf1CMZIc,2829
|
|
65
|
+
nodescraper/plugins/inband/bios/__init__.py,sha256=RvzNreqM3uIaaXD2LH3dLzv_5jSZyHUyKBwTkC14c4g,1413
|
|
66
|
+
nodescraper/plugins/inband/bios/analyzer_args.py,sha256=LM39DRtJYUojL-8E_aU_4tNP7oAVtqrk55K3qI9lR5o,2497
|
|
67
|
+
nodescraper/plugins/inband/bios/bios_analyzer.py,sha256=4eWzeKUYGLhJYKKCEmKwl4BZZxGaaM_hLitOW-pwW-A,3841
|
|
68
|
+
nodescraper/plugins/inband/bios/bios_collector.py,sha256=9tdJQowLvfmblgpLh3WHbGiPhp6lhQhM2CNv2tRcTUw,3684
|
|
69
|
+
nodescraper/plugins/inband/bios/bios_plugin.py,sha256=V9flVQ60x9QsQDBPd3PuVzzlgJ_lepT91pwBasu3__c,1761
|
|
70
|
+
nodescraper/plugins/inband/bios/biosdata.py,sha256=ZfWxPfv6yJRXcwLdAYRq1zIakLSPLiY1RpdsA9Cfng4,1384
|
|
71
|
+
nodescraper/plugins/inband/cmdline/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
72
|
+
nodescraper/plugins/inband/cmdline/analyzer_args.py,sha256=3eJtjsB2fR70K0rymY-KQVepf3OmbSvGLMW7al6opXs,3074
|
|
73
|
+
nodescraper/plugins/inband/cmdline/cmdline_analyzer.py,sha256=5--LuGZzS4scZXrIhgJuiFr91pWSdL8bFLFXd5klkRs,4876
|
|
74
|
+
nodescraper/plugins/inband/cmdline/cmdline_collector.py,sha256=AofSRkTgVoNvLmyx2sxt46U60O7YXw9byydZHg6K9V0,3063
|
|
75
|
+
nodescraper/plugins/inband/cmdline/cmdline_plugin.py,sha256=hFCtPwZdHula6pewLxlQ-xYOM5MK4uqfT_qusK1UMug,1812
|
|
76
|
+
nodescraper/plugins/inband/cmdline/cmdlinedata.py,sha256=ssaMdB2wBuOZzw7cPPsp5My_2UXyWBqgevO77zRWU9k,1382
|
|
77
|
+
nodescraper/plugins/inband/device_enumeration/__init__.py,sha256=EWVBViyvNlzk0VY9dQeFooswEIJyiCEKpFPihTndteY,1479
|
|
78
|
+
nodescraper/plugins/inband/device_enumeration/analyzer_args.py,sha256=nDCtmaCjSeu1nR65o9uunzXo08MLoq0LTEqxVf6iShI,2837
|
|
79
|
+
nodescraper/plugins/inband/device_enumeration/device_enumeration_analyzer.py,sha256=NBgOXx1Vzpbjvg840x_402rseLJU_gLeHsAAp5yi6pc,3495
|
|
80
|
+
nodescraper/plugins/inband/device_enumeration/device_enumeration_collector.py,sha256=XK46OyPD4sr5YYawJJZRa8552PEu1X-dRaiMRBVSXeA,7694
|
|
81
|
+
nodescraper/plugins/inband/device_enumeration/device_enumeration_plugin.py,sha256=HbOfNWc3IBiMcRQxLoD35jUjI8h_LZay0jbjY8LA7dM,1944
|
|
82
|
+
nodescraper/plugins/inband/device_enumeration/deviceenumdata.py,sha256=-to-5ZpO9Lq926JIWFa4B3WkQLot7qHZSu93QDhFfYI,1588
|
|
83
|
+
nodescraper/plugins/inband/dimm/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
84
|
+
nodescraper/plugins/inband/dimm/collector_args.py,sha256=wRWxkxybLVPmJDtRzy-N4DGqpFu3YwA8K-b-eATBuQo,1403
|
|
85
|
+
nodescraper/plugins/inband/dimm/dimm_collector.py,sha256=hezpwuqWbJt0R5Ltmme8s3FtvgykuIhrehbWkH8vm6o,6231
|
|
86
|
+
nodescraper/plugins/inband/dimm/dimm_plugin.py,sha256=8JekhA-fEyPfxmRrJmsRBA7LkYaCn5PAyazPFgClBDY,1697
|
|
87
|
+
nodescraper/plugins/inband/dimm/dimmdata.py,sha256=TT3uKpNbhiKIe0l8_n-OFmHhGCIFE7BkR3KsKK6-jHg,1377
|
|
88
|
+
nodescraper/plugins/inband/dkms/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
89
|
+
nodescraper/plugins/inband/dkms/analyzer_args.py,sha256=lo9xvTzT-FqDU8gsrejNOfnbnjwsH-pPWSWjFTuteas,3191
|
|
90
|
+
nodescraper/plugins/inband/dkms/dkms_analyzer.py,sha256=huUw0zH7aP1pqJk1nronB1qrrzUVNpglncY0McN2UVE,4290
|
|
91
|
+
nodescraper/plugins/inband/dkms/dkms_collector.py,sha256=wqQ5wCRXuiI2uBxpH-cgD47zpeexrzjX52xi3Z8UWZg,2954
|
|
92
|
+
nodescraper/plugins/inband/dkms/dkms_plugin.py,sha256=ZseOtCdF54lt8U5F_IQoZQ2jNLB81uLutOTNSipPfnc,1761
|
|
93
|
+
nodescraper/plugins/inband/dkms/dkmsdata.py,sha256=6W4D3AiDugateqMwtBz-9FcA8gsnBobbi2iTrqriBMk,1458
|
|
94
|
+
nodescraper/plugins/inband/dmesg/__init__.py,sha256=tZZE9jQOcljMN4RgAL2bURQnWP1otVwPB2XegV_j9cE,1352
|
|
95
|
+
nodescraper/plugins/inband/dmesg/analyzer_args.py,sha256=iZMEd5Eg6yoC4xWOa-p1TTQ00yYFwIHsXgWab_5c51o,1521
|
|
96
|
+
nodescraper/plugins/inband/dmesg/collector_args.py,sha256=o0qtI-oblvPld9gwyEfcSUuJYHePa7BRCitlLQPSysA,1586
|
|
97
|
+
nodescraper/plugins/inband/dmesg/dmesg_analyzer.py,sha256=0dbp069uO_APVAxA9r85ShgmjBIYMzYi7Em99rkhHUA,20395
|
|
98
|
+
nodescraper/plugins/inband/dmesg/dmesg_collector.py,sha256=QyowjzPsbyvvt3W70NpVUeuZAuNhCbgghQQv4tD8rX4,6667
|
|
99
|
+
nodescraper/plugins/inband/dmesg/dmesg_plugin.py,sha256=FBqJUxeSFQOP63gXdVLDDWAm35qY2n-Q5Bg2kYXVyck,1824
|
|
100
|
+
nodescraper/plugins/inband/dmesg/dmesgdata.py,sha256=8XKzFl9tTYVU-FPVUU3cUeE2WrrBW-kEpDrFPKv4JAQ,4191
|
|
101
|
+
nodescraper/plugins/inband/fabrics/__init__.py,sha256=c3ItxgBKGOK_EMs8xkC-yeXhmjGbFmW-uzZLrsSUxQw,1358
|
|
102
|
+
nodescraper/plugins/inband/fabrics/fabrics_collector.py,sha256=72y4E7U1uQpwnMRO6mPs_yXaKOfRphym-3OfGdWaugE,29033
|
|
103
|
+
nodescraper/plugins/inband/fabrics/fabrics_plugin.py,sha256=-RJqgPkzlMKNhjALt9q2utLQsYwCzv9PgPOq__urHsI,1642
|
|
104
|
+
nodescraper/plugins/inband/fabrics/fabricsdata.py,sha256=yVtg8iV8X61hYX9eV5yguzWy3cAhFql-D9vpP7lVZbg,5801
|
|
105
|
+
nodescraper/plugins/inband/journal/__init__.py,sha256=g-fdPGzVbT77fMdoTInM26IvKevl4eXRJOB5zyn9KI8,1358
|
|
106
|
+
nodescraper/plugins/inband/journal/collector_args.py,sha256=U7tQ9W_FCa23fqn1XzmtBX4VZLU5bwveudPXqB7hbps,1471
|
|
107
|
+
nodescraper/plugins/inband/journal/journal_collector.py,sha256=3c5kaDtEc4fzeewaC4-BlkA__s1a0UZKOc2B8jltYiQ,4208
|
|
108
|
+
nodescraper/plugins/inband/journal/journal_plugin.py,sha256=F3p9U-y4ZPNeMP4Tn8kGECEeU2mf8_moRu8gUECxYmY,1705
|
|
109
|
+
nodescraper/plugins/inband/journal/journaldata.py,sha256=I4XjszpKK5cVMz0F5jzTP9D-fe7EobBv3-dCQ5nDXeE,1746
|
|
110
|
+
nodescraper/plugins/inband/kernel/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
111
|
+
nodescraper/plugins/inband/kernel/analyzer_args.py,sha256=hFQhk6eWLNiCcCSDRfaDFiNa8UtFjs1qtL4IQFs4BEo,2422
|
|
112
|
+
nodescraper/plugins/inband/kernel/kernel_analyzer.py,sha256=3vvYlUpJNx9RpOJpQByC6ybNP7_dg9MpJV_Az0f6Kdk,3789
|
|
113
|
+
nodescraper/plugins/inband/kernel/kernel_collector.py,sha256=PGG1uW2T2h9B9Xc9C0J28U175utzgGyWibtsf80J_ks,4911
|
|
114
|
+
nodescraper/plugins/inband/kernel/kernel_plugin.py,sha256=Y8ePlGgcmB6ISY2PeErCnCcJGR1-MJMlXft0LB_ri8o,1791
|
|
115
|
+
nodescraper/plugins/inband/kernel/kerneldata.py,sha256=qQkkrrpaKA0320WGAKfQREfIHxnOHoP5Wn4oyIFh56U,1410
|
|
116
|
+
nodescraper/plugins/inband/kernel_module/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
117
|
+
nodescraper/plugins/inband/kernel_module/analyzer_args.py,sha256=LO8iyX_o1UXNPb7NBI61KltuX6S2wwqpyylUQxqj17U,2267
|
|
118
|
+
nodescraper/plugins/inband/kernel_module/kernel_module_analyzer.py,sha256=EUnrcH-zaMMK3yaBV85p1wQCpqnHjc0YhY7P1B0cSM4,8359
|
|
119
|
+
nodescraper/plugins/inband/kernel_module/kernel_module_collector.py,sha256=BxtunaXRPuUJ61LfhrDOUqPzW3p9Fv5pjfbCKjbh8bI,10301
|
|
120
|
+
nodescraper/plugins/inband/kernel_module/kernel_module_data.py,sha256=ULsMXePK9RRuewLGunNgrul9j6sR_sLoLblCZgv94JI,2266
|
|
121
|
+
nodescraper/plugins/inband/kernel_module/kernel_module_plugin.py,sha256=7MnzUWRVk9W6vllYhltPWuiRBYM-M0PjNgNl8tTQ1aM,1879
|
|
122
|
+
nodescraper/plugins/inband/memory/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
123
|
+
nodescraper/plugins/inband/memory/analyzer_args.py,sha256=haAmhuFESmTWpSLVijvnGIqU7ye7bC0aU69yTSfeZ2w,1863
|
|
124
|
+
nodescraper/plugins/inband/memory/memory_analyzer.py,sha256=QplmCx4gdfqMMFn4-laiwYGHAm7efMAwXuQrt87V9tQ,4007
|
|
125
|
+
nodescraper/plugins/inband/memory/memory_collector.py,sha256=DlBxEB5JYlaROMzJjsZDySeJ1nDL3DB_Oy40RjqJBGk,13229
|
|
126
|
+
nodescraper/plugins/inband/memory/memory_plugin.py,sha256=nVB16mkPEV558q7Flyby25bDjMCZR3NraBG7vxCI9qQ,1791
|
|
127
|
+
nodescraper/plugins/inband/memory/memorydata.py,sha256=sSo0kjt_A12HW7i2gaoPUrM2CQkoCQMt700ikLHTpd0,2678
|
|
128
|
+
nodescraper/plugins/inband/network/__init__.py,sha256=MHcvNAOSmKpvTKRj_THM1xfzW7LtGzbCLdWdDz_CXAM,1358
|
|
129
|
+
nodescraper/plugins/inband/network/network_collector.py,sha256=n4cer6xDCroZYzgnEAOhA3yjuuTP0YZnr-DThbHjd4U,72377
|
|
130
|
+
nodescraper/plugins/inband/network/network_plugin.py,sha256=jC46Rp_ArT46kv-QS4bDw9w8Fl26-S9FZQyms0RISA4,1626
|
|
131
|
+
nodescraper/plugins/inband/network/networkdata.py,sha256=1Gr3BP-M3mkgUDMn_ZTDtP-491w02-vIknsOzjiT1Yg,13728
|
|
132
|
+
nodescraper/plugins/inband/nvme/__init__.py,sha256=3HsOIFz75KSXklmqlvEnue9VXtA_AV0vFkgK6ciQbAA,1349
|
|
133
|
+
nodescraper/plugins/inband/nvme/nvme_collector.py,sha256=6kfui_vRRAOW0SLoWDWdjFniRWlM1IVY8zzZseOoa3o,6594
|
|
134
|
+
nodescraper/plugins/inband/nvme/nvme_plugin.py,sha256=mzdtZnV7Vh-xcyTKT1qVFK4aQPczRCsKDyzTAYEm2iE,1598
|
|
135
|
+
nodescraper/plugins/inband/nvme/nvmedata.py,sha256=gH_QypHVtgXGpWfWkDki5WYoamw2f2Ao_swKI3vHteM,1782
|
|
136
|
+
nodescraper/plugins/inband/os/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
137
|
+
nodescraper/plugins/inband/os/analyzer_args.py,sha256=P3LXjbjIsiKCryMTyHy2Uyc3X5x9kW_er3Ke4ux4ouo,2348
|
|
138
|
+
nodescraper/plugins/inband/os/os_analyzer.py,sha256=bICYN3hfeqigyxmXQpGYqzs7rPrTKJmHf4QZ1xW96Pk,3118
|
|
139
|
+
nodescraper/plugins/inband/os/os_collector.py,sha256=LP1APa6H7qKQrzVXth5wudKttnJMgYtfLvpM9PdOTHQ,5324
|
|
140
|
+
nodescraper/plugins/inband/os/os_plugin.py,sha256=_2Ndg7CQmp4cIprmJpT2dYcjvcoSj9U3IJ2Sk_mXMpE,1739
|
|
141
|
+
nodescraper/plugins/inband/os/osdata.py,sha256=OB-TlTQzhY6MGphnnnw07WA5iWEowJZtOWHh6y08vww,1402
|
|
142
|
+
nodescraper/plugins/inband/package/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
143
|
+
nodescraper/plugins/inband/package/analyzer_args.py,sha256=kx6dfH3Jqbl__nOiIsQQGqqmfj6C_3Y9cyzov8JBRY4,2182
|
|
144
|
+
nodescraper/plugins/inband/package/package_analyzer.py,sha256=iyHNm2jOe-Xi3AcB14bxnbj3TdPQBvXjx78mTVvU3eg,11049
|
|
145
|
+
nodescraper/plugins/inband/package/package_collector.py,sha256=OPpsIkvOy2UIeLg6qF0vovetjSIC-P2-_KmQjEKCy3s,11385
|
|
146
|
+
nodescraper/plugins/inband/package/package_plugin.py,sha256=ZtoHUs_3KnqAwGkEKgwHkNCkfFbynDfsNPtRu6Q1VI4,1814
|
|
147
|
+
nodescraper/plugins/inband/package/packagedata.py,sha256=mARGzoxw944Uv0kgah1p-6b9Czi-KklMMMQRkwhVVfY,1869
|
|
148
|
+
nodescraper/plugins/inband/pcie/__init__.py,sha256=NNJsZHdK_fpuHBDz4Koydzb0DFgmc8_G3O0E4mpzOOI,1413
|
|
149
|
+
nodescraper/plugins/inband/pcie/analyzer_args.py,sha256=C_KSq-bOqJyovOe5MoJrjnYx35K6-JpAXckihtabgJM,2747
|
|
150
|
+
nodescraper/plugins/inband/pcie/pcie_analyzer.py,sha256=bsaYM9D_xqHO7Q5ytVUpSdBw4KCBTI2DUYGWXdIOUNg,45220
|
|
151
|
+
nodescraper/plugins/inband/pcie/pcie_collector.py,sha256=wfm7jDM27bTJWEE0kAaRT47CtRlsP8GUtimB2bq5oGg,27661
|
|
152
|
+
nodescraper/plugins/inband/pcie/pcie_data.py,sha256=a91Pep6oma2DLNgO_CrPDFkxyy3abJeRLTFq_-WLgpE,80822
|
|
153
|
+
nodescraper/plugins/inband/pcie/pcie_plugin.py,sha256=4ksMO9QCmulllxg59ZCgcvK2c7xdeb24b7BfAAscBqY,1762
|
|
154
|
+
nodescraper/plugins/inband/process/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
155
|
+
nodescraper/plugins/inband/process/analyzer_args.py,sha256=-jUV0czLM8yGnFcljoH07YU1Sd26kXp1AkM5FuyYzDo,1933
|
|
156
|
+
nodescraper/plugins/inband/process/collector_args.py,sha256=tyPycc7iD605cTD0bJp-dUEhWkx1McG1ze1UgPFVLGA,1406
|
|
157
|
+
nodescraper/plugins/inband/process/process_analyzer.py,sha256=OcJ5fO3Y9VWgE9kCtJShYJ7JpnhdV8qkOfvaP_u9uaY,3791
|
|
158
|
+
nodescraper/plugins/inband/process/process_collector.py,sha256=xw0sARcrVQaDCqSmyt5G6mWsMFLY57kEm3172hun6Qc,4704
|
|
159
|
+
nodescraper/plugins/inband/process/process_plugin.py,sha256=NSQ5zbGnTPidVWd63eD_MPMVTnMjXcxoKA91dSVhKtE,1914
|
|
160
|
+
nodescraper/plugins/inband/process/processdata.py,sha256=8xhj3xqsjdZFwDOyHD8q8WejYO9TGhTM_k-35ZMOsIo,1524
|
|
161
|
+
nodescraper/plugins/inband/rocm/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
162
|
+
nodescraper/plugins/inband/rocm/analyzer_args.py,sha256=VSxh95-h1djiAovfgKwje0UycFATvdSCPA9eQnCaxDE,2482
|
|
163
|
+
nodescraper/plugins/inband/rocm/rocm_analyzer.py,sha256=oHjZl4SjyYjmnDJnY_F8vGdejKdx0o0RbSTS4TgDueU,4347
|
|
164
|
+
nodescraper/plugins/inband/rocm/rocm_collector.py,sha256=T5gRZVp1R0ANiDAqaHNspT34Urws9bT8JuVBX9aZvb0,9316
|
|
165
|
+
nodescraper/plugins/inband/rocm/rocm_plugin.py,sha256=T52MUMx0ONnFhuvcb4UQx3ZPBe0EGoyJB2-W5aG_b_A,1769
|
|
166
|
+
nodescraper/plugins/inband/rocm/rocmdata.py,sha256=k-QfaXYVIGvbrlg4bTE6cRTNKbPwVpWpQKx3tkVWlXc,2323
|
|
167
|
+
nodescraper/plugins/inband/storage/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
168
|
+
nodescraper/plugins/inband/storage/analyzer_args.py,sha256=iH7Ql8C4UsIQH97HUOMs60P0GQdu1vJlCLZuzgAwfSM,1722
|
|
169
|
+
nodescraper/plugins/inband/storage/collector_args.py,sha256=Wj5QGnbBkA8kwPVUv2qUeUVTgDqAYL1yy1jkkYDH44k,1406
|
|
170
|
+
nodescraper/plugins/inband/storage/storage_analyzer.py,sha256=SMXU0zP03RDC7BtWMYqVnHYCNZDLeN2_n2YyAg7dhPQ,6477
|
|
171
|
+
nodescraper/plugins/inband/storage/storage_collector.py,sha256=EK3Z_-SNdvvBQo6pMQCZFxR5XUr3YlvgHmhVx77yAmI,4895
|
|
172
|
+
nodescraper/plugins/inband/storage/storage_plugin.py,sha256=5vaq3ZXNgd6hdd3VdEwZR_TX11MiuDkbbtCxHC0ja_o,1876
|
|
173
|
+
nodescraper/plugins/inband/storage/storagedata.py,sha256=pI8Li-p7RWcO8Qvf0m8DimQMFTS3_wmgbSjgUq_Q74c,2586
|
|
174
|
+
nodescraper/plugins/inband/sysctl/__init__.py,sha256=x7x1RajRyaiCrW8p4sM8z39mcgDUcntn0o1MNW7Bwc0,1423
|
|
175
|
+
nodescraper/plugins/inband/sysctl/analyzer_args.py,sha256=u8uBPsao5dK3eYASC-3QXU5zZI1fSuEbQskaCQu_X9w,3211
|
|
176
|
+
nodescraper/plugins/inband/sysctl/sysctl_analyzer.py,sha256=OuwbWPRWzYCJB_WR1iKss8XuM81zgoPiyXYamEpejgY,3342
|
|
177
|
+
nodescraper/plugins/inband/sysctl/sysctl_collector.py,sha256=M2Yixd-_I8f46UgnRCyFSUKgTi1qmylkYkRBcDb8IB8,4086
|
|
178
|
+
nodescraper/plugins/inband/sysctl/sysctl_plugin.py,sha256=nKAFy9PWQLIxPPES53oILIce7cDZl6tdcBrno4dHNFQ,1789
|
|
179
|
+
nodescraper/plugins/inband/sysctl/sysctldata.py,sha256=1mlwGKy2RBUfWjaBWmAYv2nJ-3drex2S34xZN-P5j38,1932
|
|
180
|
+
nodescraper/plugins/inband/syslog/__init__.py,sha256=kT5X_L16yiAfRm8X1tXkUQQ9AF2uso3jJ9--kfpYyCw,1355
|
|
181
|
+
nodescraper/plugins/inband/syslog/syslog_collector.py,sha256=SqLXe0GDdbii-Pqun82BFhLWl2_7YsyfjhxsGcSeRdI,4996
|
|
182
|
+
nodescraper/plugins/inband/syslog/syslog_plugin.py,sha256=lVwouzwVSUvY7RpjxHl5Kq3Pj2R4XdxRYdvS0HLjmYU,1588
|
|
183
|
+
nodescraper/plugins/inband/syslog/syslogdata.py,sha256=4VRmSojeYIEu1ui18mWLODfMaLYNHnDsDxeF3PqQy0A,1876
|
|
184
|
+
nodescraper/plugins/inband/uptime/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
185
|
+
nodescraper/plugins/inband/uptime/uptime_collector.py,sha256=ey96a_W7vEkKYyX5-Y2XftQ_viayR8cjojUiSHuVv1c,3431
|
|
186
|
+
nodescraper/plugins/inband/uptime/uptime_plugin.py,sha256=MrVAccaaTDL1K9ymbI9ujkkSOpl0lHGphNbcpAgOjvk,1610
|
|
187
|
+
nodescraper/plugins/inband/uptime/uptimedata.py,sha256=_D8qtUMgBMrT-DOl0bChBQ0T2dRhaxMGhi0Q5RfjyCk,1402
|
|
188
|
+
nodescraper/resultcollators/__init__.py,sha256=HBDZKCzcK27TiqerZunpdH6dVPFkUjeJjmUO68644YI,1287
|
|
189
|
+
nodescraper/resultcollators/tablesummary.py,sha256=gCi3H_A0NrcyLuxT3WjuaEA2Bt7nxBZdv7wBfMygDi4,6374
|
|
190
|
+
nodescraper/taskresulthooks/__init__.py,sha256=Wuc7S0KYmTLY88ExkB_5oYwLe9TOI7v30mugGHBRps4,1369
|
|
191
|
+
nodescraper/taskresulthooks/filesystemloghook.py,sha256=hAiECTqq4YMHfcc4GQKtXLL7WFcJNzs91O2tx3lGmwk,3806
|
|
192
|
+
amd_node_scraper-0.0.1.dist-info/LICENSE,sha256=h1PoQlixaq22-sPSskuwheH7ADBRswMzpBTyNzHErhw,1085
|
|
193
|
+
amd_node_scraper-0.0.1.dist-info/METADATA,sha256=gC8RW0M9I9QkpFBUHD-EFS1GrTkccI3l9xgJWY-bMf4,14258
|
|
194
|
+
amd_node_scraper-0.0.1.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
|
|
195
|
+
amd_node_scraper-0.0.1.dist-info/entry_points.txt,sha256=GrrwLaw1XvSxhNJJcvXMc-snvMGj0LiOkI09GZ1GR0g,59
|
|
196
|
+
amd_node_scraper-0.0.1.dist-info/top_level.txt,sha256=-GXB_pfpTF52pn7TRtAWaJ-t5bUJ6OPArjjMWEdXTQs,12
|
|
197
|
+
amd_node_scraper-0.0.1.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
nodescraper
|