Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Relabel Working-Conditions Effect #66

Merged
merged 1 commit into from
Jan 9, 2024
Merged

Conversation

hawkinsw
Copy link
Member

@hawkinsw hawkinsw commented Jan 7, 2024

Change how the effect of the working conditions is calculated and presented to the user.

@hawkinsw hawkinsw self-assigned this Jan 7, 2024
@hawkinsw
Copy link
Member Author

hawkinsw commented Jan 7, 2024

@moeller0 What do you think??

Change how the effect of the working conditions is calculated and
presented to the user.

Signed-off-by: Will Hawkins <[email protected]>
@hawkinsw hawkinsw force-pushed the working_conditions_relabel branch from a4a2976 to c5e0bce Compare January 7, 2024 20:50
@moeller0
Copy link

moeller0 commented Jan 8, 2024

The patch looks good, will test later. Holiday is over, so likely after work.

@moeller0
Copy link

moeller0 commented Jan 8, 2024

bash-3.2$ ./networkQuality --relative-rpm --rpm.parallel --config mensura.cdn-apple.com --port 443 --path /api/v1/gm/config --rpm.timeout 120 --extended-stats --rpm.mnp 32 --logger-filename go_networkQuality_20231228_223707
01-08-2024 07:36:28 UTC Go Responsiveness to mensura.cdn-apple.com:443...
Baseline RPM:  5295 (P90)
Baseline RPM:  8371 (Single-Sided 5% Trimmed Mean)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Results:
========
Download:
	Note: Test did not run to stability, these results are estimates.
	Throughput: 15.499 Mbps (1.937 MBps), using 10 parallel connections.
	Extended Statistics:
		Maximum Segment Size: 1368
		Total Bytes Retransmitted: 0
		Retransmission Ratio: 0.00%
		Total Bytes Reordered: 192875236
		Average RTT: 225.6
	RPM: 19 (P90)
	RPM: 151 (Single-Sided 5% Trimmed Mean)
========
Upload:
	Note: Test did not run to stability, these results are estimates.
	Throughput: 50.369 Mbps (6.296 MBps), using 32 parallel connections.
	Extended Statistics:
		Maximum Segment Size: 1368
		Total Bytes Retransmitted: 1084169
		Retransmission Ratio: 0.20%
		Total Bytes Reordered: 428024
		Average RTT: 223.84375
	RPM: 75 (P90)
	RPM: 425 (Single-Sided 5% Trimmed Mean)
========
Final RPM: 23 (P90)
Final RPM: 422 (Single-Sided 5% Trimmed Mean)
Working-Conditions Effect: Final RPM is     0% of baseline RPM (P90)
Working-Conditions Effect: Final RPM is     5% of baseline RPM (Single-Sided 5% Trimmed Mean)

That looks good! From my perspective this should go to main!

@hawkinsw hawkinsw merged commit fe989eb into main Jan 9, 2024
1 check passed
@moeller0
Copy link

moeller0 commented Jan 9, 2024

Just tried main, and I got a panic:

bash-3.2$ git switch main
Switched to branch 'main'
Your branch is behind 'origin/main' by 2 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)
bash-3.2$ git pull
Updating 0445358..fe989eb
Fast-forward
 networkQuality.go | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
bash-3.2$ git fetch
bash-3.2$ go mod download ; go build ./networkQuality.go 
bash-3.2$ ./networkQuality --relative-rpm --rpm.parallel --config mensura.cdn-apple.com --port 443 --path /api/v1/gm/config --rpm.timeout 120 --extended-stats --rpm.mnp 32 --logger-filename go_networkQuality_20231228_223707
01-09-2024 07:09:02 UTC Go Responsiveness to mensura.cdn-apple.com:443...
Baseline RPM:  3836 (P90)
Baseline RPM:  8356 (Single-Sided 5% Trimmed Mean)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Unexpectedly reusing a connection!
panic: false

goroutine 13302 [running]:
github.com/network-quality/goresponsiveness/lgc.(*LoadGeneratingConnectionUpload).SetGotConnTimeInfo(0x12d6ae3?, {0x12ca9e0?, 0x134f2e0?, 0x16a4580?}, {{0x144c718?, 0xc00413ca80?}, 0xe0?, 0xf2?, 0xc0028c5628?})
	/Users/smoeller/TECH_KRAM/CODE/goresponsiveness/lgc/upload.go:153 +0x42d
github.com/network-quality/goresponsiveness/traceable.GenerateHttpTimingTracer.func6({{0x144c718?, 0xc00413ca80?}, 0xa0?, 0x33?, 0xc0028c5688?})
	/Users/smoeller/TECH_KRAM/CODE/goresponsiveness/traceable/traceable.go:59 +0x85
