7#include "Containers/Array.h"
139 void LoadConfiguration();
143 bool bSendTelemetry =
true;
144 bool bSendUserData =
false;
145 bool bSendHardwareData =
false;
146 bool bSendOSData =
false;
161#define STUDIO_TELEMETRY_SESSION_SCOPE FStudioTelemetry::FSessionScope PREPROCESSOR_JOIN(FSessionScope, __LINE__);
162#define STUDIO_TELEMETRY_SPAN_SCOPE(Name) FStudioTelemetry::FSpanScope PREPROCESSOR_JOIN(FSpanScope, __LINE__)(TEXT(#Name));
163#define STUDIO_TELEMETRY_START_SPAN(Name) if (FStudioTelemetry::Get().IsAvailable()) { FStudioTelemetry::Get().StartSpan(TEXT(#Name));}
164#define STUDIO_TELEMETRY_END_SPAN(Name) if (FStudioTelemetry::Get().IsAvailable()) { FStudioTelemetry::Get().EndSpan(TEXT(#Name));}
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
Definition AnalyticsProviderBroadcast.h:25
Definition NameTypes.h:617
Definition StudioTelemetry.h:99
~FSessionScope()
Definition StudioTelemetry.h:106
FSessionScope()
Definition StudioTelemetry.h:101
Definition StudioTelemetry.h:114
FSpanScope(const FName Name, const TArray< FAnalyticsEventAttribute > &AdditionalAttributes={})
Definition StudioTelemetry.h:116
~FSpanScope()
Definition StudioTelemetry.h:124
Definition StudioTelemetry.h:25
STUDIOTELEMETRY_API bool EndSpan(TSharedPtr< IAnalyticsSpan > Span, const TArray< FAnalyticsEventAttribute > &AdditionalAttributes={})
Definition StudioTelemetry.cpp:329
STUDIOTELEMETRY_API void EndSession()
Definition StudioTelemetry.cpp:201
FOnEndSession & GetOnEndSession()
Definition StudioTelemetry.h:92
DECLARE_MULTICAST_DELEGATE(FOnEndSession)
STUDIOTELEMETRY_API void SetRecordEventCallback(OnRecordEventCallback)
Definition StudioTelemetry.cpp:42
STUDIOTELEMETRY_API void RecordEvent(const FString &EventName, const TArray< FAnalyticsEventAttribute > &Attributes={})
Definition StudioTelemetry.cpp:264
STUDIOTELEMETRY_API bool StartSession()
Definition StudioTelemetry.cpp:54
static bool IsAvailable()
Definition StudioTelemetry.h:31
STUDIOTELEMETRY_API TSharedPtr< IAnalyticsSpan > StartSpan(const FName Name, const TArray< FAnalyticsEventAttribute > &AdditionalAttributes={})
Definition StudioTelemetry.cpp:319
DECLARE_MULTICAST_DELEGATE_TwoParams(FOnRecordEvent, const FString &, const TArray< FAnalyticsEventAttribute > &)
STUDIOTELEMETRY_API void RecordEventToProvider(const FString &ProviderName, const FString &EventName, const TArray< FAnalyticsEventAttribute > &Attributes={})
Definition StudioTelemetry.cpp:293
FOnRecordEvent & GetOnRecordEvent()
Definition StudioTelemetry.h:95
STUDIOTELEMETRY_API TWeakPtr< IAnalyticsTracer > GetTracer()
Definition StudioTelemetry.cpp:314
STUDIOTELEMETRY_API void FlushEvents()
Definition StudioTelemetry.cpp:284
DECLARE_MULTICAST_DELEGATE(FOnStartSession)
STUDIOTELEMETRY_API TWeakPtr< IAnalyticsProvider > GetProvider()
Definition StudioTelemetry.cpp:304
STUDIOTELEMETRY_API TSharedPtr< IAnalyticsSpan > GetSessionSpan() const
Definition StudioTelemetry.cpp:344
STUDIOTELEMETRY_API TSharedPtr< IAnalyticsSpan > GetSpan(const FName Name)
Definition StudioTelemetry.cpp:339
FOnStartSession & GetOnStartSession()
Definition StudioTelemetry.h:89
STUDIOTELEMETRY_API bool IsSessionRunning() const
Definition StudioTelemetry.cpp:231
static STUDIOTELEMETRY_API FStudioTelemetry & Get()
Definition StudioTelemetry.cpp:36
TFunction< void(const FString &EventName, const TArray< FAnalyticsEventAttribute > &Attrs)> OnRecordEventCallback
Definition StudioTelemetry.h:28
Definition ModuleInterface.h:14
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:692
Definition SharedPointer.h:1295