new pass at websocket telemetry and prepare for capture

This commit is contained in:
Jacob Dubin
2026-04-12 09:00:17 -05:00
parent 70d36bf563
commit 8e060a1ded
15 changed files with 603 additions and 7 deletions

View File

@@ -0,0 +1,33 @@
param(
[string]$CaptureDirectory = "..\..\src\Jibo.Cloud\dotnet\src\Jibo.Cloud.Api\bin\Debug\net10.0\captures\websocket"
)
$resolvedDirectory = Resolve-Path -LiteralPath $CaptureDirectory -ErrorAction Stop
$eventFiles = Get-ChildItem -LiteralPath $resolvedDirectory -Filter *.events.ndjson -File | Sort-Object LastWriteTimeUtc
if (-not $eventFiles) {
Write-Host "No websocket telemetry event files found in $resolvedDirectory"
exit 0
}
$records = foreach ($file in $eventFiles) {
Get-Content -LiteralPath $file.FullName | Where-Object { $_.Trim().Length -gt 0 } | ForEach-Object {
$_ | ConvertFrom-Json
}
}
$records |
Group-Object EventType |
Sort-Object Name |
Select-Object Name, Count |
Format-Table -AutoSize
$fixtureDirectory = Join-Path $resolvedDirectory "fixtures"
if (Test-Path -LiteralPath $fixtureDirectory) {
Write-Host ""
Write-Host "Exported websocket fixtures:"
Get-ChildItem -LiteralPath $fixtureDirectory -Filter *.flow.json -File |
Sort-Object LastWriteTimeUtc |
Select-Object LastWriteTimeUtc, Name |
Format-Table -AutoSize
}

View File

@@ -6,3 +6,5 @@ These scripts help exercise the new .NET hosted cloud locally.
Runs a few quick HTTP checks against a local OpenJibo cloud instance.
- `Invoke-ProtocolFixture.ps1`
Replays a sanitized HTTP fixture against a running local instance.
- `Get-WebSocketCaptureSummary.ps1`
Summarizes captured websocket telemetry events and exported live-run fixtures from the .NET cloud.