From c1cba43fcebf51080d80f15db5f7c9cc47031412 Mon Sep 17 00:00:00 2001 From: mujacica Date: Fri, 8 Aug 2025 19:05:31 +0200 Subject: [PATCH 1/2] Add transaction and span set_data documentation --- .../custom-instrumentation.mdx | 2 ++ .../performance/improving-data/unreal.mdx | 35 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 platform-includes/performance/improving-data/unreal.mdx diff --git a/docs/platforms/unreal/tracing/instrumentation/custom-instrumentation.mdx b/docs/platforms/unreal/tracing/instrumentation/custom-instrumentation.mdx index 7a5b6d5f6190f..f5dca57c29066 100644 --- a/docs/platforms/unreal/tracing/instrumentation/custom-instrumentation.mdx +++ b/docs/platforms/unreal/tracing/instrumentation/custom-instrumentation.mdx @@ -14,6 +14,8 @@ To capture transactions and spans customized to your organization's needs, you m + + ## Distributed Tracing In order to use distributed tracing, follow the custom instrumentation steps. diff --git a/platform-includes/performance/improving-data/unreal.mdx b/platform-includes/performance/improving-data/unreal.mdx new file mode 100644 index 0000000000000..30724d2cdd987 --- /dev/null +++ b/platform-includes/performance/improving-data/unreal.mdx @@ -0,0 +1,35 @@ +## Improving Data on Transactions and Spans + +### Adding Data Attributes to Transactions + +You can add data attributes to your transactions. This data is visible and __queryable__ in the trace explorer in Sentry. Data attributes can be of type _string_, _number_ or _boolean_, as well as arrays and maps of these types: + +```cpp +USentryTransaction* transaction = SentrySubsystem->StartTransaction(TEXT("Automation transaction"), TEXT("Automation operation")); + +transaction->SetData(TEXT("key"), {{TEXT("data_key1"), TEXT("value")}}); +transaction->SetData(TEXT("key"), {{TEXT("data_key2"), 123}}); +transaction->SetData(TEXT("key"), {{TEXT("data_key3"), 123.456f}}); +transaction->SetData(TEXT("key"), {{TEXT("data_key4"), TArray{{123, 456}}}}); +transaction->SetData(TEXT("key"), {{TEXT("data_key5"), TMap{{TEXT("inner_key1"), 123}}}}); + +transaction->Finish(); +``` + +### Adding Data Attributes to Spans + +You can add data attributes to your transactions. This data is visible and __queryable__ in the trace explorer in Sentry. Data attributes can be of type _string_, _number_ or _boolean_, as well as arrays and maps of these types: + +```cpp +USentryTransaction* transaction = SentrySubsystem->StartTransaction(TEXT("Automation transaction"), TEXT("Automation operation")); +USentrySpan* span = transaction->StartChildSpan(TEXT("Automation span"), TEXT("Description text")); + +span->SetData(TEXT("key"), {{TEXT("data_key1"), TEXT("value")}}); +span->SetData(TEXT("key"), {{TEXT("data_key2"), 123}}); +span->SetData(TEXT("key"), {{TEXT("data_key3"), 123.456f}}); +span->SetData(TEXT("key"), {{TEXT("data_key4"), TArray{{123, 456}}}}); +span->SetData(TEXT("key"), {{TEXT("data_key5"), TMap{{TEXT("inner_key1"), 123}}}}); + +span->Finish(); +transaction->Finish(); +``` From 1737590dd006f62c8f2fb9e48e5f71b7b83efee4 Mon Sep 17 00:00:00 2001 From: mujacica Date: Mon, 11 Aug 2025 12:14:49 +0200 Subject: [PATCH 2/2] Use different keys for Data not to overwrite it --- .../performance/improving-data/unreal.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/platform-includes/performance/improving-data/unreal.mdx b/platform-includes/performance/improving-data/unreal.mdx index 30724d2cdd987..0347ca342d300 100644 --- a/platform-includes/performance/improving-data/unreal.mdx +++ b/platform-includes/performance/improving-data/unreal.mdx @@ -7,11 +7,11 @@ You can add data attributes to your transactions. This data is visible and __que ```cpp USentryTransaction* transaction = SentrySubsystem->StartTransaction(TEXT("Automation transaction"), TEXT("Automation operation")); -transaction->SetData(TEXT("key"), {{TEXT("data_key1"), TEXT("value")}}); -transaction->SetData(TEXT("key"), {{TEXT("data_key2"), 123}}); -transaction->SetData(TEXT("key"), {{TEXT("data_key3"), 123.456f}}); -transaction->SetData(TEXT("key"), {{TEXT("data_key4"), TArray{{123, 456}}}}); -transaction->SetData(TEXT("key"), {{TEXT("data_key5"), TMap{{TEXT("inner_key1"), 123}}}}); +transaction->SetData(TEXT("key1"), {{TEXT("data_key1"), TEXT("value")}}); +transaction->SetData(TEXT("key2"), {{TEXT("data_key2"), 123}}); +transaction->SetData(TEXT("key3"), {{TEXT("data_key3"), 123.456f}}); +transaction->SetData(TEXT("key4"), {{TEXT("data_key4"), TArray{{123, 456}}}}); +transaction->SetData(TEXT("key5"), {{TEXT("data_key5"), TMap{{TEXT("inner_key1"), 123}}}}); transaction->Finish(); ``` @@ -24,11 +24,11 @@ You can add data attributes to your transactions. This data is visible and __que USentryTransaction* transaction = SentrySubsystem->StartTransaction(TEXT("Automation transaction"), TEXT("Automation operation")); USentrySpan* span = transaction->StartChildSpan(TEXT("Automation span"), TEXT("Description text")); -span->SetData(TEXT("key"), {{TEXT("data_key1"), TEXT("value")}}); -span->SetData(TEXT("key"), {{TEXT("data_key2"), 123}}); -span->SetData(TEXT("key"), {{TEXT("data_key3"), 123.456f}}); -span->SetData(TEXT("key"), {{TEXT("data_key4"), TArray{{123, 456}}}}); -span->SetData(TEXT("key"), {{TEXT("data_key5"), TMap{{TEXT("inner_key1"), 123}}}}); +span->SetData(TEXT("key1"), {{TEXT("data_key1"), TEXT("value")}}); +span->SetData(TEXT("key2"), {{TEXT("data_key2"), 123}}); +span->SetData(TEXT("key3"), {{TEXT("data_key3"), 123.456f}}); +span->SetData(TEXT("key4"), {{TEXT("data_key4"), TArray{{123, 456}}}}); +span->SetData(TEXT("key5"), {{TEXT("data_key5"), TMap{{TEXT("inner_key1"), 123}}}}); span->Finish(); transaction->Finish();