Commit Graph

60 Commits

Author SHA1 Message Date
zousar shaker
3c69a2d2df Make ZenDashboard behave as a standard (non systray) app on Windows. Remove the search widgets from the ZenDashboard menus. Add an entry to the DerivedData status bar to launch (and if needed build) ZenDashboard.
#rb dan.engelbrecht
#jira UE-204737

[CL 32094001 by zousar shaker in ue5-main branch]
2024-03-07 13:44:59 -05:00
zousar shaker
cffc36436a Change text wrapping size limit on DDC stats panel that would lead to flickering (possibly due to numeric imprecision in the computations when doing text flow).
[CL 31157827 by zousar shaker in ue5-main branch]
2024-02-03 00:31:46 -05:00
mark lintott
0db277eb21 Changed Derived Data Cache Usage UI to use the same Resource Stats as Studio Telemetry
The total is already served up as an Asset Type so had to and some logic to separate it in the view.
Changed sorting from Size to Count. I felt that sorting by highest count is more useful as is it clearly indicates the less efficient DDC work.
Added Hit Efficiency to Asset Stats and added this as an extra column to the UI
#rb Devin.Doucette

[CL 31009963 by mark lintott in ue5-main branch]
2024-01-30 12:02:31 -05:00
dan engelbrecht
ba66b561de For local Zen DDC connections show the path where data is store in the Cache Statistics tab for DDC instead of local ip address
For Zen DDC connection show the storage size
#jira UE-199929
#rb Devin.Doucette

[CL 30501101 by dan engelbrecht in ue5-main branch]
2024-01-09 06:08:29 -05:00
devin doucette
788aec3845 DDC: Disable stats for cache stores that should not be visible
#jira UE-133395
#rb Zousar.Shaker
#rnx

[CL 26192921 by devin doucette in ue5-main branch]
2023-06-22 16:35:48 -04:00
mark lintott
1985c8b070 Minor tweak to analytics code for inconsistent naming of Editor load events.
Fixed Editor notifcation warning for when Unreal Cloud DDC is not available. Without this notification developers could unknowingly experience poor Editor performance.
[FYI] zousar.shaker
#rb trivial
#preflight none

[CL 25523318 by mark lintott in ue5-main branch]
2023-05-18 07:29:15 -04:00
bryan sefcik
d205101cc8 Removed unnecessary private include modules.
#preflight 645da640cf788a25581110bb

[CL 25451545 by bryan sefcik in ue5-main branch]
2023-05-12 12:13:52 -04:00
aditya ravichandran
834a76abaf Change the combo buttons on the status bar to use the regular "SimpleComboButton" style with chevrons
#jira none
#rb karen.jirak
#preflight 644acad4693defa68d94ce45

[CL 25221777 by aditya ravichandran in ue5-main branch]
2023-04-27 15:33:10 -04:00
christopher waters
73c74eaf42 Removing redundant include paths:
- PublicIncludePaths.Add(ModuleDirectory + "/Public");
- PrivateIncludePaths.Add("<module name>/Private");

#preflight 63ef03623c1eb56f057db7de

[CL 24285283 by christopher waters in ue5-main branch]
2023-02-17 12:45:29 -05:00
mark lintott
eb96b51fbd Tweak to DDC Cache notification UX
Improved notification messages
Deprecated unsupported shared cache notification warning
#rb devin.docuette
#preflight 63c132212e714f64adfa0db7

[CL 23677867 by mark lintott in ue5-main branch]
2023-01-13 10:48:35 -05:00
Francis Hurteau
febc04ca18 Activating truncation warnings for
Analytics, AnalyticsET, Cbor, Serialization, XMLParser, DerivedDataEditor, DirectoryWatcher, LogVisualizer, InputCore

fixing a few addtional truncation warnings in SDerivedDataDialogs

#jira UE-166274
#rb Devin.Doucette
#preflight 63c05622305002c6417a8bd3

[CL 23668557 by Francis Hurteau in ue5-main branch]
2023-01-12 15:27:09 -05:00
francis hurteau
239f9e142c Truncation warning fixes for multiple core modules:
Analytics, AnalyticsET, Cbor, Serialization, XMLParser, DerivedDataEditor, DirectoryWatcher, LogVisualizer, OutputLog, InputCore

#jira UE-166274
#rb Devin.Doucette
#preflight 63c01436d862fdd347e2dd74

