Skip to content

Commit

Permalink
Merge branch 'main' into feat/blocking-detector
Browse files Browse the repository at this point in the history
  • Loading branch information
jamescrosswell committed Mar 6, 2024
2 parents 322afff + 0edfe93 commit 80be4dd
Show file tree
Hide file tree
Showing 18 changed files with 118 additions and 20 deletions.
7 changes: 7 additions & 0 deletions .generated.NoMobile.sln
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Hangfire", "src\Sent
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Hangfire.Tests", "test\Sentry.Hangfire.Tests\Sentry.Hangfire.Tests.csproj", "{46E40BE8-1AB0-4846-B0A2-A40AD0272C64}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "root", "root", "{233D34AB-970E-4913-AA1E-172E833FB5B2}"
ProjectSection(SolutionItems) = preProject
README.md = README.md
CHANGELOG.md = CHANGELOG.md
CONTRIBUTING.md = CONTRIBUTING.md
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ jobs:
run: dotnet test Sentry-CI-Build-${{ runner.os }}.slnf -c Release --no-build --nologo -l GitHubActions -l "trx;LogFilePrefix=testresults_${{ runner.os }}" --collect "XPlat Code Coverage"

- name: Upload code coverage
uses: codecov/codecov-action@0cfda1dd0a4ad9efc75517f399d859cd1ea4ced1
uses: codecov/codecov-action@54bcd8715eee62d40e33596ef5e8f0f48dbbccab

- name: Upload build and test outputs
if: failure()
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,20 @@

### Fixes

