* Fine tune cache download
* Allow operators to specify the max number of concurrent markers. The
software generates possible markers from ledger diffs, as before, but
only processes a specified number at one time, which caps database
reads and distributes the load more evenly over the entire download.
* Allow operators to specify the page fetch size during the cache
download, which is the number of ledger objects to fetch per marker at
one time.
* Refactor full ledger dump in test.py
Fixes an issue that occurred when rebasing the previous log rotation PR.
Updated config to allow log rotation size, log rotation interval, and log directory max size specification
Updated file size base unit to Mb, added documentation for logging
The file size base unit is now in Mb, with detailed description of logging configurations in readme.md
Updated CMake install script to correctly set path in production mode
Co-authored-by: Brandon Kong <bkong@ripple.com>
* NFTs are iterated in reverse order, starting from the max page,
working towards the min page.
* Iteration always continues to page end
Signed-off-by: CJ Cobb <ccobb@ripple.com>
* Keep track of number of requests currently being processed
* Reject new requests when number of in flight requests exceeds a
configurable limit
* Track time spent between request arrival and start of request
processing
Signed-off-by: CJ Cobb <ccobb@ripple.com>
Co-authored-by: natenichols <natenichols@cox.net>
- Added log rotation feature, currently set to rotate for every 12h or if log file size exceeds 2 Gb. If the log directory exceeds 50 Gb, old log files will be deleted.
- Added config options for toggling console and file logging.
- Changed config options for log file storage, now writing log files to a directory instead of a single file.
- Added config options to allow specifying the log rotation size, log rotation interval, and log directory max size.
- Added detailed documentation in README.md regarding how to configure log rotation.
- Updated CMake install script to correctly set path in production mode
Co-authored-by: Brandon Kong <bkong@ripple.com>