[CL 23664694 by francis hurteau in ue5-main branch]
2023-01-12 11:57:28 -05:00
Zousar Shaker
b9548ddad4 Move Zen module public headers into an "Experimental" subfolder to have them reflect the feature status.
Fix locations that include the headers to use the "Experimental" subfolder and re-sort includes.  No functional change, purely a move, search+replace, and sort of includes.

#rb matt.peters
#preflight 63939eebc415e8dc78d35d63

[CL 23468934 by Zousar Shaker in ue5-main branch]
2022-12-09 16:11:41 -05:00
Zousar Shaker
fee1c826d6 Update references to "Horde Storage" to "Unreal Cloud DDC" or appropriate variations.
Specifically:
HordeStorageServers-> StorageServers
HordeStorage  -> UnrealCloudDDC
Horde Storage -> Unreal Cloud DDC

#rb matt.peters
#fyi devin.doucette
#fyi joakim.lindqvist
#jira UE-167262
#preflight 6349da9bad0f7e2f206125e3

[CL 22538004 by Zousar Shaker in ue5-main branch]
2022-10-14 18:39:39 -04:00
paul chipchase
3eb268abbb Create a new module 'VirtualizationEditor' and move the existing VA editor code there from the 'DerivedDataEditor'
#rb Per.Larsson
#jira UE-162600
#rnx
#preflight 631597667562a90dfa991913

- Up until now we have been piggybacking off the DDC editor module as the VA statistics panel was originally based on the DDC statistic panel but now we are starting to do more VA editor/UX work so we should probably have our own module.
- This does mean we need to remove the the VA statistics panel from the DDC status bar, but it didn't really belong there and the panel can still be opened via the menu 'Tool->Audit->Virtual Assets'

[CL 21790583 by paul chipchase in ue5-main branch]
2022-09-05 06:19:34 -04:00
bryan sefcik
0837230669 Ran IWYU again on half of the Engine/Source/Editor/... source files.
#jira

[CL 21716414 by bryan sefcik in ue5-main branch]
2022-08-30 23:03:03 -04:00
paul chipchase
46778f93c7 Improve the message shown by the VA statistics panel if the system has not yet initialized because it has not yet been used.
#rb trivial
#jira UE-161320
#rnx
#preflight 630cc139e54ec9d5815687e0

[CL 21697124 by paul chipchase in ue5-main branch]
2022-08-30 03:39:35 -04:00
bryan sefcik
8cc129f2b6 IWYU Pass 1 - Engine/Source/Editor/...
#jira
#preflight 6306736ac85b7fef22be7751

[CL 21558583 by bryan sefcik in ue5-main branch]
2022-08-24 22:45:13 -04:00
paul chipchase
fc827406e2 Add a number of ways for the VA system to be changed to lazy initialize on first use.
#rb Per.Larsson
#jira UE-161296
#rnx
#preflight 62fe3ce73d3fb466b229bcc0

- There are some usecases that require the VA system to initialize the first time it is accessed (usually the first time we attempt to pull a virtualized payload) rather than be initialized in the program start up. This change provides three different methods to achieve this:
-- Setting the define 'UE_VIRTUALIZATION_SYSTEM_LAZY_INIT' to 1 in a programs .target.cs
-- Setting [Core.ContentVirtualization]LazyInit=true in the Engine ini file
-- Running with the commandline option -VA-LazyInit

- If we detect that the source control backend is being initialized on a background thread we do not try to run the FConnect operation. The backend will still work but this does reduce the potential error checking on initialization. This is done because the FConnect operation currently only works on the main thread and to change this would be a bigger work item than we can schedule at the moment.
- UE::Virtualization::Initialize functions now take a EInitializationFlags enum as a parameter. This enum allows the call to ignore all lazy init settings and force the initialization immediately. This is useful for programs like the Virtualization standalone tool which just needs to start the system when needed.
-- The call to ::Initialize in LaunchEngineLoop passes in None and does not ignore lazy initialization.
-- Calls to ::Initialize in the UnrealVirtualizationTool however all use EInitializationFlags::ForceInitialize and ignore lazy initialization settings.
- Fixed an odd bug in UE::Virtualization::Initialize where the error path (if the config file cannot be found) was using a different start up code path.
- Add asserts when assigning to GVirtualizationSystem to make sure that it is null. This is not 100% safe but should catch some potential threading issues, if any.
- Add an assert after lazy initialization (IVirtualizationSystem::Get) to make sure that GVirtualizationSystem was assigned a valid object.
- Improve how we check for legacy values in [Core.ContentVirtualization]. We now support multiple allowed values.
- Added a way to poll if a VA system has been initialize yet or not, this allows us to avoid initializing a VA system if one has not yet been created and we try to:
-- Dump VA profiling stats after cooking
-- Send VA stats to studio analytics
- Note that currently using lazy init loading will probably cause the VA statistics panel not to work, this will be fixed in future work where we will allow the panel to register for a callback when the system is initialized.