- The Sentry Middleware on ASP.NET Core no longer throws an exception after having been initialized multiple times ([#3185](https://github.com/getsentry/sentry-dotnet/pull/3185))
- Empty strings are used instead of underscores to replace invalid metric tag values ([#3176](https://github.com/getsentry/sentry-dotnet/pull/3176))

### Dependencies

- Bump Java SDK from v7.3.0 to v7.4.0 ([#3164](https://github.com/getsentry/sentry-dotnet/pull/3164))
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#740)
- [diff](https://github.com/getsentry/sentry-java/compare/7.3.0...7.4.0)
- Bump Cocoa SDK from v8.20.0 to v8.21.0 ([#3194](https://github.com/getsentry/sentry-dotnet/pull/3194))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#8210)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.20.0...8.21.0)
- Bump CLI from v2.28.6 to v2.29.1 ([#3193](https://github.com/getsentry/sentry-dotnet/pull/3193))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2291)
- [diff](https://github.com/getsentry/sentry-cli/compare/2.28.6...2.29.1)

## 4.1.2

Expand Down
13 changes: 13 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ For big feature it's advised to raise an issue to discuss it first.
* On Windows:
- [.NET Framework](https://dotnet.microsoft.com/download/dotnet-framework) 4.6.2 or higher.
- `Sentry.DiagnosticSource.IntegrationTests.csproj` uses [SQL LocalDb](https://docs.microsoft.com/sql/database-engine/configure-windows/sql-server-express-localdb) - [download SQL LocalDB 2019](https://download.microsoft.com/download/7/c/1/7c14e92e-bdcb-4f89-b7cf-93543e7112d1/SqlLocalDB.msi). To avoid running these tests, unload `Sentry.DiagnosticSource.IntegrationTests.csproj` from the solution.
- Building Sentry with the Android bindings requires Java. If you're building Sentry using an IDE, typically you provide the path to your Java installation via the IDE settings (open the settings for Visual Studio or Rider and search for "android"). If you want to build Sentry from the command line (using `dotnet build`) then you will need to ensure the `JAVA_HOME` environment variable is set correctly.
* On macOS/Linux
- [Mono 6 or higher](https://www.mono-project.com/download/stable) to run the unit tests on the `net4x` targets.
- Install `CMake` using your favourite package manager (e.g. `brew install cmake`)
Expand Down Expand Up @@ -55,6 +56,18 @@ These `*.props` files are used to add platform-specific files, such as reference

Also note `/Directory.Build.targets` contains some [convention based rules](https://github.com/getsentry/sentry-dotnet/blob/b1bfe1efc04eb4c911a85f1cf4cd2e5a176d7c8a/Directory.Build.targets#L17-L35) to exclude code that is not relevant for the target platform. Developers using Visual Studio will need to enable `Show All Files` in order to be able to see these files, when working with the solution.

## Legacy ASP.NET solutions

When debugging a legacy ASP.NET application with project references to `Sentry.AspNet`, you may need the following workarounds to tooling issues:

#### Microsoft.WebApplication.targets not found

* [Disable Microsoft.WebApplication.targets in Rider](https://youtrack.jetbrains.com/issue/RIDER-87113/Cannot-build-.NET-Framework-projects-with-legacy-style-csproj-after-upgrading-to-2022.3.1)

#### CodeTaskFactory not supported

* [Disable CodeTaskFactory in Roslyn](https://github.com/aspnet/RoslynCodeDomProvider/issues/51#issuecomment-396329427)

## Solution Filters

_TLDR;_ when working with the the Sentry codebase, you should use the solution filters (not the solutions).
Expand Down
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@

<!-- Set the version and local path for Sentry CLI (downloaded in the restore phase of Sentry.csproj) -->
<PropertyGroup Condition="'$(SolutionName)' != 'Sentry.Unity'">
<SentryCLIVersion>2.28.6</SentryCLIVersion>
<SentryCLIVersion>2.29.1</SentryCLIVersion>
<SentryCLIDirectory>$(MSBuildThisFileDirectory)tools\sentry-cli\$(SentryCLIVersion)\</SentryCLIDirectory>
</PropertyGroup>

Expand Down
7 changes: 7 additions & 0 deletions Sentry.sln
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Hangfire", "src\Sent
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Hangfire.Tests", "test\Sentry.Hangfire.Tests\Sentry.Hangfire.Tests.csproj", "{46E40BE8-1AB0-4846-B0A2-A40AD0272C64}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "root", "root", "{233D34AB-970E-4913-AA1E-172E833FB5B2}"
ProjectSection(SolutionItems) = preProject
README.md = README.md
CHANGELOG.md = CHANGELOG.md
CONTRIBUTING.md = CONTRIBUTING.md
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down
2 changes: 1 addition & 1 deletion modules/sentry-cocoa
Submodule sentry-cocoa updated 164 files
10 changes: 7 additions & 3 deletions src/Sentry.AspNetCore/SentryMiddleware.cs
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,13 @@ public async Task InvokeAsync(HttpContext context, RequestDelegate next)
var transactionContext = hub.ContinueTrace(traceHeader, baggageHeader);

// Adding the headers and the TransactionContext to the context to be picked up by the Sentry tracing middleware
context.Items.Add(TraceHeaderItemKey, traceHeader);
context.Items.Add(BaggageHeaderItemKey, baggageHeader);
context.Items.Add(TransactionContextItemKey, transactionContext);
var didAdd = context.Items.TryAdd(TraceHeaderItemKey, traceHeader);
if (!didAdd)
{
_options.LogWarning("Sentry trace was already added. Did you initialize Sentry twice?");
}
context.Items.TryAdd(BaggageHeaderItemKey, baggageHeader);
context.Items.TryAdd(TransactionContextItemKey, transactionContext);

hub.ConfigureScope(scope =>
{
Expand Down
2 changes: 1 addition & 1 deletion src/Sentry.Bindings.Android/Sentry.Bindings.Android.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<TargetFramework>net7.0-android</TargetFramework>
<!-- BG8605 and BG8606 happen because there's a missing androidx.lifecycle dependency, but we don't need it here. (The native Android Sentry SDK will use it if it exists.) -->
<NoWarn>$(NoWarn);BG8605;BG8606</NoWarn>
<SentryAndroidSdkVersion>7.4.0</SentryAndroidSdkVersion>
<SentryAndroidSdkVersion>7.5.0</SentryAndroidSdkVersion>
<SentryAndroidSdkDirectory>$(BaseIntermediateOutputPath)sdks\Sentry\Android\$(SentryAndroidSdkVersion)\</SentryAndroidSdkDirectory>
<Description>.NET Bindings for the Sentry Android SDK</Description>
</PropertyGroup>
Expand Down
25 changes: 25 additions & 0 deletions src/Sentry.Bindings.Cocoa/ApiDefinitions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -828,6 +828,10 @@ interface SentryOptions
[Export ("enableCoreDataTracing")]
bool EnableCoreDataTracing { get; set; }

// @property (assign, nonatomic) BOOL enableAppLaunchProfiling;
[Export ("enableAppLaunchProfiling")]
bool EnableAppLaunchProfiling { get; set; }

// @property (nonatomic, strong) NSNumber * _Nullable profilesSampleRate;
[NullAllowed, Export ("profilesSampleRate", ArgumentSemantic.Strong)]
NSNumber ProfilesSampleRate { get; set; }
Expand Down Expand Up @@ -890,6 +894,14 @@ interface SentryOptions
// @property (copy, nonatomic) NSString * _Nonnull cacheDirectoryPath;
[Export ("cacheDirectoryPath")]
string CacheDirectoryPath { get; set; }

// @property (assign, nonatomic) BOOL enableSpotlight;
[Export ("enableSpotlight")]
bool EnableSpotlight { get; set; }

// @property (copy, nonatomic) NSString * _Nonnull spotlightUrl;
[Export ("spotlightUrl")]
string SpotlightUrl { get; set; }
}

// @protocol SentryIntegrationProtocol <NSObject>
Expand Down Expand Up @@ -1672,6 +1684,11 @@ interface SentrySDK
[Export ("crashedLastRun")]
bool CrashedLastRun { get; }

// @property (readonly, nonatomic, class) BOOL detectedStartUpCrash;
[Static]
[Export ("detectedStartUpCrash")]
bool DetectedStartUpCrash { get; }

// +(void)setUser:(SentryUser * _Nullable)user;
[Static]
[Export ("setUser:")]
Expand Down Expand Up @@ -1739,6 +1756,10 @@ partial interface SentryScope : SentrySerializable
[NullAllowed, Export ("span", ArgumentSemantic.Strong)]
SentrySpan Span { get; set; }

// @property (readonly, copy, nonatomic) NSDictionary<NSString *,NSString *> * _Nonnull tags;
[Export ("tags", ArgumentSemantic.Copy)]
NSDictionary<NSString, NSString> Tags { get; }

// -(instancetype _Nonnull)initWithMaxBreadcrumbs:(NSInteger)maxBreadcrumbs __attribute__((objc_designated_initializer));
[Export ("initWithMaxBreadcrumbs:")]
[DesignatedInitializer]
Expand Down Expand Up @@ -1971,6 +1992,10 @@ interface SentryTransactionContext
[NullAllowed, Export ("sampleRate", ArgumentSemantic.Strong)]
NSNumber SampleRate { get; set; }

// @property (assign, nonatomic) BOOL forNextAppLaunch;
[Export ("forNextAppLaunch")]
bool ForNextAppLaunch { get; set; }

// -(instancetype _Nonnull)initWithName:(NSString * _Nonnull)name operation:(NSString * _Nonnull)operation;
[Export ("initWithName:operation:")]
NativeHandle Constructor (string name, string operation);
Expand Down
12 changes: 11 additions & 1 deletion src/Sentry/Internal/Http/CachingTransport.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,17 @@

namespace Sentry.Internal.Http;

internal class CachingTransport : ITransport, IAsyncDisposable, IDisposable
/// <summary>
/// A transport that caches envelopes to disk and sends them in the background.
/// </summary>
/// <remarks>
/// Note although this class has a <see cref="CachingTransport.DisposeAsync"/>
/// method, it doesn't implement <see cref="IAsyncDisposable"/> as this caused
/// a dependency issue with Log4Net in some situations.
///
/// See https://github.com/getsentry/sentry-dotnet/issues/3178
/// </remarks>
internal class CachingTransport : ITransport, IDisposable
{
private const string EnvelopeFileExt = "envelope";

Expand Down
14 changes: 7 additions & 7 deletions src/Sentry/Sentry.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -110,13 +110,13 @@
<_OSArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)</_OSArchitecture>
</PropertyGroup>
<ItemGroup>
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('OSX')) And $(_OSArchitecture) == 'Arm64')" Include="sentry-cli-Darwin-arm64" FileHash="edd243745f2f7bb49625c9168b1b5f330d9599724fa6125e38c6ecde243c5ae7" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('OSX')) And $(_OSArchitecture) == 'X64')" Include="sentry-cli-Darwin-x86_64" FileHash="2f25d8872d85dad154b68342d7c0b3135477342e4253af799d31195270caf044" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('Linux')) And $(_OSArchitecture) == 'Arm64')" Include="sentry-cli-Linux-aarch64" FileHash="de763704846669f2b8345327333850aecea372310f573aa5838d5868b5ffb681" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('Linux')) And $(_OSArchitecture) == 'X86')" Include="sentry-cli-Linux-i686" FileHash="4ba889f03d984628cd41d3957ef779b43a262b3eefd30d57469c517c7ffb7eb2" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('Linux')) And $(_OSArchitecture) == 'X64')" Include="sentry-cli-Linux-x86_64" FileHash="790c1c4a0e59112d25b8efdf00211881851f4f33443c4e885df336d16b88b457" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('Windows')) And $(_OSArchitecture) == 'X86')" Include="sentry-cli-Windows-i686.exe" FileHash="7a0ee9dfe78841e0ae9e9965a8dc74d544539ed0689b90141fe0323b423c9096" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('Windows')) And $(_OSArchitecture) != 'X86')" Include="sentry-cli-Windows-x86_64.exe" FileHash="162da8bc6e96f0081976f33a66ee8a034f3f8eaf5fb377309b20b36831b42234" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('OSX')) And $(_OSArchitecture) == 'Arm64')" Include="sentry-cli-Darwin-arm64" FileHash="7ab793302f4d36c8513bbe784bfc2c439af913642e743dee2e4d7231139552fc" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('OSX')) And $(_OSArchitecture) == 'X64')" Include="sentry-cli-Darwin-x86_64" FileHash="9dbc86e9d4717f417bed0fc959ff1a44079c61b454832de4d3d227b39a9fac2f" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('Linux')) And $(_OSArchitecture) == 'Arm64')" Include="sentry-cli-Linux-aarch64" FileHash="7a2ce27a6d27fdc1c3fe6e02ff4716eb3f1e0a774f012b017bd3c761b25a245d" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('Linux')) And $(_OSArchitecture) == 'X86')" Include="sentry-cli-Linux-i686" FileHash="916c25adbd7e959228842a3fecb292a0ab323e224249deaf44ab00f2ff2da377" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('Linux')) And $(_OSArchitecture) == 'X64')" Include="sentry-cli-Linux-x86_64" FileHash="e2c14f5723cb4e4bd64458147ff349f754a4eb4d228a6176992bda9b39d4510f" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('Windows')) And $(_OSArchitecture) == 'X86')" Include="sentry-cli-Windows-i686.exe" FileHash="54349a4624dac285290623e1b4177f58d46b1ae5e76cdb083a6ba9644598e139" />
<SentryCLIDownload Condition="'$(CI_PUBLISHING_BUILD)' == 'true' Or ($([MSBuild]::IsOSPlatform('Windows')) And $(_OSArchitecture) != 'X86')" Include="sentry-cli-Windows-x86_64.exe" FileHash="3a7ebf3feb81327547a105e2a86e092458041acac054c4184edc103cae2b91dc" />
</ItemGroup>

<!-- Download the files -->
Expand Down
2 changes: 1 addition & 1 deletion src/Sentry/SentrySdk.cs
Original file line number Diff line number Diff line change
Expand Up @@ -532,7 +532,7 @@ public static void CaptureSession(SessionUpdate sessionUpdate)
/// <param name="sentryId">The optional <see cref="SentryId"/>.</param>
/// <returns>The Id of the check-in.</returns>
[DebuggerStepThrough]
public static SentryId CaptureCheckIn(string monitorSlug, CheckInStatus status, SentryId? sentryId)
public static SentryId CaptureCheckIn(string monitorSlug, CheckInStatus status, SentryId? sentryId = null)
=> CurrentHub.CaptureCheckIn(monitorSlug, status, sentryId);

/// <summary>
Expand Down
25 changes: 25 additions & 0 deletions test/Sentry.AspNetCore.Tests/SentryMiddlewareTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -749,6 +749,31 @@ public async Task InvokeAsync_RequestContainsSentryHeaders_AddsHeadersAndTransac
Assert.NotNull(transactionContext);
}

[Fact]
public async Task InvokeAsync_InvokingWithTheSameContextTwice_DoesNotThrow()
{
var sut = _fixture.GetSut();
var request = Substitute.For<HttpRequest>();
var fakeHeaders = new HeaderDictionary
{
{ "Sentry-Trace", "4b4d2878507b43d3af7dd8c4ab7a96d9-3cc6fd1337d243de"},
{ "Baggage", "sentry-trace_id=4b4d2878507b43d3af7dd8c4ab7a96d9, sentry-public_key=eb18e953812b41c3aeb042e666fd3b5c"},
};
var contextItems = new Dictionary<object, object>();
_fixture.HttpContext.Items.When(items => items.Add(Arg.Any<object>(), Arg.Any<object>()))
.Do(info => contextItems.TryAdd(info.Args()[0], info.Args()[1]));
_ = request.Headers.Returns(fakeHeaders);
_ = _fixture.HttpContext.Request.Returns(request);
_ = request.HttpContext.Returns(_fixture.HttpContext);

// Faking having added the middleware twice by invoking the request with the same context twice
await sut.InvokeAsync(_fixture.HttpContext, _fixture.RequestDelegate);
await sut.InvokeAsync(_fixture.HttpContext, _fixture.RequestDelegate);

_fixture.HttpContext.Items.Received(3); // Sanity check
Assert.Equal(3, contextItems.Count);
}

[Fact]
public void PopulateScope_AddEventProcessors()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -765,7 +765,7 @@ namespace Sentry
public static void AddBreadcrumb(Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary<string, string>? data = null, Sentry.BreadcrumbLevel level = 0) { }
public static void BindClient(Sentry.ISentryClient client) { }
public static void BindException(System.Exception exception, Sentry.ISpan span) { }
public static Sentry.SentryId CaptureCheckIn(string monitorSlug, Sentry.CheckInStatus status, Sentry.SentryId? sentryId) { }
public static Sentry.SentryId CaptureCheckIn(string monitorSlug, Sentry.CheckInStatus status, Sentry.SentryId? sentryId = default) { }
public static bool CaptureEnvelope(Sentry.Protocol.Envelopes.Envelope envelope) { }
public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, System.Action<Sentry.Scope> configureScope) { }
public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null, Sentry.SentryHint? hint = null) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -765,7 +765,7 @@ namespace Sentry
public static void AddBreadcrumb(Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary<string, string>? data = null, Sentry.BreadcrumbLevel level = 0) { }
public static void BindClient(Sentry.ISentryClient client) { }
public static void BindException(System.Exception exception, Sentry.ISpan span) { }
public static Sentry.SentryId CaptureCheckIn(string monitorSlug, Sentry.CheckInStatus status, Sentry.SentryId? sentryId) { }
public static Sentry.SentryId CaptureCheckIn(string monitorSlug, Sentry.CheckInStatus status, Sentry.SentryId? sentryId = default) { }
public static bool CaptureEnvelope(Sentry.Protocol.Envelopes.Envelope envelope) { }
public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, System.Action<Sentry.Scope> configureScope) { }
public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null, Sentry.SentryHint? hint = null) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -767,7 +767,7 @@ namespace Sentry
public static void AddBreadcrumb(Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary<string, string>? data = null, Sentry.BreadcrumbLevel level = 0) { }
public static void BindClient(Sentry.ISentryClient client) { }
public static void BindException(System.Exception exception, Sentry.ISpan span) { }
public static Sentry.SentryId CaptureCheckIn(string monitorSlug, Sentry.CheckInStatus status, Sentry.SentryId? sentryId) { }
public static Sentry.SentryId CaptureCheckIn(string monitorSlug, Sentry.CheckInStatus status, Sentry.SentryId? sentryId = default) { }
public static bool CaptureEnvelope(Sentry.Protocol.Envelopes.Envelope envelope) { }
public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, System.Action<Sentry.Scope> configureScope) { }
public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null, Sentry.SentryHint? hint = null) { }
Expand Down
Loading

0 comments on commit 80be4dd

Please sign in to comment.