* Agent config now contains an "Installed" setting similar to the server, which defaults to true but is forced to false by appsettings.Local.json.
* In installed builds, we now read a config file called agent.json from C:\ProgramData\Epic\Horde\Agent.
* Config settings are now also read from the registry, under "HKLM\Software\Epic Games\Horde\Agent". The agent installer allows configuring the sandbox directory during installation, and stores the working directory here.
* FileReference and DirectoryReference now have type converters to allow serializing to/from strings.
#jira UE-206047
#jira UE-206049
[CL 31267867 by ben marsh in ue5-main branch]
* Telemetry stores are denoted by a TelemetryStoreId, largely analagous to an APIKey.
* Telemetry endpoints now include a TelemetryStoreId parameter as part of the route (ie. events are posted to api/v1/telemetry/{Id} and queried using api/v1/telemetry/{Id}/metrics)
* Previous routes still work for now, and use the "default" store.
* All internal horde telemetry is currently sent to the "default" store.
* The Horde configuration now includes a list of telemetry store configuration objects, each of which has their own metrics and ACL for permissions.
#jira UE-206057
[CL 31258613 by ben marsh in ue5-main branch]
A shared counter for the number of remaining chunks of a file to be written is stored for each output file, and the attributes are only applied after the last write is complete.
[CL 31159905 by ben marsh in ue5-main branch]
- Removed unused lock object.
- Event for new log data being posted was not captured before querying the builder for tail state.
- Retrieving flushed line count was not performed under a lock. Now returned the clamped tail position along with tail data.
- Added retry after receiving exception on tailing thread; noticed some retryable network errors creeping in to logs which would stop tailing from functioning.
[CL 31131966 by ben marsh in ue5-main branch]