[CL 21467510 by paul chipchase in ue5-main branch]
2022-08-19 19:15:42 -04:00
paul chipchase
135e304463 Add an ini file option which when set to true allows package submissions to source control to go ahead even if the virtualization process failed.
#rb none
#jira UE-159596
#rnx
#preflight 62d94160110da0f944afdd32

### Problem
- When rolling our virtualization to projects we have run into a number of set up problems which has caused users to fail to submit packages from the editor as when the virtualization failed we prevented the overall submit from going through.
- Although we will eventually work through all of these problems and add better fault tolerance for now it is annoying for the content team so we need an easy way for a project to allow package submits to be completed even if the virtualization process part of the submit failed.
- Worth noting that the virtualization process failing should never affect the state of the package files, the only downside is that the packages may not be virtualized.

### Fix
- The virtualization/rehydration of packages now return an enum instead of a bool although at the moment we are only returning Success and Failed, but it will allow us to expand in the future
- Combined the code calling the virtualization process from both the source control window and the source control changelist window into a single utility function.
-- Now the two windows only diverge on how they report failure to the user.

- This new utility function now checks to see if the virtualization manager suggests if failing the virtualization process should block any package submission to source control or not.
- I am not happy with this solution, but I haven't come up with anything that feels right, this solution will at least work.

[CL 21199597 by paul chipchase in ue5-main branch]
2022-07-21 08:31:47 -04:00
zousar shaker
75d0e7277b Add status icon to indicate DDC cache store status with tooltip text for details. Currently used to show when a cache store has been deactivated for performance.
#rb devin.doucette

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 21152573 via CL 21155094 via CL 21156160
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21181761 by zousar shaker in ue5-main branch]
2022-07-20 11:55:16 -04:00
paul chipchase
b148541cdf Move using declaration out of the global scope as per the coding standards.
#rb trivial
#rnx
#preflight 62d7de33d54af4b9a2c08702

[CL 21176663 by paul chipchase in ue5-main branch]
2022-07-20 06:59:09 -04:00
paul chipchase
30b731c6f1 Add an opt in entry to the asset context menu that allows the user to re-hydrate a virtualized package.
#rb Sebastian.Nordgren
#jira UE-159595
#rnx
#preflight 62d13965a66919b6700c8069

### SVirtualAssetsStatistics
- We do not currently have a virtualization specific editor module and have been piggybacking onto the DDC editor module, so although this new code has nothing to do with the VA statistics panel it seems easier to keep the code in a single file and then split it later when we move it to a virtualization editor module.
- At the moment if the files being hydrated are not checked out then the process will fail. Support for auto checkout will be added in a future submit.

### EditorExperimentalSettings
- By default no change will be made to the context menu. The user must edit the experimental editor settings and opt in to be able to see it.
- This is because the feature should not really be used in day to day workflows and is provided to either fix problems or to make it easier for people developing the virtualization system.

### PackageRehydrationProcess
- Fixed some typos in error messages
- Being unable to write to the package is considered an error rather than a warning. It was demoted to a warning when virtualizing to try and reduce the number of blocked submits but we do not have this problem with rehydration.
- Added code to reset the loader of a package if it happens to be already loaded in the editor now that we can invoke it from the editor.

[CL 21107763 by paul chipchase in ue5-main branch]
2022-07-15 06:38:07 -04:00
zousar shaker
fb86e5ac32 Add speed stats to the DDC Cache Statistics dialog.
#rb mark.lintott
#preflight 62cfa9d2c36afd11ef02e6b3

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 21090819 via CL 21094041 via CL 21095152
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21099219 by zousar shaker in ue5-main branch]
2022-07-14 17:06:17 -04:00
mark lintott
da46ade47c Added Cache Speed Stats to Analytics
Added Zen Server Stats to Analytics
#rb zousar.shaker, devin.doucette
#jira none
#preflight 6295d84bd57da28cc8ee9eab

[CL 20434901 by mark lintott in ue5-main branch]
2022-05-31 05:11:05 -04:00