Skip to content

Conversation

@nikw9944
Copy link
Contributor

@nikw9944 nikw9944 commented Jan 9, 2026

Summary of Changes

  • e2e: publish per-device success/failure metrics from QA alldevices test runs
  • Provides health info needed by the device-health-oracle as per rfcs/rfc12-network-provisioning.md
  • Metrics are published to two new influxdb tables:

device_qa_test_results:

column_name data_type is_nullable
device_code Dictionary(Int32, Utf8) YES
device_pubkey Dictionary(Int32, Utf8) YES
env Dictionary(Int32, Utf8) YES
success Boolean YES
time Timestamp(Nanosecond, None) NO

device_qa_test_metadata:

column_name data_type is_nullable
devices_failed Int64 YES
devices_success Int64 YES
devices_tested Int64 YES
duration_s Float64 YES
env Dictionary(Int32, Utf8) YES
time Timestamp(Nanosecond, None) NO

Testing Verification

  • Ran full test locally against both testnet and mainnet-beta, and verified output
  • Unit tests for this code are coming in a separate PR

@nikw9944 nikw9944 self-assigned this Jan 9, 2026
@nikw9944 nikw9944 force-pushed the nikw/2565 branch 4 times, most recently from 8666352 to dd4a89d Compare January 9, 2026 12:37
@nikw9944 nikw9944 requested review from Copilot and packethog January 9, 2026 12:37
@nikw9944 nikw9944 marked this pull request as ready for review January 9, 2026 12:37
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds per-device success/failure metrics publishing from the QA alldevices test to support device health monitoring as specified in rfc12-network-provisioning.md. The implementation creates two new InfluxDB tables to track individual device test results and overall test metadata.

Key changes:

  • New metrics publishing functionality that reports per-device test success/failure to InfluxDB
  • Refactored BatchAssignment to BatchResult with a Success() method for cleaner validation logic
  • Integration of metrics collection throughout the test execution flow

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.

File Description
go.mod Adds InfluxDB v3 client library and required dependencies
e2e/qa_alldevices_unicast_test.go Refactors batch result tracking, collects per-device results, and publishes metrics at test completion
e2e/internal/qa/metrics.go Implements metrics configuration, device test result types, and InfluxDB publishing logic
CHANGELOG.md Documents the new metrics publishing feature

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@juan-malbeclabs juan-malbeclabs left a comment

Choose a reason for hiding this comment

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

LGTM

@nikw9944 nikw9944 requested a review from snormore January 9, 2026 13:59
@nikw9944 nikw9944 merged commit d512ff1 into main Jan 9, 2026
21 checks passed
@nikw9944 nikw9944 deleted the nikw/2565 branch January 9, 2026 17:47
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.

4 participants