UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IAnalyticsTracer Class Referenceabstract

#include <IAnalyticsTracer.h>

+ Inheritance diagram for IAnalyticsTracer:

Public Member Functions

 IAnalyticsTracer ()
 
virtual ~IAnalyticsTracer ()
 
virtual void StartSession ()=0
 
virtual void EndSession ()=0
 
virtual void SetProvider (TSharedPtr< IAnalyticsProvider > AnalyticsProvider)=0
 
virtual TSharedPtr< IAnalyticsSpanStartSpan (const FName Name, TSharedPtr< IAnalyticsSpan > ParentSpan=TSharedPtr< IAnalyticsSpan >(), const TArray< FAnalyticsEventAttribute > &AdditionalAttributes={})=0
 
virtual bool EndSpan (TSharedPtr< IAnalyticsSpan >, const TArray< FAnalyticsEventAttribute > &AdditionalAttributes={})=0
 
virtual TSharedPtr< IAnalyticsSpanGetCurrentSpan () const =0
 
virtual TSharedPtr< IAnalyticsSpanGetSessionSpan () const =0
 
virtual TSharedPtr< IAnalyticsSpanGetSpan (const FName Name)=0
 
TSharedPtr< IAnalyticsSpanStartSpan (const FName Name, const TArray< FAnalyticsEventAttribute > &AdditionalAttributes={})
 
bool EndSpan (const FName Name, const TArray< FAnalyticsEventAttribute > &AdditionalAttributes={})
 

Detailed Description

IAnalyticsTracer Interface

Inspired by OpenTelemety model for Tracer/Span. A tracer manages and create spans. It is not permitted to create or start a span outside of the owning tracer object. By default, new spans are added as a child of the last added span but can be added to a child of a specified parent for clarity The tracer has a valid SessionSpan object which is the root of the span hierarchy which is expected to be valid between the StartSession and EndSession calls. Spans are hierarchical and are not expected to overlap, even though the API or implementation might well allow that.

Constructor & Destructor Documentation

◆ IAnalyticsTracer()

IAnalyticsTracer::IAnalyticsTracer ( )
inline

◆ ~IAnalyticsTracer()

virtual IAnalyticsTracer::~IAnalyticsTracer ( )
inlinevirtual

Member Function Documentation

◆ EndSession()

virtual void IAnalyticsTracer::EndSession ( )
pure virtual

Implemented in FAnalyticsTracer.

◆ EndSpan() [1/2]

bool IAnalyticsTracer::EndSpan ( const FName  Name,
const TArray< FAnalyticsEventAttribute > &  AdditionalAttributes = {} 
)
inline

End an existing span by name

◆ EndSpan() [2/2]

virtual bool IAnalyticsTracer::EndSpan ( TSharedPtr< IAnalyticsSpan ,
const TArray< FAnalyticsEventAttribute > &  AdditionalAttributes = {} 
)
pure virtual

End an existing span

Implemented in FAnalyticsTracer.

◆ GetCurrentSpan()

virtual TSharedPtr< IAnalyticsSpan > IAnalyticsTracer::GetCurrentSpan ( ) const
pure virtual

Get the currently active span

Implemented in FAnalyticsTracer.

◆ GetSessionSpan()

virtual TSharedPtr< IAnalyticsSpan > IAnalyticsTracer::GetSessionSpan ( ) const
pure virtual

Get the session span, this will always be valid for an active session

Implemented in FAnalyticsTracer.

◆ GetSpan()

virtual TSharedPtr< IAnalyticsSpan > IAnalyticsTracer::GetSpan ( const FName  Name)
pure virtual

Get an active span by name, non active spans will not be available

Implemented in FAnalyticsTracer.

◆ SetProvider()

virtual void IAnalyticsTracer::SetProvider ( TSharedPtr< IAnalyticsProvider AnalyticsProvider)
pure virtual

Sets the analytics provider for the tracer

Implemented in FAnalyticsTracer.

◆ StartSession()

virtual void IAnalyticsTracer::StartSession ( )
pure virtual

Implemented in FAnalyticsTracer.

◆ StartSpan() [1/2]

TSharedPtr< IAnalyticsSpan > IAnalyticsTracer::StartSpan ( const FName  Name,
const TArray< FAnalyticsEventAttribute > &  AdditionalAttributes = {} 
)
inline

Start a new span without a parent

◆ StartSpan() [2/2]

virtual TSharedPtr< IAnalyticsSpan > IAnalyticsTracer::StartSpan ( const FName  Name,
TSharedPtr< IAnalyticsSpan ParentSpan = TSharedPtrIAnalyticsSpan >(),
const TArray< FAnalyticsEventAttribute > &  AdditionalAttributes = {} 
)
pure virtual

Start a new span specifying an optional parent. EndSpan is called recursively on children. Parent attributes are passed onto children

Implemented in FAnalyticsTracer.


The documentation for this class was generated from the following file: