feat: Update testing documentation and introduce comprehensive report for IPSExtractor campaign. Add sections for executive summary, objectives, environment details, and methodology. Enhance README with compilation instructions and data sources for metrics analysis.
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# Mide latencia HTTP de count-api vía gateway para cada PDF en docs/plan_pruebas/data/
|
||||
param(
|
||||
[string]$BaseUrl = "http://127.0.0.1:8189",
|
||||
[string]$DataDir = "",
|
||||
[string]$OutCsv = ""
|
||||
)
|
||||
|
||||
$Root = Resolve-Path (Join-Path $PSScriptRoot "..\..\..")
|
||||
if (-not $DataDir) { $DataDir = Join-Path $Root "docs\plan_pruebas\data" }
|
||||
if (-not $OutCsv) {
|
||||
$stamp = Get-Date -Format "yyyyMMdd"
|
||||
$OutCsv = Join-Path $Root "docs\plan_pruebas\informes\count_latency_$stamp.csv"
|
||||
}
|
||||
|
||||
if (-not (Test-Path $DataDir)) { throw "No existe DataDir=$DataDir" }
|
||||
$pdfs = Get-ChildItem -Path $DataDir -Filter *.pdf -File
|
||||
if ($pdfs.Count -eq 0) { throw "No hay PDFs en $DataDir" }
|
||||
|
||||
New-Item -ItemType Directory -Force -Path (Split-Path $OutCsv) | Out-Null
|
||||
"file,http_time_s,http_code,service_count,status" | Set-Content -Path $OutCsv -Encoding utf8
|
||||
Write-Host "BASE_URL=$BaseUrl"
|
||||
Write-Host "DATA_DIR=$DataDir"
|
||||
Write-Host "OUT=$OutCsv"
|
||||
|
||||
foreach ($pdf in $pdfs) {
|
||||
$tmp = [System.IO.Path]::GetTempFileName()
|
||||
$sw = [System.Diagnostics.Stopwatch]::StartNew()
|
||||
try {
|
||||
$resp = curl.exe -sS -o $tmp -w "%{http_code}" `
|
||||
-F "files=@$($pdf.FullName);type=application/pdf" `
|
||||
"$BaseUrl/count/v1/count"
|
||||
$code = $resp.Trim()
|
||||
} catch {
|
||||
$code = "000"
|
||||
}
|
||||
$sw.Stop()
|
||||
$secs = [math]::Round($sw.Elapsed.TotalSeconds, 3)
|
||||
$scount = ""
|
||||
$status = "parse_error"
|
||||
try {
|
||||
$json = Get-Content $tmp -Raw | ConvertFrom-Json
|
||||
if ($json.results -and $json.results.Count -gt 0) {
|
||||
$scount = $json.results[0].service_count
|
||||
$status = $json.results[0].status
|
||||
} elseif ($json.error) {
|
||||
$status = $json.error
|
||||
}
|
||||
} catch {}
|
||||
$line = "$($pdf.Name),$secs,$code,$scount,$status"
|
||||
Add-Content -Path $OutCsv -Value $line
|
||||
Write-Host $line
|
||||
Remove-Item $tmp -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
Write-Host "Done. CSV: $OutCsv"
|
||||
Reference in New Issue
Block a user