golang.org/x/net/http2.traceGotConn(0xc00012a6c0?, 0xc00238f980, 0x1)
	/Users/smoeller/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:3121 +0x1dd
golang.org/x/net/http2.(*Transport).RoundTripOpt(0xc003fb75f0, 0xc003c32f00, {0xc8?})
	/Users/smoeller/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:560 +0x19b
golang.org/x/net/http2.(*Transport).RoundTrip(0xc002e92a00?, 0xc003b04a80?)
	/Users/smoeller/go/pkg/mod/golang.org/x/[email protected]/http2/transport.go:513 +0x15
net/http.(*Transport).roundTrip(0xc002e92a00, 0xc003c32e00)
	/usr/local/Cellar/go/1.21.5/libexec/src/net/http/transport.go:602 +0x78b
net/http.(*Transport).RoundTrip(0x40?, 0x1447320?)
	/usr/local/Cellar/go/1.21.5/libexec/src/net/http/roundtrip.go:17 +0x13
net/http.send(0xc003c32e00, {0x1447320, 0xc002e92a00}, {0x13b3701?, 0x3?, 0x0?})
	/usr/local/Cellar/go/1.21.5/libexec/src/net/http/client.go:260 +0x606
net/http.(*Client).send(0xc002eb7560, 0xc003c32e00, {0xc003857d90?, 0x10e703b?, 0x0?})
	/usr/local/Cellar/go/1.21.5/libexec/src/net/http/client.go:181 +0x98
net/http.(*Client).do(0xc002eb7560, 0xc003c32e00)
	/usr/local/Cellar/go/1.21.5/libexec/src/net/http/client.go:724 +0x912
net/http.(*Client).Do(...)
	/usr/local/Cellar/go/1.21.5/libexec/src/net/http/client.go:590
github.com/network-quality/goresponsiveness/lgc.(*LoadGeneratingConnectionUpload).doUpload(0xc0019f2c00, {0x144a790?, 0xc001584eb0})
	/Users/smoeller/TECH_KRAM/CODE/goresponsiveness/lgc/upload.go:328 +0x41f
created by github.com/network-quality/goresponsiveness/lgc.(*LoadGeneratingConnectionUpload).Start in goroutine 6186
	/Users/smoeller/TECH_KRAM/CODE/goresponsiveness/lgc/upload.go:381 +0x2c5

not sure why (could be the fortinet firewall at work that plays some DNS games)

@moeller0
Copy link

moeller0 commented Jan 9, 2024

However, when it works, it looks quite nice:

bash-3.2$ ./networkQuality --relative-rpm --rpm.parallel --config mensura.cdn-apple.com --port 443 --path /api/v1/gm/config --rpm.timeout 120 --extended-stats --rpm.mnp 32 --logger-filename go_networkQuality_20231228_223707
01-09-2024 07:11:46 UTC Go Responsiveness to mensura.cdn-apple.com:443...
Baseline RPM:  2957 (P90)
Baseline RPM:  4170 (Single-Sided 5% Trimmed Mean)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Warning: Could not fetch the extended stats for a probe: OOPS: Could not get the TCP info for the connection (not a TLS connection)
Results:
========
Download:
	Note: Test did not run to stability, these results are estimates.
	Throughput: 17.739 Mbps (2.217 MBps), using 10 parallel connections.
	Extended Statistics:
		Maximum Segment Size: 1368
		Total Bytes Retransmitted: 3549
		Retransmission Ratio: 0.14%
		Total Bytes Reordered: 289879662
		Average RTT: 149.7
	RPM: 48 (P90)
	RPM: 177 (Single-Sided 5% Trimmed Mean)
========
Upload:
	Throughput: 39.988 Mbps (4.999 MBps), using 20 parallel connections.
	Extended Statistics:
		Maximum Segment Size: 1368
		Total Bytes Retransmitted: 242045
		Retransmission Ratio: 0.12%
		Total Bytes Reordered: 136697
		Average RTT: 165
	RPM: 124 (P90)
	RPM: 498 (Single-Sided 5% Trimmed Mean)
========
Final RPM: 51 (P90)
Final RPM: 474 (Single-Sided 5% Trimmed Mean)
Working-Conditions Effect: Final RPM is     2% of baseline RPM (P90)
Working-Conditions Effect: Final RPM is    11% of baseline RPM (Single-Sided 5% Trimmed Mean)

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.

2 participants