--- //UE5/main/Engine/Source/Programs/SubmitTool/Private/Logic/TasksService.cpp 2024-11-20 13:27:20.000000000 0000 +++ D:\p4\ue5\main\Engine\Source\Programs\SubmitTool\Private\Logic\TasksService.cpp 2024-11-20 13:27:20.000000000 0000 @@ -14,11 +14,14 @@ #include "TagService.h" -FTasksService::FTasksService(const TMap& InTasks, const FString& InTelemetryEventsId) : +FTasksService::FTasksService(const TMap& InTasks, const FString& InTelemetryEventsId, TSharedRef InServiceProvider) : bLastTasksRunState(false), bLastRunningTasks(false), - TelemetryBaseId(InTelemetryEventsId) + TelemetryBaseId(InTelemetryEventsId), + ServiceProvider(InServiceProvider) { } FTasksService::~FTasksService() @@ -413,6 +416,10 @@ ValidationRunResults = AppendAnalyticsEventAttributeArray(ValidationRunResults, TEXT("FailedTasks"), FJsonFragment(MoveTemp(FailedTasks))); } + + ValidationRunResults = AppendAnalyticsEventAttributeArray(ValidationRunResults, TEXT("Stream"), ServiceProvider->GetService()->GetCurrentStreamName()); FTelemetryService::Get()->CustomEvent(TelemetryBaseId + TEXT(".FullRun"), ValidationRunResults); --- //UE5/main/Engine/Source/Programs/SubmitTool/Private/Logic/TasksService.h 2024-11-20 13:27:20.000000000 0000 +++ D:\p4\ue5\main\Engine\Source\Programs\SubmitTool\Private\Logic\TasksService.h 2024-11-20 13:27:20.000000000 0000 @@ -19,7 +19,9 @@ class FTasksService : public ISubmitToolService { public: - FTasksService(const TMap& Tasks, const FString& InTelemetryCustomEvent); + FTasksService(const TMap& Tasks, const FString& InTelemetryCustomEvent, TSharedRef InServiceProvider); virtual ~FTasksService(); virtual void InitializeTasks(const TArray>& InTasks); @@ -67,6 +69,10 @@ const FString TelemetryBaseId; FTSTicker::FDelegateHandle TickerHandle; + + TSharedRef ServiceProvider; }; Expose_TNameOf(FTasksService); \ No newline at end of file --- //UE5/main/Engine/Source/Programs/SubmitTool/Private/Models/ModelInterface.cpp 2024-11-20 13:27:20.000000000 0000 +++ D:\p4\ue5\main\Engine\Source\Programs\SubmitTool\Private\Models\ModelInterface.cpp 2024-11-20 13:27:20.000000000 0000 @@ -45,9 +45,11 @@ SourceControlService = MakeShared(InParameters); ServiceProvider->RegisterService(SourceControlService.ToSharedRef()); - ValidationService = MakeShared(InParameters.Validators, TEXT("SubmitTool.StandAlone.Validator")); + ValidationService = MakeShared(InParameters.Validators, TEXT("SubmitTool.StandAlone.Validator"), ServiceProvider.ToSharedRef()); ServiceProvider->RegisterService(ValidationService.ToSharedRef()); - PresubmitOperationsService = MakeShared(InParameters.PresubmitOperations, TEXT("SubmitTool.StandAlone.PresubmitOperation")); + PresubmitOperationsService = MakeShared(InParameters.PresubmitOperations, TEXT("SubmitTool.StandAlone.PresubmitOperation"), ServiceProvider.ToSharedRef()); ServiceProvider->RegisterService(PresubmitOperationsService.ToSharedRef()); CredentialsService = MakeShared(InParameters.OAuthParameters); ServiceProvider->RegisterService(CredentialsService.ToSharedRef()); --- //UE5/main/Engine/Source/Programs/SubmitTool/Private/Parameters/SubmitToolParameters.h 2024-11-20 13:27:20.000000000 0000 +++ D:\p4\ue5\main\Engine\Source\Programs\SubmitTool\Private\Parameters\SubmitToolParameters.h 2024-11-20 13:27:20.000000000 0000 @@ -115,6 +115,10 @@ FString Url; UPROPERTY() FString Instance; + UPROPERTY() + FString Endpoint; }; UENUM() --- //UE5/main/Engine/Source/Programs/SubmitTool/Private/Parameters/SubmitToolParametersBuilder.cpp 2024-11-20 13:27:20.000000000 0000 +++ D:\p4\ue5\main\Engine\Source\Programs\SubmitTool\Private\Parameters\SubmitToolParametersBuilder.cpp 2024-11-20 13:27:20.000000000 0000 @@ -154,6 +154,9 @@ static const TCHAR* Section = TEXT("SubmitTool.Telemetry"); static const TCHAR* UrlKey = TEXT("URL"); static const TCHAR* InstanceKey = TEXT("Instance"); + static const TCHAR* EndpointKey = TEXT("Endpoint"); FTelemetryParameters Output; @@ -163,6 +166,14 @@ Output.Url = Url; } + FString Endpoint; + if (SubmitToolConfig->GetString(Section, EndpointKey, Endpoint)) + { + Output.Endpoint = Endpoint; + } + FString Instance; if (SubmitToolConfig->GetString(Section, InstanceKey, Instance)) { --- //UE5/main/Engine/Source/Programs/SubmitTool/Private/SubmitToolApp.cpp 2024-11-20 13:27:20.000000000 0000 +++ D:\p4\ue5\main\Engine\Source\Programs\SubmitTool\Private\SubmitToolApp.cpp 2024-11-20 13:27:20.000000000 0000 @@ -82,7 +82,9 @@ FSubmitToolParametersBuilder ParametersBuilder(ParameterFile); FSubmitToolParameters Parameters = ParametersBuilder.Build(); - FTelemetryService::Init(Parameters.Telemetry.Url, InSessionID); + FTelemetryService::Init(Parameters.Telemetry.Url, Parameters.Telemetry.Endpoint, InSessionID); // Create a new instance of model Interface so that UI can communicate const TUniquePtr ModelInterface = MakeUnique(Parameters); --- //UE5/main/Engine/Source/Programs/SubmitTool/Private/Telemetry/StandAloneTelemetry.cpp 2024-11-20 13:27:20.000000000 0000 +++ D:\p4\ue5\main\Engine\Source\Programs\SubmitTool\Private\Telemetry\StandAloneTelemetry.cpp 2024-11-20 13:27:20.000000000 0000 @@ -6,7 +6,9 @@ #include "Version/AppVersion.h" #include "AnalyticsEventAttribute.h" -FStandAloneTelemetry::FStandAloneTelemetry(const FString& InUrl, const FGuid& InSessionID) +FStandAloneTelemetry::FStandAloneTelemetry(const FString& InUrl, const FString& InEndpoint, const FGuid& InSessionID) { FAnalyticsET::Config Config; @@ -19,6 +21,10 @@ Config.APIServerET = InUrl; + Config.APIEndpointET = InEndpoint; + // This will become the AppVersion URL parameter. It can be whatever makes sense for your app. Config.AppVersionET = FAppVersion::GetVersion(); --- //UE5/main/Engine/Source/Programs/SubmitTool/Private/Telemetry/StandAloneTelemetry.h 2024-11-20 13:27:20.000000000 0000 +++ D:\p4\ue5\main\Engine\Source\Programs\SubmitTool\Private\Telemetry\StandAloneTelemetry.h 2024-11-20 13:27:20.000000000 0000 @@ -11,7 +11,9 @@ class FStandAloneTelemetry : public ITelemetry { public: - FStandAloneTelemetry(const FString& InUrl, const FGuid& InSessionID); + FStandAloneTelemetry(const FString& InUrl, const FString& InEndpoint, const FGuid& InSessionID); virtual ~FStandAloneTelemetry(); virtual void Start(const FString& InCurrentStream) const override; virtual void BlockFlush(float InTimeout) const override; --- //UE5/main/Engine/Source/Programs/SubmitTool/Private/Telemetry/TelemetryService.cpp 2024-11-20 13:27:20.000000000 0000 +++ D:\p4\ue5\main\Engine\Source\Programs\SubmitTool\Private\Telemetry\TelemetryService.cpp 2024-11-20 13:27:20.000000000 0000 @@ -14,15 +14,17 @@ return TelemetryInstance; } -void FTelemetryService::Init(const FString& InUrl, const FGuid& InSessionID) +void FTelemetryService::Init(const FString& InUrl, const FString& InEndpoint, const FGuid& InSessionID) { if (InUrl.IsEmpty()) { Set(MakeShared()); } - Set(MakeShared(InUrl, InSessionID)); + Set(MakeShared(InUrl, InEndpoint, InSessionID)); } void FTelemetryService::Set(TSharedPtr InInstance) { --- //UE5/main/Engine/Source/Programs/SubmitTool/Private/Telemetry/TelemetryService.h 2024-11-20 13:27:20.000000000 0000 +++ D:\p4\ue5\main\Engine\Source\Programs\SubmitTool\Private\Telemetry\TelemetryService.h 2024-11-20 13:27:20.000000000 0000 @@ -11,7 +11,9 @@ { public: static const TSharedPtr & Get(); - static void Init(const FString& InUrl, const FGuid& InSessionID); + static void Init(const FString& InUrl, const FString& InEndpoint, const FGuid& InSessionID); static void Shutdown(); static void BlockFlush(float InTimeout); private: