Report VPN pressure score in smoke
This commit is contained in:
@@ -49,6 +49,7 @@ type smokeReport struct {
|
||||
FabricVPNBulkWindow int `json:"fabric_vpn_bulk_parallel_window"`
|
||||
FabricVPNInteractiveWin int `json:"fabric_vpn_interactive_parallel_window"`
|
||||
FabricVPNPressureLevel string `json:"fabric_vpn_pressure_level"`
|
||||
FabricVPNPressureScore int `json:"fabric_vpn_pressure_score"`
|
||||
FabricVPNPressureReason []string `json:"fabric_vpn_pressure_reasons"`
|
||||
FabricVPNRouteRecovered bool `json:"fabric_vpn_route_recovered"`
|
||||
FabricVPNRouteSwitches uint64 `json:"fabric_vpn_route_switch_count"`
|
||||
@@ -159,7 +160,7 @@ func run(ctx context.Context) (smokeReport, error) {
|
||||
if err != nil {
|
||||
return smokeReport{}, fmt.Errorf("fabric vpn packet session smoke: %w", err)
|
||||
}
|
||||
fabricVPNBulkPressure, fabricVPNBulkChannels, fabricVPNInteractiveChannels, fabricVPNBulkWindow, fabricVPNInteractiveWindow, fabricVPNPressureLevel, fabricVPNPressureReasons := smokeVPNFlowSchedulerBulkPressure()
|
||||
fabricVPNBulkPressure, fabricVPNBulkChannels, fabricVPNInteractiveChannels, fabricVPNBulkWindow, fabricVPNInteractiveWindow, fabricVPNPressureLevel, fabricVPNPressureScore, fabricVPNPressureReasons := smokeVPNFlowSchedulerBulkPressure()
|
||||
fabricVPNRouteRecovered, fabricVPNRouteSwitches, fabricVPNRecoveryMS, fabricVPNRecoveryMaxMS, fabricVPNRecoveryAvgMS, fabricVPNRecoveryReason := smokeVPNFlowSchedulerRouteRecovery()
|
||||
fabricQUICAccepted, fabricQUICEndpoint, fabricQUICPressure, err := smokeQUICFabricSession(ctx)
|
||||
if err != nil {
|
||||
@@ -187,6 +188,7 @@ func run(ctx context.Context) (smokeReport, error) {
|
||||
FabricVPNBulkWindow: fabricVPNBulkWindow,
|
||||
FabricVPNInteractiveWin: fabricVPNInteractiveWindow,
|
||||
FabricVPNPressureLevel: fabricVPNPressureLevel,
|
||||
FabricVPNPressureScore: fabricVPNPressureScore,
|
||||
FabricVPNPressureReason: fabricVPNPressureReasons,
|
||||
FabricVPNRouteRecovered: fabricVPNRouteRecovered,
|
||||
FabricVPNRouteSwitches: fabricVPNRouteSwitches,
|
||||
@@ -207,7 +209,7 @@ func run(ctx context.Context) (smokeReport, error) {
|
||||
}, nil
|
||||
}
|
||||
|
||||
func smokeVPNFlowSchedulerBulkPressure() (bool, int, int, int, int, string, []string) {
|
||||
func smokeVPNFlowSchedulerBulkPressure() (bool, int, int, int, int, string, int, []string) {
|
||||
scheduler := vpnruntime.NewFabricFlowScheduler(32, 16)
|
||||
bulkPacket := []byte("bulk")
|
||||
interactivePacket := []byte("interactive-rdp-like")
|
||||
@@ -230,6 +232,7 @@ func smokeVPNFlowSchedulerBulkPressure() (bool, int, int, int, int, string, []st
|
||||
snapshot.RecommendedParallelWindows[vpnruntime.FabricTrafficClassBulk],
|
||||
snapshot.RecommendedParallelWindows[vpnruntime.FabricTrafficClassInteractive],
|
||||
snapshot.PressureLevel,
|
||||
snapshot.PressureScore,
|
||||
snapshot.PressureReasons
|
||||
}
|
||||
|
||||
|
||||
@@ -467,7 +467,8 @@ route failures, route recovery, slow channels, bulk pressure, and adaptive
|
||||
backpressure.
|
||||
The same pressure classification includes a bounded 0-100 score for automated
|
||||
route, endpoint, and node comparisons.
|
||||
`mesh-live-smoke` reports the mixed-load scheduler pressure level and reasons.
|
||||
`mesh-live-smoke` reports the mixed-load scheduler pressure level, score, and
|
||||
reasons.
|
||||
Endpoint ranking treats `capacity_limited` observations as a soft pressure
|
||||
penalty instead of a hard recent failure, enabling load spreading without
|
||||
marking the carrier unhealthy.
|
||||
|
||||
Reference in New Issue
Block a user