| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/ |
|
| | |
|
| |
|
|
|
| |
- Feature: Writes a `gc.log` with settings and detailed result after each GC execution (version 2 only)
- Break out file name rotate to allow access for gclog
- CompactBinaryToJson(MemoryView Data, StringBuilderBase& InBuilder)
|
| |
|
|
|
|
|
|
|
|
| |
this change just cleans up dependency declarations in xmake.lua files, discovered while exploring a more to xrepo which catches dependency problems since it will not just place all includes in a single directory, unlike vcpkg.
* removed spurious asio dependency from zenserver-test
* removed rocksdb reference
* add missing asio package dependency
* removed catch2 reference (no longer available)
* added explicit cpr reference
* made some zencore package dependencies public (this is necessary because some public zencore headers pull in package headers. If you use a more strict package manager than vcpkg then you get compilation errors whenever these includes are pulled in unless you declare the dependency explicitly)
|
| |
|
| |
VS 17.7.6 triggers some new compilation errors with certain versions of fmt::make_format_args. This should fix those errors. I don't fully understand why this is necessary, sadly my c++-fu is not strong enough.
|
| | |
|
| | |
|
| |
|
|
| |
(#528)
|
| |
|
|
| |
* don't touch non-locked data when creating manifest
* safety assert for test dir
|
| |
|
| |
reduces memory footprint of cache index by 10% or so by limiting the maximum number of entries in a bucket to 2^32 (was 2^64)
|
| | |
|
| |
|
|
| |
* New option for zenserver - `--http-forceloopback` which forces opening of the server http server using loopback (local) connection (UE-199776)
* add fallback to local connection for asio if we get access denied on public port
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
| |
* Don't try to close NewBlockFile if it hasn't been created
|
| |
|
|
|
|
|
| |
- Improvement: Use GC reserve when writing index/manifest for a disk cache bucket when disk is low when available
- Improvement: Demote errors to warning for issues that are not critical and we handle gracefully
- Improvement: Treat more out of memory errors from windows as Out Of Memory errors
Fixed wrong sizeof() statement for compactcas index (luckily the two structs are of same size)
|
| |
|
| |
trims 40% off the (Windows) executable size
|
| |
|
| |
with this change, any sponsor is registered synchronously at startup, instead of one second after.
|
| | |
|
| | |
|
| |
|
|
|
| |
this is a header-only library which mostly contains definitions to support different platforms and compilers.
It is part of the zen codebase but is intended to be consumable separately to zenbase etc to support standalone transport plug-ins and similar.
|
| |
|
|
| |
* bump xmake CI version to 2.8.2
* show test times in log
|
| |
|
|
|
|
|
|
|
| |
this change aims to hide logging internals from client code, in order to make it easier to extend and take more control over the logging process in the future.
As a bonus side effect, the generated code is much tighter (net delta around 2.5% on the resulting executable which includes lots of thirdparty code) and should take less time to compile and link.
Client usage via macros is pretty much unchanged. The main exposure client code had to spdlog internals before was the use of custom loggers per subsystem, where it would be common to have `spdlog::logger` references to keep a reference to a logger within a class. This is now replaced by `zen::LoggerRef` which currently simply encapsulates an actual `spdlog::logger` instance, but this is intended to be an implementation detail which will change in the future.
The way the change works is that we now handle any formatting of log messages in the zencore logging subsystem instead of relying on `spdlog` to manage this. We use the `fmt` library to do the formatting which means the client usage is identical to using `spdlog`. The formatted message is then forwarded onto any sinks etc which are still implememted via `spdlog`.
|
| |
|
|
|
|
|
|
|
|
| |
* set MaxBlockCount at init
* properly calculate total size
* basic blockstore compact blocks test
* correct detection of block swap
* Use one implementation for CreateRandomBlob
* reduce some data sets to increase speed of tests
* reduce test time
* rename BlockStoreCompactState::AddBlock -> BlockStoreCompactState::IncludeBlock
|
| |
|
|
| |
* separate statsd interfaces so they can be accessible to zenstore
* statsd for cas
|
| |
|
|
| |
this made the file log emit relative timing instead of an absolute timestamp prefix
|
| |
|
|
|
|
|
| |
* reduce memory footprint for disk cache separate dense arrays for rawhash+rawsize and memcache buffer
* don't write RawHash/RawSize for buckets with no such metadata
* helper functions
* make index into metadata and cached payload type safe
* helper functions for memcached
|
| |
|
|
|
| |
data (#510)
* zen copy-state command to copy a zenserver data directory without the bulk data
|
| |
|
|
| |
* Multithread init and flush of cache bucket
* tweaked threading cound for bucket discovery, disklayer flush and gc v2
|
| | |
|
| |
|
|
|
| |
- Feature: New parameter for endpoint `admin/gc` (GET) `details=true` which gives details stats on GC operation when using GC V2
- Feature: New options for zen command `gc-status`
- `--details` that enables the detailed output from the last GC operation when using GC V2
|
| | |
|
| |
|
| |
- Feature: New garbage collection implementation, still in evaluation mode. Enabled by `--gc-v2` command line option
|
| | |
|
| | |
|
| |
|
|
|
| |
this change adds some includes to files which "inherit" includes from elsewhere
this was exposed on another branch when removing some heavy dependencies from central headers
|
| | |
|
| | |
|
| |
|
|
| |
exclusive lock (#502)
|
| |
|
|
| |
actually an error log (#501)
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
zenutil and zenserver both contain very similar logging setup code and this change aims to make them have most code in common.
* fullformatter/jsonformatter/RotatingFileSink are moved into dedicated header files in zenutil
* zenserver `InitializeLogging`/`ShutdownLogging` are renamed `InitializeServerLogging`/`InitializeServerLogging`
* these now call into the common zenutil `BeginInitializeLogging`/`FinishInitializeLogging` in addition to setting up server custom logging
* `std::filesystem::path` is now logged after stripping any `\\\\?\\` prefix for readability
|
| |
|
|
|
| |
added support for reporting metrics via statsd style UDP messaging, which is supported by many monitoring solution providers
this change adds reporting only of three cache related metrics (hit/miss/put) but this should be extended to include more metrics after additional evaluation
|
| |
|
| |
* New rotating file logger that keeps on running regardless of errors
|
| | |
|
| |
|
|
| |
- Feature: Added `--cache-memlayer-sizethreshold` option to zenserver to control at which size cache entries get cached in memory
- Changed: Merged cache memory layer with cache disk layer to reduce memory and cpu overhead
|