aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Memory tracking improvements (#262)Stefan Boberg2024-12-114-1/+21
| | | | | | | | | | * added LLM tag to properly tag RPC allocations * annotated some more httpsys functions with memory tags * only emit memory scope events if the active tag is different from the new tag
* | reduce oplog job name (#261)Dan Engelbrecht2024-12-112-2/+3
| | | | | | * reduce length of oplog import/export job name
* | improved payload validation in HttpClient (#259)Dan Engelbrecht2024-12-102-1259/+1510
| | | | | | | | | | * improved payload validation in HttpClient * separate error messages for FromCompressed and Decompress * refactor so we can do retry if decompression of block fails
* | auth fixes (#260)Dan Engelbrecht2024-12-104-32/+45
| | | | | | | | * fix so we can replace an openid provider that was read from disk file * fix OidcClient lifetime issues in authmg
* | 5.5.16-pre0v5.5.16-pre0Dan Engelbrecht2024-12-051-1/+1
| |
* | global open process cache for projectstore (#257)Dan Engelbrecht2024-12-056-31/+64
| | | | | | | | * move openprocess cache to central location * enable openprocesscache in projectstore so "getchunks" can send filehandles when requested
* | projectstore getchunks rpc with modtag (#244)Dan Engelbrecht2024-12-0512-233/+1908
| | | | | | Feature: Project store "getchunks" rpc call /prj/{project}/oplog/{log}/rpc extended to accept both CAS (RawHash) and Id (Oid) identifiers as well as partial ranges
* | Unity build fixes (#253)Stefan Boberg2024-12-058-173/+80
| | | | | | some fixes to make everything build using unity build mode. Mostly moved code from anonymous namespaces into local impl namespace to avoid ambiguity in name resolution.
* | enable LTO / optimize for speed (#256)Stefan Boberg2024-12-042-1/+7
| | | | | | | | | | * changed so release build uses lto and optimizes for speed on Mac and Windows * Linux does not currently support LTO due to toolchain limitations
* | changelogDan Engelbrecht2024-12-031-1/+3
| |
* | don't force openssl to version 3.0.8 (#252)Stefan Boberg2024-12-031-3/+1
| | | | | | should fix build issues caused by curl pulling in a different version
* | ODR fixStefan Boberg2024-12-031-3/+3
| |
* | ODR violation fixStefan Boberg2024-12-031-2/+2
| |
* | 5.5.15v5.5.15Dan Engelbrecht2024-12-021-1/+1
| |
* | reduce memory churn (#248)Stefan Boberg2024-12-025-11/+23
| | | | | | | | | | * eliminated allocation in SetCurrentThreadName * reduced memory allocator activity in cache RPC response building * reduced allocations in compact binary building
* | validate that root path exists for workspace before adding it (#250)Dan Engelbrecht2024-12-022-0/+6
| |
* | 5.5.15-pre1v5.5.15-pre1Dan Engelbrecht2024-12-021-1/+1
| |
* | fix time regression on CI - iteratechunks block size (#249)Dan Engelbrecht2024-12-023-12/+14
| | | | | | | | * don't allow compact in time critical oplog calls * bump small chunk size limit when doing iteratechunks
* | added support for dynamic LLM tags (#245)Stefan Boberg2024-12-0227-34/+449
| | | | | | | | | | * added FLLMTag which can be used to register memory tags outside of core * changed `UE_MEMSCOPE` -> `ZEN_MEMSCOPE` for consistency * instrumented some subsystems with dynamic tags
* | 5.5.15-pre0v5.5.15-pre0Dan Engelbrecht2024-11-281-1/+1
| |
* | make sure we don't throw exception from worker thread (#247)Dan Engelbrecht2024-11-285-339/+448
| | | | | | | | | | | | * Make sure we don't throw exception from worker thread * secure async project flush * secure workspaces * spelling
* | fix oplog index path reading error (#246)Dan Engelbrecht2024-11-282-30/+42
| | | | | | * when reading paths for oplog index, make sure we don't point our string view to potentially stale memory
* | Dashboard CSS fixes and archival of a partial treemap view (#242)Martin Ridgers2024-11-284-6/+194
| | | | | | | | | | | | | | | | | | | | | | * Input boxes' text was unreadable when using the dark theme * Change from margins to padding top/bottom - easier to reason about vertical styling. * A treemap. Not used anywhere and not finished. Submitting so it isn't lost * Prevent tables' first content columns from collapsing * Dashboardk .zip archive update
* | set content type correctly for getchunkrange (#241)Dan Engelbrecht2024-11-282-3/+6
| |
* | Fixed release mirror on new release (#243)Joakim Lindqvist2024-11-282-6/+6
| | | | | | | | | | By removing the minimal version we set (as this is exclusive meaning it would not replicate the current release). As such we cant guarantee that the replication takes the current release so we replicate a few releases. Also fixed the display name of the step when manually running the release mirroring.
* | 5.5.14v5.5.14Dan Engelbrecht2024-11-271-1/+1
| |
* | 5.5.14-pre6v5.5.14-pre6Dan Engelbrecht2024-11-271-1/+1
| |
* | add validation of payload responses in http client (#240)Dan Engelbrecht2024-11-272-220/+294
| | | | | | if response payload does not validate properly do a retry if applicable
* | 5.5.14-pre5v5.5.14-pre5Dan Engelbrecht2024-11-271-1/+1
| |
* | use plain sorted array instead of map of vectors (#237)Dan Engelbrecht2024-11-272-22/+33
| | | | | | | | | | * use plain sorted array instead of map of vectors * reserve vectors up front = 5% perf increase * don't do batch read of chunks if we have a single chunk -> 1% perf gain
* | 5.5.14-pre4v5.5.14-pre4Dan Engelbrecht2024-11-271-1/+1
| |
* | add missing shard lock in filecas compact (#239)Dan Engelbrecht2024-11-272-1/+8
| | | | | | | | * add missing shardlock during compact in filecas * add warning log when filecas fails to open a file it expects to be present
* | 5.5.14-pre3v5.5.14-pre3Dan Engelbrecht2024-11-261-1/+1
| |
* | skip rawsize/size in getchunksinfo if chunk is missing (#238)Dan Engelbrecht2024-11-261-2/+2
| |
* | 5.5.14-pre2v5.5.14-pre2Dan Engelbrecht2024-11-261-1/+1
| |
* | Flush CPU scope trace buffers when scope depth reaches zero (#235)Martin Ridgers2024-11-261-1/+4
| |
* | Dashboard: display package data sizes in oplog entry and tree views. (#232)Martin Ridgers2024-11-269-42/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Wrong divisor for friendly giga-values * We want Explorer style for kilo/kibi units; round up * var -> const - zero idea if this matters * Include sum of an entry's package data sizes in index * Method to enurate all properties of a loaded oplog index * Include bulkdata size in an oplog index * Found a space that was missing * Show package data sizes when viewing an oplog entry * Navigating a component tree would error out at the end of the chain * Parameterise friendly rounding * Added size and rawsize columns to oplog tree view * Sort of parameterised indexer's worker count and page size * Right-align size columns on entry view page * Updated frontend .zip archive * A changelog update
* | 5.5.14-pre1v5.5.14-pre1Dan Engelbrecht2024-11-261-1/+1
| |
* | snapshot crash (#234)Dan Engelbrecht2024-11-253-3/+102
| | | | | | | | * snapshot test * use proper IoBuffer constructor to take handle ownership
* | 5.5.14-pre0v5.5.14-pre0Dan Engelbrecht2024-11-251-1/+1
| |
* | fix oplog snapshot deadlock (#233)Dan Engelbrecht2024-11-252-31/+59
| | | | | | | | * store inlined chunk as temp files and store to Cid after oplog iteration is complete and ops updated * make sure we can get to the payload when doing `prep` for new ops
* | /chunkinfo /files response size and rawsize size consistency (#230)Dan Engelbrecht2024-11-252-39/+56
| | | | | | * don't provide size if compressed buffer validation fails
* | caller controls threshold for bulk-loading chunks in IterateChunks (#222)Dan Engelbrecht2024-11-2513-30/+53
| | | | | | | | | | | | * Allow caller to control threshold for bulk-loading chunks in IterateChunks * use smaller batch chunk reading for /fileinfos and /chunkinfos as we do not intend to read the payload * use smaller batch read buffer when just querying for size of attachments
* | stronger validation of payload existance (#229)Dan Engelbrecht2024-11-257-101/+201
| | | | | | | | | | | | - Don't add RawSize and Size in ProjectStore::GetProjectFiles response if we can't get the payload - Use validation of payload size/existance in all chunk fetch operations in file cas - In project store oplog validate, make sure we can reach all the payloads - Add threading to oplog validate request
* | add missing projectstore expire time in gc log (#227)Dan Engelbrecht2024-11-251-0/+1
| |
* | split zencore/memory.h -> memoryview.h, memcmp.h (#228)Stefan Boberg2024-11-2522-55/+69
| | | | | | | | | | | | | | minor clean-up `zencore/memory.h` used to contain a variety of things including `Malloc` support along with `MemoryView` etc since the memory allocator stuff moved into `zencore/memory/memory.h` there was basically only `MemoryView` and `MemCmp` in there which seemed better to split out into separate headers to avoid overloading `memory.h`
* | Insights-compatible memory tracking (#214)Stefan Boberg2024-11-2566-169/+9230
| | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces support for tracing of memory allocation activity. The code is ported from UE5, and Unreal Insights can be used to analyze the output. This is currently only fully supported on Windows, but will be extended to Mac/Linux in the near future. To activate full memory tracking, pass `--trace=memory` on the commandline alongside `--tracehost=<ip>` or `-tracefile=<path>`. For more control over how much detail is traced you can instead pass some combination of `callstack`, `memtag`, `memalloc` instead. In practice, `--trace=memory` is an alias for `--trace=callstack,memtag,memalloc`). For convenience we also support `--trace=memory_light` which omits call stacks. This change also introduces multiple memory allocators, which may be selected via command-line option `--malloc=<allocator>`: * `mimalloc` - mimalloc (default, same as before) * `rpmalloc` - rpmalloc is another high performance allocator for multithreaded applications which may be a better option than mimalloc (to be evaluated). Due to toolchain limitations this is currently only supported on Windows. * `stomp` - an allocator intended to be used during development/debugging to help track down memory issues such as use-after-free or out-of-bounds access. Currently only supported on Windows. * `ansi` - fallback to default system allocator
* | 5.5.13v5.5.13Dan Engelbrecht2024-11-221-1/+1
| |
* | 5.5.13-pre0v5.5.13-pre0Dan Engelbrecht2024-11-221-1/+1
| |
* | fix inconsistencies in filecas due to failing to remove payload file during ↵Dan Engelbrecht2024-11-225-429/+439
| | | | | | | | | | | | | | | | GC (#224) make sure we rewrite filecas entries if chunk size changes (due to compression changes) hardening of move/write files in filecas if we encounter a filecas entry with mismatching size (due to pre-existing bug) we validate the file and update the index if we find a bad filecas file on disk we now attempt to remove it