Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
45508b2
Refactor code to better align with Unreal
nwhite-riot Jan 21, 2025
39b50df
Cleanup
nwhite-riot Jan 21, 2025
10bfc73
Revert IsMarketplace to false
nwhite-riot Jan 21, 2025
de1a40d
Remove superfluous step for attachment
nwhite-riot Jan 22, 2025
9302db7
More cleanup
nwhite-riot Jan 22, 2025
60267b3
Replace NewObject calls with ::Create
nwhite-riot Jan 22, 2025
d0052dc
Continue cleanup
nwhite-riot Jan 24, 2025
1e788c8
Merge branch 'getsentry:main' into refactor
nwhite-riot Jan 24, 2025
3b30f42
Replace macro magic with static functions
nwhite-riot Jan 24, 2025
6acde7b
Newlines for touched files
nwhite-riot Jan 24, 2025
f03589b
Don't hold pointer in variable
nwhite-riot Jan 24, 2025
c956329
More cleanup
nwhite-riot Jan 24, 2025
dd3bb17
Continue to refactor API
nwhite-riot Jan 27, 2025
60f2359
Try to be more strict about transactions and spans
nwhite-riot Jan 27, 2025
8ec192c
Resolve max_spans issue causing failure when creating child spans of …
nwhite-riot Jan 28, 2025
6102cb2
Fixing more typos
nwhite-riot Jan 28, 2025
57975bf
Minor cleanup and replace explicit platform types with HAL inclusions…
nwhite-riot Jan 28, 2025
653cd9e
Remove file
nwhite-riot Jan 28, 2025
31c2546
Remove test value
nwhite-riot Jan 28, 2025
7a88faf
Get Unreal project building and working
nwhite-riot Jan 28, 2025
8d15e71
Fix remaining issues so that sample runs end-to-end
nwhite-riot Jan 28, 2025
0486253
Merge 'main' into 'refactor'
nwhite-riot Jan 30, 2025
478b5e0
Remove Linux transport code from refactor
nwhite-riot Jan 30, 2025
a747021
Merge branch 'main' into refactor
nwhite-riot Jan 30, 2025
9ad7271
FIx build errors on Apple/Android platforms (#3)
tustanivsky Jan 31, 2025
98e6efc
Merge branch 'getsentry:main' into refactor
nwhite-riot Jan 31, 2025
90006b8
Fix build issues
nwhite-riot Jan 31, 2025
c90b055
Fix invalid base name
nwhite-riot Jan 31, 2025
a08903f
Fix compilation errors on Linux (#4)
tustanivsky Feb 3, 2025
36d3b47
Merge branch 'getsentry:main' into refactor
nwhite-riot Feb 3, 2025
f5afc9d
Remove max_spans settings given #764
nwhite-riot Feb 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
### Features

- Remove custom transport implementation for Linux ([#748](https://github.com/getsentry/sentry-unreal/pull/748))
- Refactor code to better align with Unreal's structure ([#745](https://github.com/getsentry/sentry-unreal/pull/745))

### Fixes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,8 @@ JNI_METHOD jobject Java_io_sentry_unreal_SentryBridgeJava_onBeforeSend(JNIEnv* e

USentryBeforeSendHandler* handler = reinterpret_cast<USentryBeforeSendHandler*>(objAddr);

USentryEvent* EventToProcess = NewObject<USentryEvent>();
EventToProcess->InitWithNativeImpl(MakeShareable(new SentryEventAndroid(event)));
USentryHint* HintToProcess = NewObject<USentryHint>();
HintToProcess->InitWithNativeImpl(MakeShareable(new SentryHintAndroid(hint)));
USentryEvent* EventToProcess = USentryEvent::Create(MakeShareable(new SentryEventAndroid(event)));
USentryHint* HintToProcess = USentryHint::Create(MakeShareable(new SentryHintAndroid(hint)));

return handler->HandleBeforeSend(EventToProcess, HintToProcess) ? event : nullptr;
}
Expand All @@ -49,8 +47,7 @@ JNI_METHOD jfloat Java_io_sentry_unreal_SentryBridgeJava_onTracesSampler(JNIEnv*

USentryTraceSampler* sampler = reinterpret_cast<USentryTraceSampler*>(objAddr);

USentrySamplingContext* Context = NewObject<USentrySamplingContext>();
Context->InitWithNativeImpl(MakeShareable(new SentrySamplingContextAndroid(samplingContext)));
USentrySamplingContext* Context = USentrySamplingContext::Create(MakeShareable(new SentrySamplingContextAndroid(samplingContext)));

float samplingValue;
if(sampler->Sample(Context, samplingValue))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@ class SentrySubsystemAndroid : public ISentrySubsystem
virtual TSharedPtr<ISentryTransaction> StartTransactionWithContextAndOptions(TSharedPtr<ISentryTransactionContext> context, const TMap<FString, FString>& options) override;
virtual TSharedPtr<ISentryTransactionContext> ContinueTrace(const FString& sentryTrace, const TArray<FString>& baggageHeaders) override;
};

typedef SentrySubsystemAndroid FPlatformSentrySubsystem;
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,16 @@ void SentryTransactionAndroid::SetupClassMethods()
ToSentryTraceMethod = GetMethod("toSentryTrace", "()Lio/sentry/SentryTraceHeader;");
}

TSharedPtr<ISentrySpan> SentryTransactionAndroid::StartChild(const FString& operation, const FString& desctiption)
TSharedPtr<ISentrySpan> SentryTransactionAndroid::StartChildSpan(const FString& operation, const FString& desctiption)
{
auto span = CallObjectMethod<jobject>(StartChildMethod, *GetJString(operation), *GetJString(desctiption));
return MakeShareable(new SentrySpanAndroid(*span));
}

TSharedPtr<ISentrySpan> SentryTransactionAndroid::StartChildWithTimestamp(const FString& operation, const FString& desctiption, int64 timestamp)
TSharedPtr<ISentrySpan> SentryTransactionAndroid::StartChildSpanWithTimestamp(const FString& operation, const FString& desctiption, int64 timestamp)
{
UE_LOG(LogSentrySdk, Log, TEXT("Starting child span with explicit timestamp not supported on Android."));
return StartChild(operation, desctiption);
return StartChildSpan(operation, desctiption);
}

void SentryTransactionAndroid::Finish()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ class SentryTransactionAndroid : public ISentryTransaction, public FSentryJavaOb

void SetupClassMethods();

virtual TSharedPtr<ISentrySpan> StartChild(const FString& operation, const FString& desctiption) override;
virtual TSharedPtr<ISentrySpan> StartChildWithTimestamp(const FString& operation, const FString& desctiption, int64 timestamp) override;
virtual TSharedPtr<ISentrySpan> StartChildSpan(const FString& operation, const FString& desctiption) override;
virtual TSharedPtr<ISentrySpan> StartChildSpanWithTimestamp(const FString& operation, const FString& desctiption, int64 timestamp) override;
virtual void Finish() override;
virtual void FinishWithTimestamp(int64 timestamp) override;
virtual bool IsFinished() const override;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,7 @@ void SentrySubsystemApple::InitWithSettings(const USentrySettings* settings, USe
};
options.beforeSend = ^SentryEvent* (SentryEvent* event) {
FGCScopeGuard GCScopeGuard;
USentryEvent* EventToProcess = NewObject<USentryEvent>();
EventToProcess->InitWithNativeImpl(MakeShareable(new SentryEventApple(event)));
USentryEvent* EventToProcess = USentryEvent::Create(MakeShareable(new SentryEventApple(event)));
return beforeSendHandler->HandleBeforeSend(EventToProcess, nullptr) ? event : nullptr;
};
for (auto it = settings->InAppInclude.CreateConstIterator(); it; ++it)
Expand All @@ -83,8 +82,7 @@ void SentrySubsystemApple::InitWithSettings(const USentrySettings* settings, USe
{
options.tracesSampler = ^NSNumber* (SentrySamplingContext* samplingContext) {
FGCScopeGuard GCScopeGuard;
USentrySamplingContext* Context = NewObject<USentrySamplingContext>();
Context->InitWithNativeImpl(MakeShareable(new SentrySamplingContextApple(samplingContext)));
USentrySamplingContext* Context = USentrySamplingContext::Create(MakeShareable(new SentrySamplingContextApple(samplingContext)));
float samplingValue;
return traceSampler->Sample(Context, samplingValue) ? [NSNumber numberWithFloat:samplingValue] : nil;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@ class SentrySubsystemApple : public ISentrySubsystem
virtual TSharedPtr<ISentryTransaction> StartTransactionWithContextAndOptions(TSharedPtr<ISentryTransactionContext> context, const TMap<FString, FString>& options) override;
virtual TSharedPtr<ISentryTransactionContext> ContinueTrace(const FString& sentryTrace, const TArray<FString>& baggageHeaders) override;
};

typedef SentrySubsystemApple FPlatformSentrySubsystem;
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@ id<SentrySpan> SentryTransactionApple::GetNativeObject()
return TransactionApple;
}

TSharedPtr<ISentrySpan> SentryTransactionApple::StartChild(const FString& operation, const FString& desctiption)
TSharedPtr<ISentrySpan> SentryTransactionApple::StartChildSpan(const FString& operation, const FString& desctiption)
{
id<SentrySpan> span = [TransactionApple startChildWithOperation:operation.GetNSString() description:desctiption.GetNSString()];
return MakeShareable(new SentrySpanApple(span));
}

TSharedPtr<ISentrySpan> SentryTransactionApple::StartChildWithTimestamp(const FString& operation, const FString& desctiption, int64 timestamp)
TSharedPtr<ISentrySpan> SentryTransactionApple::StartChildSpanWithTimestamp(const FString& operation, const FString& desctiption, int64 timestamp)
{
UE_LOG(LogSentrySdk, Log, TEXT("Starting child span with explicit timestamp not supported on Mac/iOS."));
return StartChild(operation, desctiption);
return StartChildSpan(operation, desctiption);
}

void SentryTransactionApple::Finish()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ class SentryTransactionApple : public ISentryTransaction

id<SentrySpan> GetNativeObject();

virtual TSharedPtr<ISentrySpan> StartChild(const FString& operation, const FString& desctiption) override;
virtual TSharedPtr<ISentrySpan> StartChildWithTimestamp(const FString& operation, const FString& desctiption, int64 timestamp) override;
virtual TSharedPtr<ISentrySpan> StartChildSpan(const FString& operation, const FString& desctiption) override;
virtual TSharedPtr<ISentrySpan> StartChildSpanWithTimestamp(const FString& operation, const FString& desctiption, int64 timestamp) override;
virtual void Finish() override;
virtual void FinishWithTimestamp(int64 timestamp) override;
virtual bool IsFinished() const override;
Expand Down
48 changes: 48 additions & 0 deletions plugin-dev/Source/Sentry/Private/Core/SentryDsnUrl.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Copyright (c) 2023 Sentry. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"

#if USE_SENTRY_NATIVE

class FSentryDsnUrl
{
public:
FSentryDsnUrl(const FString& Dsn)
{
FString UrlRemainder;

Dsn.Split(TEXT("://"), &Scheme, &UrlRemainder);
UrlRemainder.Split(TEXT("@"), &Key, &UrlRemainder);
UrlRemainder.Split(TEXT("/"), &Host, &ProjectId);
}

const FString& GetScheme() const
{
return Scheme;
}

const FString& GetHost() const
{
return Host;
}

const FString& GetProjectId() const
{
return ProjectId;
}

const FString& GetKey() const
{
return Key;
}

private:
FString Scheme;
FString Key;
FString Host;
FString ProjectId;
};

#endif // USE_SENTRY_NATIVE

This file was deleted.

This file was deleted.

69 changes: 0 additions & 69 deletions plugin-dev/Source/Sentry/Private/Desktop/SentryEventDesktop.cpp

This file was deleted.

34 changes: 0 additions & 34 deletions plugin-dev/Source/Sentry/Private/Desktop/SentryIdDesktop.cpp

This file was deleted.

Loading
Loading