Commit Graph

2001 Commits

Author SHA1 Message Date
josh engebretson
7d20516360 Horde: Add min value support for analytics
#rnx

[CL 31298762 by josh engebretson in ue5-main branch]
2024-02-08 14:31:07 -05:00
ben marsh
7a3165d029 Horde: Allow searching directory trees for artifacts. Currently does a naive brute-force search of the entire directory hierarchy; will do something smarter later if performance is an issue.
#jira UE-205874

[CL 31283689 by ben marsh in ue5-main branch]
2024-02-07 23:55:19 -05:00
ben marsh
6d5824d4f3 Horde: Enable dedupe for tool data bundles when building installer.
#jira UE-206024

[CL 31283398 by ben marsh in ue5-main branch]
2024-02-07 23:07:49 -05:00
ben marsh
e907563bbd Horde: Include parent tool ids in summary responses.
#jira UE-205851

[CL 31282237 by ben marsh in ue5-main branch]
2024-02-07 21:17:53 -05:00
ben marsh
e125cb0f5d Horde: Allow specifying the parent id for tools, allowing them to be grouped together. Could be used to specify variations of a tool for different platforms.
#jira UE-205851

[CL 31280492 by ben marsh in ue5-main branch]
2024-02-07 19:40:04 -05:00
ben marsh
16989e491d Horde: Various agent configuration changes.
* 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]
2024-02-07 14:57:18 -05:00
ben marsh
1a7754812e Horde: Add support for multiple telemetry stores.
* 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]
2024-02-07 10:48:32 -05:00
ben marsh
ca8f6289c7 Horde: Fix static analysis warning.
[CL 31239060 by ben marsh in ue5-main branch]
2024-02-06 18:44:24 -05:00
ben marsh
8ccf6dbac0 Horde: Fix access token from the environment overriding any access token manually set in HordeOptions.
#jira UE-205948

[CL 31231049 by ben marsh in ue5-main branch]
2024-02-06 16:43:37 -05:00
ben marsh
79160df908 Horde: Fix static analysis warning.
[CL 31225550 by ben marsh in ue5-main branch]
2024-02-06 14:25:36 -05:00
ben marsh
4c403dd279 Horde: Include more information when an upload fails.
[CL 31218530 by ben marsh in ue5-main branch]
2024-02-06 12:11:20 -05:00
carl bystrom
d8b4c39b10 Horde: Fix compiler warnings
[CL 31185672 by carl bystrom in ue5-main branch]
2024-02-05 15:00:08 -05:00
ben marsh
4c565fec6e Horde: Fix test failure; side effect due to asynchronous continuations.
Also fix a few static analyzer warnings.

[CL 31184749 by ben marsh in ue5-main branch]
2024-02-05 14:36:48 -05:00
ben marsh
22e0d3df2d Horde: Add the Microsoft.VisualStudio.Threading.Analyzers package to EpicGames.Horde, and fix current warnings.
[CL 31183231 by ben marsh in ue5-main branch]
2024-02-05 14:06:41 -05:00
ben marsh
00bef38ea0 EpicGames.Core: Set the TaskCreationOptions.RunContinuationsAsynchronously flag by default for all task completion sources.
[CL 31180129 by ben marsh in ue5-main branch]
2024-02-05 13:12:31 -05:00
ben marsh
99c1094b4d Horde: Fix file modes for Mac/Linux when applying extracted file permissions.
[CL 31164134 by ben marsh in ue5-main branch]
2024-02-04 16:25:47 -05:00
ben marsh
7be75e9ac3 Horde: Pass cancellation token when extracting blobs.
[CL 31160455 by ben marsh in ue5-main branch]
2024-02-03 17:35:03 -05:00
ben marsh
9f6230c54b Horde: Fix race condition between multiple threads writing to a file and setting file attributes.
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]
2024-02-03 14:37:03 -05:00
ben marsh
a6a9952eb0 Horde: Include the root directory when logging info about managed workspace use.
[CL 31155560 by ben marsh in ue5-main branch]
2024-02-02 21:26:16 -05:00
ben marsh
ec8f351852 Horde: Fix partitioned workspace setting not being passed through to ManagedWorkspaceOptions when using the workspace materializer.
[CL 31135694 by ben marsh in ue5-main branch]
2024-02-02 14:43:10 -05:00
ben marsh
eb59cf2313 Horde: Fix some threading issues in JsonRpcLogSink.
- 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]
2024-02-02 13:13:29 -05:00
ben marsh
fc0a50341f Horde: Speculative fix for Linux error stating that size of memory mapped file is less than the size of the filestream (suspect caused by a symlink in the tree).
[CL 31115559 by ben marsh in ue5-main branch]
2024-02-01 20:42:01 -05:00
ben marsh
8b0ce8b90b Horde: Don't catch and re-throw cancellation exceptions when reading data from bundles; allow the cancellation exception to propagate to the caller.
[CL 31111243 by ben marsh in ue5-main branch]
2024-02-01 19:12:07 -05:00
ben marsh
749f07f17d Horde: Fix missing parameter from log message.
[CL 31092797 by ben marsh in ue5-main branch]
2024-02-01 12:49:20 -05:00
ben marsh
2038ba8440 Horde: Fix settings for partitioned workspaces not being sent through to agents correctly.
#jira UE-205532

[CL 31088582 by ben marsh in ue5-main branch]
2024-02-01 10:56:43 -05:00