aboutsummaryrefslogtreecommitdiff
path: root/src/zenhttp
Commit message (Collapse)AuthorAgeFilesLines
...
* added more context to http response error message (#430)Stefan Boberg2023-09-281-10/+77
| | | when a http.sys request response API call fails, we now include more information including metadata about the contents of the reponse (i.e memory/file references including file names/size and chunk offsets/size) to help track down some odd error conditions seen in production
* prefer to handle cache RPC requests synchronously (#428)Stefan Boberg2023-09-272-4/+27
| | | | | * only handle RPC requests in a worker thread if we have an upstream. we may as well handle the request inline on the http_io thread if we're only dealing with local data since the response times should be pretty consistent in that case * http.sys: don't create async worker thread pool until it's needed (typically only if we have an upstream)
* Add runtime status/control of logging (#419)Dan Engelbrecht2023-09-222-3/+3
| | | | | | | | | | | - Feature: New endpoint `/admin/logs` to query status of logging and log file locations and cache logging - `enablewritelog`=`true`/`false` parameter to control cache write logging - `enableaccesslog`=`true`/`false` parameter to control cache access logging - `loglevel` = `trace`/`debug`/`info`/`warning`/`error` - Feature: New zen command `logs` to query/control zen logging - No arguments gives status of logging and paths to log files - `--cache-write-log` `enable`/`disable` to control cache write logging - `--cache-access-log` `enable`/`disable` to control cache access logging - `--loglevel` `trace`/`debug`/`info`/`warning`/`error` to set debug level
* added name to http.sys request queue (#417)Stefan Boberg2023-09-221-1/+33
| | | | | | * added name to http.sys request queue * changed so that rejected requests are answered with a 403 response instead of just dropping the connection
* add more trace scopes (#362)Dan Engelbrecht2023-09-152-8/+23
| | | | | * more trace scopes * Make sure ReplayLogEntries uses the correct size for oplog buffer * changelog
* bugfix: http.sys async response handling race (#406)Stefan Boberg2023-09-151-1/+14
| | | | under heavy load, an async response could end up deleting the HTTP transaction object before the issuing call had completed
* http and httpsys config options (#401)Dan Engelbrecht2023-09-146-26/+45
| | | | * Added `--http-threads`, `--httpsys-async-work-threads`, `--httpsys-enable-request-logging` and `--httpsys-enable-async-response` command line options to zenserver * remove unused CreateHttpSysServer
* Make sure error logging or destructors don't throw exception when trying to ↵Dan Engelbrecht2023-09-121-14/+21
| | | | | get file name from handle (#393) - Bugfix: Make sure error logging or destructors don't throw exception when trying to get file name from handle
* add console logging to zen command (#389)Dan Engelbrecht2023-09-082-4/+18
| | | | properly set trace log level if IsVerbose add log category to http client
* Extend http client (#387)Dan Engelbrecht2023-09-083-93/+559
| | | * extend http client with configuration, headers, parameters and disk streaming upload/download
* stream oplog attachments from jupiter (#384)Dan Engelbrecht2023-09-061-1/+2
| | | | | | | | | | * stream large downloads from jupiter to temporary file * rework DeleteOnClose - top level marks file for delete and if lower level parts wants to keep it it clears that flag * changelog * log number of attachments to download * add delay on jupiter request failure when retrying * make sure we upload all attachments even if Needs are empty when ForceUpload is true release TempAttachment as soon as it is used * sort attachments so we get predictable blocks for the same oplog
* oplog mirror support (#367)Stefan Boberg2023-08-212-1/+24
| | | | feature: added oplog-mirror command. this can be invoked to export oplog contents to corresponding files
* Cache process handles for FormatPackageMessage (#360)Dan Engelbrecht2023-08-173-131/+146
|
* handle exception in asio header parsing (#348)Dan Engelbrecht2023-08-091-50/+57
| | | | * make sure we return an error code instead of throwing exception if header parsing fails * changelog
* various zenhttp fixes from sb/protoStefan Boberg2023-06-3011-27/+98
| | | | | | | | | * Made HttpHealthService use locks to serialize access to state * Added ToString(HttpResponseCode HttpCode) * Added support for JS source maps * Moved IHttpStatsProvider/IHttpStatsService * Enabled enumeration of stats providers * Disabled build of HttpTestingService unless ZEN_WITH_TESTS is defined
* cleaned up http/asio loggingStefan Boberg2023-06-161-7/+7
|
* xmake dependency fixesStefan Boberg2023-06-161-0/+20
| | | | | - curl is a dependency of zenhttp, not zencore - zencore only depends on crypto functions from openssl
* added thread names to timer, upstream monitorStefan Boberg2023-06-071-1/+10
| | | | also altered http-asio thread naming scheme
* Additional trace instrumentation (#312)Stefan Boberg2023-05-162-0/+20
| | | | | | | | | * added trace instrumentation to upstreamcache * added asio trace instrumentation * added trace annotations for project store * added trace annotations for BlockStore * added trace annotations for HttpClient * added trace annotations for CAS/GC
* clear partially formatted response if request fails (http asio) (#310)Dan Engelbrecht2023-05-161-0/+3
| | | | * simplfy error response by dropping partially formatted response * Update CHANGELOG.md
* some HttpClient changes eliminating some cpr helpersStefan Boberg2023-05-152-21/+33
|
* added some top-level trace scopes to httpsys implStefan Boberg2023-05-151-0/+5
|
* Better defaults for zen cli (#302)Stefan Boberg2023-05-152-2/+53
| | | | | added ZenCmdBase::ResolveTargetHostSpec - this is a helper which provides better default behaviour for commands which interact with a local zen server instance. more specifically it picks a default based on which processes are actually running on the local machine this change also wires up the Scrub command along with some required HttpClient improvements
* Assign auth thread a nameStefan Boberg2023-05-151-0/+2
|
* all threads should be named (#304)Stefan Boberg2023-05-151-2/+20
| | | | | | | * added WorkerThreadPool naming, packaged_task support * name the http.sys thread pool service threads * added http.sys I/O threadpool naming * upstream cache I/O thread naming
* implemented structured cache logging (#296)Stefan Boberg2023-05-121-2/+2
| | | | | | | | may be used as audit trail to help analyse potential cache pollution/corruption * also added common header with timestamp to all known log targets * made `Oid::operator bool` explicit to avoid logging/text format mishaps * made `HttpClient::operator bool` explicit
* Close down http server gracefully when exiting even while requests are still ↵Dan Engelbrecht2023-05-117-10/+67
| | | | | being processed (#290) * Close down http server gracefully when exiting even while requests are still being processed
* 247 complete httpclient implementation (#269)Stefan Boberg2023-05-053-34/+288
| | | | | | | | | * implemented HttpClient connection pooling * implemented missing verbs * added response helpers (CbObject/CbPackage/text) * added RwLock::WithSharedLock and RwLock::WithExclusiveLock * added some noexcept annotations on RwLock * removed CPR dependency in httpclient.h
* move testing and observability code to zenhttp (#266)Stefan Boberg2023-05-029-0/+771
|
* move auth code from zenserver into zenhttp (#265)Stefan Boberg2023-05-026-0/+880
| | | this code should be usable outside of zenserver, so this moves it out into zenhttp where it can be used from lower level components
* moved source directories into `/src` (#264)Stefan Boberg2023-05-0220-0/+7872
* moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees