fix(netflow): сохранить неизвестные координаты RIPE без ложных нулей
This commit is contained in:
1 parent
af66faaae4
commit
c718654bc7
10 files changed
+330
-18
No files matched your search
@@ -0,0 +1,137 @@
|
||||
{
|
||||
"date": "2026-10-11",
|
||||
"block": "12.5.143",
|
||||
"runtime": {
|
||||
"backend": "ux-geo143",
|
||||
"frontend": "ux-traffic141",
|
||||
"backendHealthy": true
|
||||
},
|
||||
"checks": {
|
||||
"coordinateCasesPassed": 16,
|
||||
"completeRipeProfilePassedLocallyAndInCandidate": true,
|
||||
"changedFilesEslintPassed": true,
|
||||
"backendBuildPassed": true,
|
||||
"compiledOutputsMatched": 984,
|
||||
"isolatedSqlModulesPassed": 3,
|
||||
"ownTemporaryDatabaseRemoved": true
|
||||
},
|
||||
"sql": {
|
||||
"date": "2026-10-11",
|
||||
"name": "mm_accept_143_1791710809060",
|
||||
"tests": [
|
||||
{
|
||||
"module": "traffic-flow-analytics",
|
||||
"passed": true,
|
||||
"output": "traffic-flow-analytics.test.ts: ok\nISOLATED_SQL_TEST_COMPLETE\n"
|
||||
},
|
||||
{
|
||||
"module": "traffic-flow-map-hops",
|
||||
"passed": true,
|
||||
"output": "traffic-flow-map-hops.test.ts: pickMapServices ok\ntraffic-flow-map-hops.test.ts: hops ok\ntraffic-flow-map-hops.test.ts: ok\nISOLATED_SQL_TEST_COMPLETE\n"
|
||||
},
|
||||
{
|
||||
"module": "traffic-flow-facts-rebuild",
|
||||
"passed": true,
|
||||
"output": "traffic-flow-facts-rebuild.test.ts: ok\nISOLATED_SQL_TEST_COMPLETE\n"
|
||||
}
|
||||
],
|
||||
"databaseRemoved": true
|
||||
},
|
||||
"liveRipe": {
|
||||
"date": "2026-10-11",
|
||||
"runtime": "ux-ipv6143",
|
||||
"requests": [
|
||||
{
|
||||
"path": "/data/network-info/data.json",
|
||||
"resource": "2606:4700:4700::1111",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/data/network-info/data.json",
|
||||
"resource": "2001:4860:4860::8888",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/data/maxmind-geo-lite/data.json",
|
||||
"resource": "2606:4700:4700::/48",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/data/as-overview/data.json",
|
||||
"resource": "AS13335",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/data/maxmind-geo-lite/data.json",
|
||||
"resource": "2001:4860::/32",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/data/as-overview/data.json",
|
||||
"resource": "AS15169",
|
||||
"status": 200
|
||||
}
|
||||
],
|
||||
"cases": [
|
||||
{
|
||||
"ip": "2001:4860:4860::8888",
|
||||
"prefix": "2001:4860::/32",
|
||||
"asn": 15169,
|
||||
"country": "US",
|
||||
"lat": 37.09024,
|
||||
"lng": -95.712891,
|
||||
"holder": "GOOGLE - Google LLC",
|
||||
"ok": true,
|
||||
"fetchedAt": 1791710819190
|
||||
},
|
||||
{
|
||||
"ip": "2606:4700:4700::1111",
|
||||
"prefix": "2606:4700:4700::/48",
|
||||
"asn": 13335,
|
||||
"country": "US",
|
||||
"lat": null,
|
||||
"lng": null,
|
||||
"holder": "CLOUDFLARENET - Cloudflare, Inc.",
|
||||
"ok": true,
|
||||
"fetchedAt": 1791710819069
|
||||
}
|
||||
],
|
||||
"geolocationSources": [
|
||||
{
|
||||
"resource": "2606:4700:4700::/48",
|
||||
"location": {
|
||||
"country": "?",
|
||||
"city": "",
|
||||
"latitude": 0,
|
||||
"longitude": 0,
|
||||
"covered_percentage": 100,
|
||||
"resourceCount": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"resource": "2001:4860::/32",
|
||||
"location": {
|
||||
"country": "US",
|
||||
"city": "",
|
||||
"latitude": 37.09024,
|
||||
"longitude": -95.712891,
|
||||
"covered_percentage": 100,
|
||||
"resourceCount": 155
|
||||
}
|
||||
}
|
||||
],
|
||||
"cacheHitsAndSpecialNoFetch": true,
|
||||
"unknownCoordinatesPreserved": true,
|
||||
"success": true
|
||||
},
|
||||
"bounds": [
|
||||
"Unknown country plus numeric0/0 observed directly from RIPE and treated conservatively as unknown location; this policy is based on live evidence, not a documented guarantee for all providers",
|
||||
"Coordinates accept finite numeric latitude[-90,90]/longitude[-180,180]; missing/partial/empty/string/boolean/out-of-range values give null pair",
|
||||
"Independent legitimate zero latitude/longitude and explicit known-country0/0 retained; ASN/country fallback does not establish coordinates",
|
||||
"Existing persisted entries whose raw geolocation provenance was already lost are not rewritten; fresh lookups corrected, old cache follows existing TTL",
|
||||
"No schema/UI/theme/device/password changes; working database fixtures untouched; no real GeoLite2 licensed file acceptance or physical location accuracy guarantee"
|
||||
],
|
||||
"references": [
|
||||
"https://stat.ripe.net/docs/data-api/api-endpoints/maxmind-geo-lite"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"date": "2026-10-11",
|
||||
"block": "12.5.143",
|
||||
"runtime": {
|
||||
"backend": "ux-geo143",
|
||||
"frontend": "ux-traffic141"
|
||||
},
|
||||
"checks": {
|
||||
"readOnlyFrontendUnchanged": true,
|
||||
"backendHealthy": true,
|
||||
"backendProductionBuildPassed": true
|
||||
},
|
||||
"cases": [
|
||||
{
|
||||
"width": 1440,
|
||||
"httpStatus": 200,
|
||||
"api": [
|
||||
{
|
||||
"path": "/api/traffic/bound-interfaces",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/users",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1/live",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1/interfaces",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1",
|
||||
"status": 200
|
||||
}
|
||||
],
|
||||
"pageErrors": [],
|
||||
"noOverflow": true
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"httpStatus": 200,
|
||||
"api": [
|
||||
{
|
||||
"path": "/api/traffic/bound-interfaces",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/users",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1/live",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"path": "/api/traffic/servers/1/interfaces",
|
||||
"status": 200
|
||||
}
|
||||
],
|
||||
"pageErrors": [],
|
||||
"noOverflow": true
|
||||
}
|
||||
],
|
||||
"bounds": [
|
||||
"Read-only initial loading with real current lab catalog; no full NetFlow ingestion or throughput claim",
|
||||
"Catalog failure and pending loading checked by controlled E2E; numeric live server details/interfaces/SSE enabled only after confirmed catalog ownership",
|
||||
"Interface filter remains selected on range changes; backend source switch invalidates prior catalog ownership"
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user