Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 17, 2025

Implementation complete for adding ethtool coalesce settings collection:

  • Explore repository structure and understand current NIC info collection
  • Build and test existing code successfully
  • Modify NicInfoScriptName to include ethtool -c output
  • Update nicInfo struct to include coalesce settings fields (AdaptiveRX, AdaptiveTX, RxUsecs, TxUsecs)
  • Update parseNicInfo function to parse coalesce settings
  • Add test data with coalesce settings to table_helpers_test.go
  • Update test to validate coalesce settings parsing
  • Update nicTableValues to display coalesce settings in reports
  • Build and test changes - all tests pass
  • Manual verification of changes
  • Security scan - no vulnerabilities found
  • Address code review feedback - remove unnecessary files

Summary

Added collection of network interface coalesce settings using ethtool -c to PerfSpect reports. This addresses the issue request to collect coalesce settings including tx-usecs which is important for network-intensive, CPU-bound workloads.

Key Changes:

  1. Script: Modified NicInfoScriptName to run ethtool -c for each interface
  2. Data Model: Added 4 new fields to nicInfo struct (AdaptiveRX, AdaptiveTX, RxUsecs, TxUsecs)
  3. Parsing: Enhanced parseNicInfo to extract coalesce parameters from ethtool output
  4. Display: Updated report tables to show the new coalesce settings
  5. Tests: Added comprehensive test coverage for the new functionality

Files Changed:

  • internal/script/script_defs.go - Added ethtool -c collection
  • internal/report/table_helpers.go - Added struct fields and parsing logic
  • internal/report/table_defs.go - Added display columns
  • internal/report/table_helpers_test.go - Added test coverage

Backward Compatibility:

  • Fully backward compatible
  • Gracefully handles interfaces where ethtool -c is not supported
  • Empty values if coalesce data not available

All tests pass, no security issues detected, and code follows project standards.

Original prompt

This section details on the original issue you should resolve

<issue_title>additional network interface configurations</issue_title>
<issue_description>I noticed this tool already aggregates IRQ balance settings. Can it also collect the current coalesce settings?

ethtool -c eth0

should do it. I've found tx-usec and congestion control settings are also important for network intensive workloads when cpu bound.

Origin: intel/svr-info#37</issue_description>

Comments on the Issue (you are @copilot in this section)

Fixes #85


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI self-assigned this Oct 17, 2025
Copilot AI and others added 3 commits October 17, 2025 19:21
Co-authored-by: harp-intel <78619061+harp-intel@users.noreply.github.com>
Co-authored-by: harp-intel <78619061+harp-intel@users.noreply.github.com>
Co-authored-by: harp-intel <78619061+harp-intel@users.noreply.github.com>
Copilot AI changed the title [WIP] Add coalesce settings to network interface configurations Add network interface coalesce settings collection via ethtool -c Oct 17, 2025
Copilot AI requested a review from harp-intel October 17, 2025 19:31
Copilot finished work on behalf of harp-intel October 17, 2025 19:31
Copy link
Contributor

@harp-intel harp-intel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot remove files from PR that are not required to be changed

@harp-intel harp-intel marked this pull request as ready for review October 17, 2025 20:15
@harp-intel
Copy link
Contributor

@copilot address code review change requests

Co-authored-by: harp-intel <78619061+harp-intel@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Oct 17, 2025

@copilot address code review change requests

Addressed all code review feedback in commit ee25bc1. Removed go.sum changes and the internal/script/resources/ directory files (.gitkeep and placeholder.txt) which were not required for this PR. The PR now contains only the 4 essential files for the ethtool coalesce settings feature.

Copilot AI requested a review from harp-intel October 17, 2025 20:30
Copilot finished work on behalf of harp-intel October 17, 2025 20:30
@harp-intel harp-intel merged commit 0d1e0d3 into main Oct 18, 2025
9 checks passed
@harp-intel harp-intel deleted the copilot/add-network-interface-settings branch October 18, 2025 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

additional network interface configurations

2 participants