1
0
Fork 1
mirror of https://github.com/thatmattlove/hyperglass.git synced 2026-04-17 21:38:27 +00:00
Commit graph

44 commits

Author SHA1 Message Date
Wilhelm Schonfeldt
d5a57608af
refactor: remove unused IP enrichment admin API endpoints
- Remove ip_enrichment_status and ip_enrichment_refresh endpoints from API routes
- Remove unused imports and handlers from API initialization
- Background refresh functionality in query endpoint remains intact
- Cleanup dead code that had no UI or client integration
2025-10-07 21:29:19 +02:00
Wilhelm Schonfeldt
9db9849a59
feat(structured): release structured feature set (squash merge)
Summary:
- Add structured traceroute support with comprehensive IP enrichment (ASN/org/RDNS).
- Improve MikroTik traceroute cleaning and aggregation; collapse repeated tables into a single representative table.
- Enhance traceroute logging for visibility and add traceroute-specific cleaning helpers.
- Add/adjust IP enrichment plugins and BGP/traceroute enrichment integrations.
- UI updates for traceroute output and path visualization; update docs and configuration for structured output.

This commit squashes changes from 'structured-dev' into a single release commit.
2025-09-30 16:46:01 +02:00
Wilhelm Schonfeldt
0398966062
feat: Add structured traceroute support with comprehensive IP enrichment
MAJOR NEW ARCHITECTURE - STRUCTURED TRACEROUTE:
- Complete rewrite of traceroute data processing with structured output
- Dedicated TracerouteResult and TracerouteHop data models
- Platform-specific parsers with unified output format
- Rich metadata including ASN, organization, country, and prefix information
- AS path visualization with organization names in React Flow charts

SUPPORTED PLATFORMS:
- TraceroutePluginMikrotik: Handles MikroTik's complex multi-table format
  * Progressive statistics parsing with deduplication
  * Timeout hop handling and continuation line processing
  * Loss percentage and RTT statistics extraction
- TraceroutePluginHuawei: Unix-style traceroute format parser
  * Standard hop_number ip_address rtt format support
  * Timeout hop detection with * notation
  * Automatic cleanup of excessive trailing timeouts

COMPREHENSIVE IP ENRICHMENT SYSTEM:
- Offline enrichment using BGP.tools bulk data (1.3M+ CIDR entries)
- PeeringDB integration for IXP detection and ASN organization data
- Ultra-fast pickle cache system with combined data files
- Integer-based bitwise IP matching for maximum performance
- Bulk ASN organization lookup capabilities
- Private/reserved IP handling with AS0 fallbacks
- Country code mapping from ASN database
- Graceful fallbacks for missing enrichment data

FRONTEND ENHANCEMENTS:
- New traceroute table components with consistent formatting
- Enhanced AS path visualization with organization names
- Improved copy-to-clipboard functionality with structured data
- Unified table styling across BGP and traceroute results
- Better error handling and loading states

CONCURRENT PROCESSING INFRASTRUCTURE:
- Thread executor implementation for blocking I/O operations
- Query deduplication system to prevent resource conflicts
- Non-blocking Redis cache operations using asyncio executors
- Event coordination for waiting requests
- Background cleanup for completed operations
- Prevents website hangs during long-running queries

PLUGIN ARCHITECTURE IMPROVEMENTS:
- Platform-aware plugin system with proper execution restrictions
- Enhanced MikroTik garbage output cleaning
- IP enrichment plugins for both BGP routes and traceroute
- Conditional plugin execution based on platform detection
- Proper async/sync plugin method handling

CRITICAL BUG FIXES:
- Fixed double AS prefix bug (ASAS123456 → AS123456)
- Resolved TracerouteHop avg_rtt field/property conflicts
- Corrected Huawei traceroute source field validation
- Fixed plugin platform restriction enforcement
- Eliminated blocking I/O causing UI freezes
- Proper timeout and empty response caching prevention
- Enhanced private IP range detection and handling

PERFORMANCE OPTIMIZATIONS:
- Pickle cache system reduces startup time from seconds to milliseconds
- Bulk processing for ASN organization lookups
- Simplified IXP detection using single PeeringDB API call
- Efficient CIDR network sorting and integer-based lookups
- Reduced external API calls by 90%+
- Optimized memory usage for large datasets

API & ROUTING ENHANCEMENTS:
- Enhanced API routes with proper error handling
- Improved middleware for concurrent request processing
- Better state management and event handling
- Enhanced task processing with thread pool execution

