Commit Graph

35 Commits

Author SHA1 Message Date
yusing
1e090ffa0a feat(metrics): enhance Entries structure with historical data validation and JSON serialization
- Added addWithTime method to allow adding entries with specific timestamps.
- Introduced validateInterval and fixInterval methods for interval validation and correction.
- Implemented GetJSON method for serializing entries to JSON format.
- Added unit tests for GetJSON functionality to ensure correct output for both full and partial entries.
- Updated Poller to validate and fix intervals after loading data from JSON.
2025-09-04 06:38:07 +08:00
yusing
1617a4d54f refactor(metrics): update uptime metrics structure and calculations
- Changed Latency type from int64 to int32 in Status struct.
- Updated RouteStatuses and RouteAggregate to use slices of Status instead of pointers.
- Modified aggregateStatuses and calculateInfo functions to accommodate new types.
- Enhanced RouteAggregate with additional fields: IsDocker and CurrentStatus.
- Improved sorting logic for route statuses and added handling for excluded routes.
2025-09-04 06:37:24 +08:00
yusing
cc00859963 refactor(metrics): optimize JSON marshaling in SystemInfo and Aggregated structures for improved performance and memory management 2025-09-04 06:25:07 +08:00
yusing
755cbd7aec refactor(metrics): remove pointers from type parameter T to avoid unnecessary indirection 2025-09-04 06:19:40 +08:00
yusing
b051987a1c refactor: apply renamed NewBytesPool with GetBytesPool 2025-09-02 22:50:57 +08:00
yusing
11af9d107a refactor(concurrency): replaced manual WaitGroup management with new wg.Go() and removed redundant code. 2025-08-16 23:14:40 +08:00
yusing
7a9b8b3fb9 fix(api): corrected json marshaling for HealthInfo 2025-08-16 23:05:29 +08:00
yusing
90efa36193 refactor(api): better type safety, split homepage override apis, fixed favicon api docs 2025-08-16 19:57:14 +08:00
yusing
35a3e3fef6 refactor(api): restructured API for type safety, maintainability and docs generation
- These changes makes the API incombatible with previous versions
- Added new types for error handling, success responses, and health checks.
- Updated health check logic to utilize the new types for better clarity and structure.
- Refactored existing handlers to improve response consistency and error handling.
- Updated Makefile to include a new target for generating API types from Swagger.
- Updated "new agent" API to respond an encrypted cert pair
2025-08-16 13:04:05 +08:00
yusing
a90d2b90d1 fix(systeminfo): safer time interval calculations and fix divided by zero crash 2025-06-07 19:42:53 +08:00
yusing
216c03c5ff fix(task): revert to context based approach and fix tasks stuck, improve error handling 2025-05-26 00:32:59 +08:00
yusing
c1221e61d4 refactor: improve task management with xsync for concurrent access and enhance callback and subtasks handling as well as memory allocation 2025-05-25 15:01:44 +08:00
yusing
5b7c392297 refactor: code refactor and improved context and error handling 2025-05-24 10:02:24 +08:00
yusing
63c4bdc73d refactor: remove the use of logging module in most code 2025-05-23 23:28:33 +08:00
yusing
fc8592ab45 fix(systeminfo): divide by zero on disk I/O speed calculation 2025-05-22 22:41:39 +08:00
yusing
1f50ee7f2f tweak: replace coder/websocket with gorilla/websocket 2025-05-19 23:15:11 +08:00
yusing
2e68baa93e tweak: optimize memory allocation and increase throughput 2025-05-16 07:15:45 +08:00
yusing
a162371ec5 feat: parallelize system info collection and refactor code 2025-05-14 21:38:28 +08:00
yusing
4df31263b5 fix(sensor): ignore "no data available" error 2025-05-05 00:33:43 +08:00
yusing
91302ceed7 feat: simplify and optimize system info 2025-05-02 10:31:04 +08:00
yusing
e4be403bef fix(agent): reduce the size of agent binary by modules separation 2025-04-26 05:22:40 +08:00
yusing
3947152336 fix: uptime metrics 2025-04-25 11:26:24 +08:00
yusing
080bbc18eb chore: completely drop prometheus support 2025-04-24 20:02:07 +08:00
yusing
663a107c06 merge: main branch 2025-04-24 15:02:31 +08:00
yusing
1c001ed9df refactor: clean up logger and metric initialization flow 2025-03-29 02:59:40 +08:00
yusing
366c89164f chore: remove prometheus router metrics and related initialization code 2025-03-29 02:59:40 +08:00
yusing
232f720e77 refactor: use stretchr/testify, replace ExpectBytesEqual and ExpectDeepEqual with ExpectEqual in tests 2025-03-28 08:45:06 +08:00
yusing
574056a7e3 metrics: metric utils 2025-03-28 07:47:58 +08:00
yusing
827a27911c metrics: implement uptime and system metrics 2025-03-28 07:39:22 +08:00
yusing
34858a1ba0 fix prometheus metrics gone after route changes 2024-12-18 00:54:04 +08:00
yusing
b162dcbfbe updated incorrect metric help message 2024-11-13 04:46:31 +08:00
yusing
6194bac4c4 metric unregistration on route removal, fixed multi-ips as visitor label detected from x headers 2024-11-10 06:47:59 +08:00
yusing
f97e3f65fe go version and deps update, fixed middlewares and metrics
- fixed "API JWT secret empty" warning output format
- fixed metrics initialized when it should not
- fixed middlewares.modifyRequest Host header not working properly
2024-11-08 06:14:08 +08:00
yusing
5214ae1760 uptime metrics 2024-11-07 11:44:01 +08:00
yusing
6712e9b109 initial prometheus metrics support, simplfied some code 2024-11-06 12:24:12 +08:00