30 Commits

Author SHA1 Message Date
6c98d03ae7 fix: trim query parameters from URL path in ServeHTTP to ensure cache key correctness
All checks were successful
PR Check / check-and-test (pull_request) Successful in 16s
2025-07-13 05:42:07 -05:00
539f14e8ec refactor: moved the GC stuff around and corrected all tests
All checks were successful
PR Check / check-and-test (pull_request) Successful in 30s
2025-07-13 04:20:12 -05:00
1673e9554a Refactor VFS implementation to use Create and Open methods
Some checks failed
PR Check / check-and-test (pull_request) Failing after 11m4s
- Updated disk_test.go to replace Set and Get with Create and Open methods for better clarity and functionality.
- Modified fileinfo.go to include package comment.
- Refactored gc.go to streamline garbage collection handling and removed unused statistics.
- Updated gc_test.go to comment out large random tests for future implementation.
- Enhanced memory.go to implement LRU caching and metrics for memory usage.
- Updated memory_test.go to replace Set and Get with Create and Open methods.
- Removed sync.go as it was redundant and not utilized.
- Updated vfs.go to reflect changes in the VFS interface, replacing Set and Get with Create and Open.
- Added package comments to vfserror.go for consistency.
2025-07-13 03:17:22 -05:00
b83836f914 fix: update log message for server startup and improve request handling in ServeHTTP
All checks were successful
PR Check / check-and-test (pull_request) Successful in 1m6s
2025-07-12 09:48:06 -05:00
b4d2b1305e fix: add logging for unsupported methods and error handling in ServeHTTP
All checks were successful
PR Check / check-and-test (pull_request) Successful in 1m6s
2025-07-12 08:50:34 -05:00
f378d0e81f feat: update dependencies and improve caching mechanism
Some checks failed
PR Check / check-and-test (pull_request) Failing after 2m11s
- Added Prometheus client library for metrics collection.
- Refactored garbage collection strategy from random deletion to LRU (Least Recently Used) deletion.
- Introduced per-key locking in cache to prevent race conditions.
- Enhanced logging with structured log messages for cache hits and misses.
- Implemented a retry mechanism for upstream requests with exponential backoff.
- Updated Go modules and indirect dependencies for better compatibility and performance.
- Removed unused sync filesystem implementation.
- Added version initialization to ensure a default version string.
2025-07-12 06:43:00 -05:00
8c1bb695b8 fix: enhance logging to handle empty upstream values
All checks were successful
Release Tag / release (push) Successful in 10s
2025-01-23 11:31:28 -06:00
70786da8c6 fix: improve logging readability and remove configuration messages
All checks were successful
Release Tag / release (push) Successful in 10s
2025-01-23 11:25:18 -06:00
e24af47697 feat: add upstream and verbose flags to command line interface
All checks were successful
Release Tag / release (push) Successful in 13s
feat: add upstream support allowing to chain cache servers if needed
fix: tweaked garbage collection to be better
2025-01-23 11:14:39 -06:00
6fe80c82ad fix: reduce cache hits averaging size for improved performance
All checks were successful
Release Tag / release (push) Successful in 9s
2025-01-22 20:59:24 -06:00
4a69c4ba66 fix: add empty line in logging for improved readability
All checks were successful
Release Tag / release (push) Successful in 9s
2025-01-22 20:51:32 -06:00
2d0fe6571d feat: enhance garbage collection logging with total GC time and improved stat formatting
All checks were successful
Release Tag / release (push) Successful in 9s
2025-01-22 20:48:05 -06:00
550948951e feat: implement enhanced garbage collection statistics logging
All checks were successful
Release Tag / release (push) Successful in 12s
2025-01-22 20:27:12 -06:00
4a23eecae0 fix: reduce log interval to 1 second for more frequent statistics updates
All checks were successful
Release Tag / release (push) Successful in 28s
2025-01-22 19:37:30 -06:00
fed9bbe218 fix: go back to the old averaging
All checks were successful
Release Tag / release (push) Successful in 12s
2025-01-22 19:35:17 -06:00
7401c040dc feat: add configurations for memory only, disk only, and memory & disk modes
All checks were successful
Release Tag / release (push) Successful in 14s
2025-01-22 19:28:45 -06:00
ca069a20ee fix: track cache hits and misses in average cache state 2025-01-22 18:43:07 -06:00
3e8a92b865 fix: log memory statistics only if memory is enabled
All checks were successful
Release Tag / release (push) Successful in 9s
2025-01-22 18:29:19 -06:00
b7652ed7cc fix: initialize average cache state with cleared values
All checks were successful
Release Tag / release (push) Successful in 9s
2025-01-22 18:25:16 -06:00
08b8d0ce3d fix: enhance logging for memory and disk statistics in cache 2025-01-22 18:23:53 -06:00
53847db0e9 fix: improve cache state clearing and average calculation logic 2025-01-22 18:23:47 -06:00
6b0a556690 feat: include application version in logging output 2025-01-22 17:49:58 -06:00
d49c4e1799 fix: increase hits buffer size in AvgCacheState initialization 2025-01-22 17:49:58 -06:00
0ca2a9eeed feat: integrate zerolog for structured logging and replace fmt with logger 2025-01-22 17:49:58 -06:00
0d8e8acf3a refactor: replace log statements with fmt for console output 2025-01-22 17:49:58 -06:00
837960e41b fix: initialize the avgcachestatus 2025-01-22 17:49:58 -06:00
86754b21aa refactor: comment out logging for request duration in ServeHTTP method 2025-01-22 17:49:58 -06:00
5682c1e9c8 feat: add AvgCacheState to track average cache hits and misses 2025-01-22 17:49:58 -06:00
bc7744b5a7 fix: handle error from http.ListenAndServe in SteamCache 2025-01-22 17:49:58 -06:00
f54150c3d2 initial commit 2025-01-22 17:49:22 -06:00