This represents a complete transformation of hyperglass traceroute capabilities,
moving from basic text output to rich, structured data with comprehensive
network intelligence and concurrent processing support.
2025-09-28 13:48:04 +02:00
Jason Hall
cf137bd7e8
format and lint 2025-06-14 21:44:20 -04:00
thatmattlove
d2f734ba1c logging overhaul 2024-04-01 23:42:07 -04:00
thatmattlove
d2e1486b5a initial migration to litestar 2024-03-26 23:59:42 -04:00
thatmattlove
77c0a31256 upgrade major dependencies 2024-03-16 23:17:54 -04:00
thatmattlove
8c8e4f8109 remove trailing slash requirement for /api/query 2024-02-27 23:02:40 -05:00
thatmattlove
fc3ba3a8be clean up unused parameters and start work on 2.0.0 docs 2022-12-12 18:52:39 -05:00
thatmattlove
37a14b125f remove custom static file directory 2021-12-08 11:35:42 -07:00
thatmattlove
7d5d64c0e2 Plugin/directive fixes 2021-09-21 07:54:16 -07:00
thatmattlove
c99f98a6f0 Complete global state implementation 2021-09-15 18:25:37 -07:00
thatmattlove
a2ee4b50fa Implement global state 2021-09-15 00:57:45 -07:00
thatmattlove
52ebf4663c Update code formatting - line length 2021-09-12 15:09:24 -07:00
thatmattlove
dc274992b8 Clean up API routes 2021-09-11 13:56:20 -07:00
thatmattlove
fb003f3248 Add GZIP support & swap Starlette classes for FastAPI classes 2021-09-11 13:10:05 -07:00
thatmattlove
99c7489441 Move UI Params into Pydantic model 2021-09-10 01:18:38 -07:00
thatmattlove
070a07d065 Implement client-side UI config fetching 2021-09-09 18:03:04 -07:00
thatmattlove
5ccfe50792 Complete directives implementation, refactor exceptions, deprecate VRFs, bump minimum Python version 2021-09-07 22:58:39 -07:00
checktheroads
042ce35672 increase default UI build timeout & add CLI option to override 2021-01-28 23:04:02 -07:00
checktheroads
69cb304b6d restructure location of models for cleaner importing/exporting 2020-10-05 12:09:17 -07:00
checktheroads
1128d1f902 update import syntax for new isort version 2020-09-28 14:55:09 -07:00
checktheroads
1cf082cc48 remove f-string logging 2020-09-28 12:37:44 -07:00
checktheroads
e3716784bc Refactor devices model 2020-07-30 01:30:01 -07:00
checktheroads
ab6fc116ca Minor improvements 2020-07-23 09:11:06 -07:00
checktheroads
24cb5ab9a7 add /api/info route, fix api docs logo 2020-07-17 01:06:19 -07:00
checktheroads
21c636a273 cleanup 2020-04-18 23:19:12 -07:00
checktheroads
d3e1189487 BGP Community Selection improvements 2020-04-18 11:34:23 -07:00
checktheroads
5f3c516f86 revamp logging 2020-04-14 10:24:20 -07:00
checktheroads
60abf2997f add gunicorn for process management 2020-04-13 01:06:03 -07:00
checktheroads
534047de36 use custom fork of sshtunnel; remove ujson 2020-04-12 02:10:09 -07:00
checktheroads
fe61a7e90f enable ssl certificate import for hyperglass-agent 2020-03-21 01:44:38 -07:00
checktheroads
2b9605d7dc support python 3.6 2020-02-16 00:52:51 -07:00
checktheroads
9e378bc1a6 move static assets to build directory on ui build 2020-02-14 22:34:38 -07:00
checktheroads
96df5469de detect & give user option to set app runtime directory 2020-02-14 16:30:40 -07:00
checktheroads
7ff8fa317d add API docs examples 2020-02-03 02:34:50 -07:00
checktheroads
0ca5bc0ff6 add docs via pydantic field schemas 2020-02-01 16:11:01 -10:00
checktheroads
af4a0b0ea7 add API endpoint docs 2020-02-01 12:50:12 -10:00
checktheroads
0d91c79af9 move models to api 2020-02-01 08:44:33 -10:00
checktheroads
0f749a5547 add informational API routes 2020-02-01 02:24:52 -10:00
checktheroads
9b9fd95061 flatten configuration model 2020-01-28 08:59:27 -07:00
checktheroads
162c54cc9d fix/improve error handling 2020-01-26 02:14:42 -07:00
checktheroads
6780c2fd87 fix startup/shutdown event handling 2020-01-21 20:03:47 -07:00
checktheroads
f3be12b82c migrate api to module 2020-01-21 17:27:57 -07:00