Files
MikrotikManager/docs/ux-ui/acceptance/prod265-diagnostics.json
T

79 lines
2.5 KiB
JSON

{
"date": "2026-10-15",
"scope": "Production diagnosis using a read-only application account and read-only SSH/system/PostgreSQL inspection. No production deployment or configuration changes.",
"productionVersion": "2.0.0",
"map": {
"cause": "PostgreSQL polledAt text with explicit offset is rejected by the ISO-only map validator; the whole topology snapshot is discarded.",
"before": {
"serverValidationErrors": 4,
"field": "polledAt",
"error": "invalid_format"
},
"localFix": {
"preservesExplicitTimeZone": true,
"rejectsMissingZoneAndInvalidCalendarDate": true,
"exactPrivateResponseAccepted": {
"servers": 4,
"tunnels": 25,
"probes": 0
}
},
"checks": {
"unitPassed": 6,
"e2ePassed": 13,
"typescript": "passed",
"scopedEslint": "passed"
},
"deployed": false
},
"traffic": {
"confirmed": "REST history/list/detail load once per scope/retry; live SSE keeps updating separately. History can become stale while live rate is current.",
"calculationNotYetFullyAccepted": true,
"rawResponsesPrivate": true
},
"performance": {
"host": {
"vcpu": 1,
"memoryMiB": 1973,
"swapMiB": 0,
"loadAverage": [
4.62,
4.87,
5.09
],
"rootUsedPercent": 46
},
"sample": {
"postgresCpuPercent": 66.51,
"postgresMemory": "642.6MiB",
"backendCpuPercent": 3.26,
"cpuIdlePercent": 0,
"ioWaitPercent": [
34,
29
]
},
"schedulerRuns": {
"estimatedLiveRows": 1064090,
"tableSize": "853 MB",
"indexes": "primary key and (job_key, started_at), no finished_at index",
"observedActiveQuery": "DELETE FROM scheduler_runs WHERE finished_at < $1",
"wait": "IO/AioIoCompletion",
"retention": "30 days after every recorded scheduler job",
"explainEquivalentSelect": "Gather / Parallel Seq Scan"
},
"tcpConnectMsByAnonymousServerId": {
"1": 36,
"2": 3,
"3": 50,
"4": 6
},
"limits": [
"TCP connect success does not prove TLS/REST authentication or rule out previous failures.",
"The native HTTP client timeout also includes time queued in maxSockets=2; actual queue delay has not been measured.",
"Database temp-byte and deadlock counters are cumulative with an unknown reset epoch; not attributed to this release.",
"No proof that database pressure alone caused every REST timeout."
]
}
}