-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Problem Statement
Network Management Systems (NMS) like NetBox and OpenNMS identify and correlate device monitoring data using hostname and IP address as primary identifiers. Currently, NetPace's JSON output doesn't include the client device's hostname or IP address, making it difficult to integrate speed test results into existing NMS workflows.
Current State
NetPace's JSON output includes:
{
"ServerLocation": "Chicago, IL",
"ServerSponsor": "Verizon",
"ServerUrl": "http://...",
"Timestamp": "2025-12-12 10:30:00",
"Latency": "45 ms",
"DownloadSpeed": "15.2 Mbps",
"UploadSpeed": "3.4 Mbps"
}Missing: Client device's hostname and IP address
Proposed Solution
Add two new fields to JSON output:
Hostname- The hostname of the device running NetPaceIpAddress- The IP address of the device (local IP or public IP used for the test)
Example output:
{
"Hostname": "gateway-01.example.com",
"IpAddress": "192.168.1.100",
"ServerLocation": "Chicago, IL",
"ServerSponsor": "Verizon",
"ServerUrl": "http://...",
"Timestamp": "2025-12-12 10:30:00",
"Latency": "45 ms",
"DownloadSpeed": "15.2 Mbps",
"UploadSpeed": "3.4 Mbps"
}Benefits
NMS Integration
- NetBox: Correlates results to device inventory using hostname/IP, retrieves GPS coordinates from existing device metadata
- Reference: NetBox Devices
- OpenNMS: Identifies devices by IP address and reverse-lookup hostname for monitoring
- Reference: OpenNMS Discovery
Automation
- Enables automated ingestion into monitoring dashboards
- Allows correlation with existing device inventory systems
- Supports fleet management workflows where GPS coordinates are already stored in NMS
IoT Use Cases
- Enterprise deployments can leverage existing NMS infrastructure
- Reduces need for GPS auto-detection in many scenarios (NMS already has location metadata)
- Still valuable to support GPS as optional feature for standalone/mobile deployments
Implementation Notes
Files to Modify
src/NetPace.Console/ConsoleWriters/JsonConsoleWriter.cs- Add hostname/IP to JsonResultsrc/NetPace.Console/ConsoleWriters/CSVConsoleWriter.cs- Add hostname/IP columns- Consider other output formats (Minimal, etc.)
Technical Considerations
- Hostname: Use
System.Net.Dns.GetHostName() - IP Address: Consider which IP to report:
- Local IP address (from network interface)
- Public IP (from speed test connection)
- Both? (add
LocalIpAddressandPublicIpAddressfields)
Backward Compatibility
- New fields should be additive (non-breaking change)
- Consider making fields optional in JSON output (null if unavailable)
Related Work
This complements the IoT MVP plan (Package C - Location Support). While GPS coordinates are valuable for mobile/standalone deployments, hostname/IP integration is critical for enterprise NMS workflows where location metadata already exists.
Suggested Priority: P0 for NMS integration, especially for IoT/fleet management use cases