aboutsummaryrefslogtreecommitdiff
path: root/zen
Commit message (Collapse)AuthorAgeFilesLines
* moved source directories into `/src` (#264)Stefan Boberg2023-05-0232-5591/+0
| | | | | | * moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees
* fixed dashboard file serving bug (#255)Stefan Boberg2023-04-241-1/+1
| | | | | a recent change which introduced support for specifying accept: implicitly via the file extension in the URI caused fallout in the dashboard which would fail to serve any content because the extension was stripped from the RelativeUri accessor. This change fixes that by retaining a copy of the Uri string view which includes the suffix additionally, in order to test this change with both asio/http.sys paths I made the path used for all tests configurable in zenserver-test which involved pulling in a change from sb/proto which makes testing configuration a bit more flexible
* fix down command (#254)Dan Engelbrecht2023-04-242-6/+11
| | | | | * add option to zen down command to control port * use correct port for shutdown even when attaching to running server * changelog
* oplog and cache stats (#244)Dan Engelbrecht2023-04-215-1/+362
| | | | | | | | | | | | | | | | * basic oplog stats * add GetValueStats to cache store * RwLock::ExclusiveLockScope -> RwLock::SharedLockScope * add rawhash and attachment count to CacheValueStats * added cache-stats and project-stats commands * add cast to make Mac overload detection happy * fix accept type in cache-stats command * Add options to project-stats command * use resource paths for stats in project store * use resource paths for stats in cache * fix cache-info and project-info url discriminator * more control over details$ output * cleanup * changelog
* tweaks for enabling unity buildsStefan Boberg2023-04-191-0/+1
| | | | | | | | | | mostly changes to make sure anonymous namespaces don't clash and a change to avoid windows headers from leaking into other compilation units unity builds are not yet enabled by default, but can be enabled by uncommenting this line in the root `xmake.lua` ``` --add_rules("c++.unity_build") ```
* mergeStefan Boberg2023-04-042-32/+37
|\
| * minor: Namnspace -> namespaceStefan Boberg2023-03-301-2/+2
| |
| * zen: sorted commands to reduce potential for merge conflictsStefan Boberg2023-03-301-54/+37
| |
| * minor: FormatResponse -> FormatHttpResponseStefan Boberg2023-03-304-18/+18
| |
* | minor ZenCmdBase cleanupStefan Boberg2023-04-044-55/+35
|/ | | | | FormatResponse -> FormatHttpResponse GetReturnCode -> MapHttpToCommandReturnCode
* minor: spellingStefan Boberg2023-03-301-1/+1
|
* Fix alignment for zen command listingStefan Boberg2023-03-271-27/+27
|
* eliminated spurious cxxopts.hpp includeStefan Boberg2023-03-271-4/+1
|
* De/fix rpc replay to handle pid (#243)Dan Engelbrecht2023-03-212-55/+158
| | | | | | | * allow access to CbWriter::Save(MutableMemoryView Buffer) in CbObjectWriter to avoid extra memory allocation and copy * fix entry index counting in rpcreplay * adjust target pid in rpc requests for rpc replay * allow control in rpc-record-replay over how attachments are sent * changelog
* add `--showmethodstats` option for rpc replay to show method statistics (#233)Dan Engelbrecht2023-02-212-40/+103
| | | * add `--showmethodstats` option for rpc replay to show method statistics
* Enhanced rpc request recording (#229)Dan Engelbrecht2023-02-173-21/+344
| | | | | | | | | | | | | * rpc replay zen command * fix replay sessions for thread * recording start/stop as zen commands * move rpcrecording code to zenutil to remove code duplication * simplify recording http request threading * added more data logging to rpc replay * NotFound is an acceptable response for an rpc request * fix rpc replay command line parsing * rpc replay stats * Allow spawning of sub-process workers when replaying rpc recording * changelog
* Move knowledge of UE env variable from zenserver to zen command line tool (#227)Dan Engelbrecht2023-02-132-0/+37
| | | | * move knowledge of UE env variable from zenserver to zen command line tool * move env-fetching code to GetEnvVariable
* oplog upload/download (#214)Dan Engelbrecht2023-02-093-23/+566
| | | | | | | | | | | | - Feature: Zen server endpoint `prj/{project}/oplog/{log}/chunks` to post multiple attachments in one request. - Feature: Zen server endpoint `prj/{project}/oplog/{log}/save` to save an oplog container. Accepts `CbObject` containing a compressed oplog and attachment references organized in blocks. - Feature: Zen server endpoint `prj/{project}/oplog/{log}/load` to request an oplog container. Responds with an `CbObject` containing a compressed oplog and attachment references organized in blocks. - Feature: Zen server endpoint `{project}/oplog/{log}/rpc` to initiate an import to or export from an external location and other operations. Use either JSon or CbPackage as payload. - CbObject/JSon RPC format for `import` and `export` methods: - CbObject RPC format for `getchunks` method, returns CbPackage with the found chunks, if all chunks are found the number of attachments matches number of chunks requested. - Feature: Zen server `{project}/oplog/{log}/{hash}` now accepts `HttpVerb::kPost` as well as `HttpVerb::kGet`. - Feature: Zen command line tool `oplog-export` to export an oplog to an external target using the zenserver oplog export endpoint. - Feature: Zen command line tool `oplog-import` to import an oplog from an external source using the zenserver oplog import endpoint.
* remove legacy `export-project` and `import-project` (#222)Dan Engelbrecht2023-02-023-640/+0
|
* Add `project-create` and `oplog-create` to zen command line tool (#221)Dan Engelbrecht2023-02-024-3/+240
| | | * Add `project-create` and `oplog-create` to zen command line tool
* Clean up project store file structure (#218)Dan Engelbrecht2023-02-017-715/+655
| | | | * move project store to separate folder * moved import/export project commands into projectstore cmd files
* removed HttpLaunchService and related codeStefan Boberg2023-01-244-232/+6
| | | | this was used for testing but is no longer wanted in this form
* Added version information to server executable (#215)Stefan Boberg2023-01-242-0/+35
| | | | | This change adds some version and product information to the Windows executable, in order to make it easier for users to understand the purpose of the zenserver.exe process when they see it in Task Manager and on disk It also adds back the executable icon which was lost when we transitioned from the previous sln build process
* zen command line tool improvements (#212)Dan Engelbrecht2023-01-1329-98/+509
| | | | | | | | | | | | - Feature: zen command line tool `cache-info` to show cache, namespace or bucket info - Feature: zen command line tool `project-info` to show store, project or oplog info - Feature: zen command line tool `project-drop` to drop project or oplog - Feature: zen command line tool `gc` to trigger a GC run - Feature: zen command line tool `gc-info` to check status of GC - Improvement: zen command line tool now fails on any unrecognized arguments - Improvement: zen command line tool now displays extra help for all sub-commands - Improvement: host address can now be configured for zen command line tool `drop` command changelog
* Zen cmd fixes (#201)Dan Engelbrecht2022-12-0713-81/+108
| | | | | | | * updated drop command to support namespaces * fixed hash command error message * fix output of status (and top) command * Use ZEN_CONSOLE for output in zen commands * changelog
* optimizations (#200)Dan Engelbrecht2022-12-072-25/+7
| | | | | | | | | | | | | * Use direct file read and direct buffer allocation for small IoBuffer materalization * Reduce range of materialized data in CompositeBuffer reading CompressedBuffer header reading often only need a small part and not the whole file * reduce lock contention in IoBuffer::Materialize * Reduce parsing of compressed headers Validate header type at decompression * faster CreateDirectories - start from leaf going up and recurse back * optimized BufferHeader::IsValid * Add ValidateCompressedHeader to use when we don't need the actual compressed data Validate that we always get compressed data in CidStore::AddChunk * changelog
* add "version" command with "detailed" option (#192)Dan Engelbrecht2022-11-213-0/+103
| | | specify host url to query running service version, otherwise you get zen command version
* Add `import-project` and `export-project` (#183)Dan Engelbrecht2022-11-185-7/+737
| | | * Add `import-project` and `export-project` command line parsing
* move BasicFile to zenutil to remove zenstore dependency from zen command (#190)Dan Engelbrecht2022-11-171-1/+1
|
* Make cas storage an hidden implementation detail of CidStore (#130)v0.1.4-pre6v0.1.4-pre5Dan Engelbrecht2022-06-175-68/+81
| | | | | | | | | | | | | | | | | | - Bumped ZEN_SCHEMA_VERSION - CasStore no longer a public API, it is hidden behind CidStore - Moved cas.h from public header folder - CidStore no longer maps from Cid -> Cas, we store entries in Cas under RawHash - CasStore now decompresses data to validate content (matching against RawHash) - CasChunkSet renames to HashKeySet and put in separate header/cpp file - Disabled "Chunk" command for now as it relied on CAS being exposed as a service - Changed CAS http service to Cid http server - Moved "Run" command completely inside ZEN_WITH_EXEC_SERVICES define - Removed "cas.basic" test - Uncommented ".exec.basic" test and added return-skip at start of test - Moved ScrubContext to separate header file - Renamed CasGC to GcManager - Cleaned up configuration passing in cas store classes - Removed CAS stuff from GcContext and clarified naming in class - Remove migration code
* clang-format fixesStefan Boberg2022-06-101-1/+3
|
* extended zen print command to also handle CbPackage and CompressedBuffer ↵Stefan Boberg2022-06-101-9/+91
| | | | format payloads
* Merge from mainStefan Boberg2022-04-251-0/+2
|\
| * Add pre-commit config (#69)Joe Kirchoff2022-04-051-0/+2
| | | | | | | | | | | | | | * Add .pre-commit-config.yaml * format all using pre-commit clang-format hook * Add pre-commit to inject unreal header comment * Remove prepare_commit.bat & update CODING.md * Remove check-added-large-files, add headers before clang-format
* | Added option to use Catch2 framework for testsStefan Boberg2022-04-051-3/+2
|/
* clang-formatDan Engelbrecht2022-03-211-3/+3
|
* If open(O_CREAT) is used then a file mode must be givenMartin Ridgers2022-02-211-1/+1
|
* Explicitly set access permissions so we're not affected by process' umaskMartin Ridgers2022-02-211-1/+5
|
* Marked a few file descriptors to be closed on execute (POSIX)Martin Ridgers2022-02-211-1/+1
|
* clang-formatStefan Boberg2022-02-022-4/+5
|
* Fixed ZenServerEntry::*ListenPort compile errorsMartin Ridgers2022-01-271-2/+2
|
* Format fix.Per Larsson2022-01-223-6/+6
|
* Added copyright headers to xmake.lua scriptsMartin Ridgers2022-01-201-0/+2
|
* Fixed up compile errors if mimalloc use is disabledMartin Ridgers2022-01-141-1/+5
|
* Linker flags for zen target on MacMartin Ridgers2022-01-111-0/+7
|
* Fixed fmt::format() compile errorMartin Ridgers2022-01-111-1/+1
|
* Added an implementation of task_group::run() on POSIXMartin Ridgers2022-01-111-2/+9
|
* Converted use of _format UDL to fmt::formatMartin Ridgers2022-01-102-11/+5
|
* Added preprocessing config file and removed Visual Studio files.Per Larsson2021-12-152-210/+0
|
* Deleted file that mysteriously returned via a mergeMartin Ridgers2021-12-151-87/+0
|