From 07a3677e933993df54eb990ffc45f8db9a78f0d3 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Tue, 12 Oct 2021 09:35:11 +1100 Subject: [PATCH 1/2] Use api snapshot to verify api changes (#1248) --- .github/workflows/build.yml | 8 + test/Directory.Build.props | 2 + ...piApprovalTests.Run.DotNet4_6.verified.txt | 13 + test/Sentry.AspNet.Tests/ApiApprovalTests.cs | 17 + .../Sentry.AspNet.Tests.csproj | 1 + ...piApprovalTests.Run.DotNet3_1.verified.txt | 51 + ...piApprovalTests.Run.DotNet5_0.verified.txt | 51 + .../ApiApprovalTests.cs | 17 + ...piApprovalTests.Run.DotNet2_1.verified.txt | 63 + ...piApprovalTests.Run.DotNet3_1.verified.txt | 63 + ...piApprovalTests.Run.DotNet5_0.verified.txt | 63 + .../ApiApprovalTests.cs | 17 + ...piApprovalTests.Run.DotNet2_1.verified.txt | 9 + ...piApprovalTests.Run.DotNet3_1.verified.txt | 1301 +++++++++++++++++ ...piApprovalTests.Run.DotNet4_6.verified.txt | 9 + ...piApprovalTests.Run.DotNet5_0.verified.txt | 1301 +++++++++++++++++ .../ApiApprovalTests.cs | 18 + ...piApprovalTests.Run.DotNet3_1.verified.txt | 45 + ...piApprovalTests.Run.DotNet4_6.verified.txt | 45 + .../ApiApprovalTests.cs | 17 + ...piApprovalTests.Run.DotNet2_1.verified.txt | 52 + ...piApprovalTests.Run.DotNet3_1.verified.txt | 52 + ...piApprovalTests.Run.DotNet4_6.verified.txt | 52 + ...piApprovalTests.Run.DotNet5_0.verified.txt | 52 + .../ApiApprovalTests.cs | 17 + .../Sentry.Extensions.Logging.Tests.csproj | 1 + ...piApprovalTests.Run.DotNet3_1.verified.txt | 10 + ...piApprovalTests.Run.DotNet5_0.verified.txt | 10 + .../ApiApprovalTests.cs | 18 + ...piApprovalTests.Run.DotNet2_1.verified.txt | 14 + ...piApprovalTests.Run.DotNet3_1.verified.txt | 14 + ...piApprovalTests.Run.DotNet4_6.verified.txt | 14 + ...piApprovalTests.Run.DotNet5_0.verified.txt | 14 + test/Sentry.Log4Net.Tests/ApiApprovalTests.cs | 17 + .../Sentry.Log4Net.Tests.csproj | 1 + ...piApprovalTests.Run.DotNet2_1.verified.txt | 83 ++ ...piApprovalTests.Run.DotNet3_1.verified.txt | 83 ++ ...piApprovalTests.Run.DotNet4_6.verified.txt | 83 ++ ...piApprovalTests.Run.DotNet5_0.verified.txt | 83 ++ test/Sentry.NLog.Tests/ApiApprovalTests.cs | 17 + ...piApprovalTests.Run.DotNet2_1.verified.txt | 73 + ...piApprovalTests.Run.DotNet3_1.verified.txt | 73 + ...piApprovalTests.Run.DotNet4_6.verified.txt | 73 + ...piApprovalTests.Run.DotNet5_0.verified.txt | 73 + test/Sentry.Serilog.Tests/ApiApprovalTests.cs | 17 + test/Sentry.Testing/ApiExtensions.cs | 26 + ...piApprovalTests.Run.DotNet2_1.verified.txt | 1300 ++++++++++++++++ ...piApprovalTests.Run.DotNet3_0.verified.txt | 1300 ++++++++++++++++ ...piApprovalTests.Run.DotNet3_1.verified.txt | 1301 +++++++++++++++++ ...piApprovalTests.Run.DotNet4_6.verified.txt | 1301 +++++++++++++++++ ...piApprovalTests.Run.DotNet5_0.verified.txt | 1301 +++++++++++++++++ test/Sentry.Tests/ApiApprovalTests.cs | 16 + test/Sentry.Tests/Sentry.Tests.csproj | 4 - ...piApprovalTests.Run.DotNet3_1.verified.txt | 14 + ...piApprovalTests.Run.DotNet5_0.verified.txt | 14 + test/Sentry.Tunnel.Tests/ApiApprovalTests.cs | 17 + 56 files changed, 10697 insertions(+), 4 deletions(-) create mode 100644 test/Sentry.AspNet.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt create mode 100644 test/Sentry.AspNet.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt create mode 100644 test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt create mode 100644 test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt create mode 100644 test/Sentry.AspNetCore.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt create mode 100644 test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt create mode 100644 test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt create mode 100644 test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.EntityFramework.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.EntityFramework.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt create mode 100644 test/Sentry.EntityFramework.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt create mode 100644 test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt create mode 100644 test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt create mode 100644 test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt create mode 100644 test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt create mode 100644 test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt create mode 100644 test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt create mode 100644 test/Sentry.Log4Net.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt create mode 100644 test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt create mode 100644 test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt create mode 100644 test/Sentry.NLog.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt create mode 100644 test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt create mode 100644 test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt create mode 100644 test/Sentry.Serilog.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.Testing/ApiExtensions.cs create mode 100644 test/Sentry.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt create mode 100644 test/Sentry.Tests/ApiApprovalTests.Run.DotNet3_0.verified.txt create mode 100644 test/Sentry.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt create mode 100644 test/Sentry.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt create mode 100644 test/Sentry.Tests/ApiApprovalTests.cs create mode 100644 test/Sentry.Tunnel.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt create mode 100644 test/Sentry.Tunnel.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt create mode 100644 test/Sentry.Tunnel.Tests/ApiApprovalTests.cs diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dd9ac3b7d0..534616169f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,6 +38,14 @@ jobs: - name: Publish coverage report uses: codecov/codecov-action@v1 + - name: Upload Verify Results + if: failure() + uses: actions/upload-artifact@v2 + with: + name: verify-test-results + path: | + **/*.received.* + - name: Archive Artifacts # only the ps1 script packages the SDK if: matrix.os == 'windows-latest' diff --git a/test/Directory.Build.props b/test/Directory.Build.props index be097056e2..866d6f29f7 100644 --- a/test/Directory.Build.props +++ b/test/Directory.Build.props @@ -25,6 +25,8 @@ + + diff --git a/test/Sentry.AspNet.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt b/test/Sentry.AspNet.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt new file mode 100644 index 0000000000..8fdf157305 --- /dev/null +++ b/test/Sentry.AspNet.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt @@ -0,0 +1,13 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.6.1", FrameworkDisplayName=".NET Framework 4.6.1")] +namespace Sentry.AspNet +{ + public static class HttpContextExtensions + { + public static void FinishSentryTransaction(this System.Web.HttpContext httpContext) { } + public static Sentry.ITransaction StartSentryTransaction(this System.Web.HttpContext httpContext) { } + } + public static class SentryAspNetOptionsExtensions + { + public static void AddAspNet(this Sentry.SentryOptions options, Sentry.Extensibility.RequestSize maxRequestBodySize = 0) { } + } +} \ No newline at end of file diff --git a/test/Sentry.AspNet.Tests/ApiApprovalTests.cs b/test/Sentry.AspNet.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..ead8e3738f --- /dev/null +++ b/test/Sentry.AspNet.Tests/ApiApprovalTests.cs @@ -0,0 +1,17 @@ +using System.Threading.Tasks; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.AspNet.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentryAspNetOptionsExtensions).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.AspNet.Tests/Sentry.AspNet.Tests.csproj b/test/Sentry.AspNet.Tests/Sentry.AspNet.Tests.csproj index efd1a05098..0b354dab11 100644 --- a/test/Sentry.AspNet.Tests/Sentry.AspNet.Tests.csproj +++ b/test/Sentry.AspNet.Tests/Sentry.AspNet.Tests.csproj @@ -10,6 +10,7 @@ + diff --git a/test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..748a388142 --- /dev/null +++ b/test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,51 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v3.0", FrameworkDisplayName="")] +namespace Sentry.AspNetCore.Grpc +{ + public class DefaultProtobufRequestPayloadExtractor : Sentry.AspNetCore.Grpc.IProtobufRequestPayloadExtractor + { + public DefaultProtobufRequestPayloadExtractor() { } + public Google.Protobuf.IMessage ExtractPayload(Sentry.AspNetCore.Grpc.IProtobufRequest request) + where TRequest : class, Google.Protobuf.IMessage { } + } + public interface IProtobufRequestPayloadExtractor + { + Google.Protobuf.IMessage? ExtractPayload(Sentry.AspNetCore.Grpc.IProtobufRequest request) + where TRequest : class, Google.Protobuf.IMessage; + } + public interface IProtobufRequest + { + long? ContentLength { get; } + TRequest Request { get; } + } + public class ProtobufRequestExtractionDispatcher : Sentry.AspNetCore.Grpc.IProtobufRequestPayloadExtractor + { + public ProtobufRequestExtractionDispatcher(System.Collections.Generic.IEnumerable extractors, Sentry.SentryOptions options, System.Func sizeSwitch) { } + public Google.Protobuf.IMessage? ExtractPayload(Sentry.AspNetCore.Grpc.IProtobufRequest request) + where TRequest : class, Google.Protobuf.IMessage { } + } + public static class ScopeExtensions + { + public static void Populate(this Sentry.Scope scope, Grpc.Core.ServerCallContext context, TRequest? request, Sentry.AspNetCore.SentryAspNetCoreOptions options) + where TRequest : class { } + } + public static class SentryBuilderExtensions + { + public static Sentry.AspNetCore.ISentryBuilder AddGrpc(this Sentry.AspNetCore.ISentryBuilder builder) { } + } + public class SentryGrpcInterceptor : Grpc.Core.Interceptors.Interceptor + { + public SentryGrpcInterceptor(System.Func hubAccessor, Microsoft.Extensions.Options.IOptions options) { } + public override System.Threading.Tasks.Task ClientStreamingServerHandler(Grpc.Core.IAsyncStreamReader requestStream, Grpc.Core.ServerCallContext context, Grpc.Core.ClientStreamingServerMethod continuation) + where TRequest : class + where TResponse : class { } + public override System.Threading.Tasks.Task DuplexStreamingServerHandler(Grpc.Core.IAsyncStreamReader requestStream, Grpc.Core.IServerStreamWriter responseStream, Grpc.Core.ServerCallContext context, Grpc.Core.DuplexStreamingServerMethod continuation) + where TRequest : class + where TResponse : class { } + public override System.Threading.Tasks.Task ServerStreamingServerHandler(TRequest request, Grpc.Core.IServerStreamWriter responseStream, Grpc.Core.ServerCallContext context, Grpc.Core.ServerStreamingServerMethod continuation) + where TRequest : class + where TResponse : class { } + public override System.Threading.Tasks.Task UnaryServerHandler(TRequest request, Grpc.Core.ServerCallContext context, Grpc.Core.UnaryServerMethod continuation) + where TRequest : class + where TResponse : class { } + } +} \ No newline at end of file diff --git a/test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt b/test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt new file mode 100644 index 0000000000..37e2ecc95d --- /dev/null +++ b/test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt @@ -0,0 +1,51 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName="")] +namespace Sentry.AspNetCore.Grpc +{ + public class DefaultProtobufRequestPayloadExtractor : Sentry.AspNetCore.Grpc.IProtobufRequestPayloadExtractor + { + public DefaultProtobufRequestPayloadExtractor() { } + public Google.Protobuf.IMessage ExtractPayload(Sentry.AspNetCore.Grpc.IProtobufRequest request) + where TRequest : class, Google.Protobuf.IMessage { } + } + public interface IProtobufRequestPayloadExtractor + { + Google.Protobuf.IMessage? ExtractPayload(Sentry.AspNetCore.Grpc.IProtobufRequest request) + where TRequest : class, Google.Protobuf.IMessage; + } + public interface IProtobufRequest + { + long? ContentLength { get; } + TRequest Request { get; } + } + public class ProtobufRequestExtractionDispatcher : Sentry.AspNetCore.Grpc.IProtobufRequestPayloadExtractor + { + public ProtobufRequestExtractionDispatcher(System.Collections.Generic.IEnumerable extractors, Sentry.SentryOptions options, System.Func sizeSwitch) { } + public Google.Protobuf.IMessage? ExtractPayload(Sentry.AspNetCore.Grpc.IProtobufRequest request) + where TRequest : class, Google.Protobuf.IMessage { } + } + public static class ScopeExtensions + { + public static void Populate(this Sentry.Scope scope, Grpc.Core.ServerCallContext context, TRequest? request, Sentry.AspNetCore.SentryAspNetCoreOptions options) + where TRequest : class { } + } + public static class SentryBuilderExtensions + { + public static Sentry.AspNetCore.ISentryBuilder AddGrpc(this Sentry.AspNetCore.ISentryBuilder builder) { } + } + public class SentryGrpcInterceptor : Grpc.Core.Interceptors.Interceptor + { + public SentryGrpcInterceptor(System.Func hubAccessor, Microsoft.Extensions.Options.IOptions options) { } + public override System.Threading.Tasks.Task ClientStreamingServerHandler(Grpc.Core.IAsyncStreamReader requestStream, Grpc.Core.ServerCallContext context, Grpc.Core.ClientStreamingServerMethod continuation) + where TRequest : class + where TResponse : class { } + public override System.Threading.Tasks.Task DuplexStreamingServerHandler(Grpc.Core.IAsyncStreamReader requestStream, Grpc.Core.IServerStreamWriter responseStream, Grpc.Core.ServerCallContext context, Grpc.Core.DuplexStreamingServerMethod continuation) + where TRequest : class + where TResponse : class { } + public override System.Threading.Tasks.Task ServerStreamingServerHandler(TRequest request, Grpc.Core.IServerStreamWriter responseStream, Grpc.Core.ServerCallContext context, Grpc.Core.ServerStreamingServerMethod continuation) + where TRequest : class + where TResponse : class { } + public override System.Threading.Tasks.Task UnaryServerHandler(TRequest request, Grpc.Core.ServerCallContext context, Grpc.Core.UnaryServerMethod continuation) + where TRequest : class + where TResponse : class { } + } +} \ No newline at end of file diff --git a/test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.cs b/test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..ddfcd4c864 --- /dev/null +++ b/test/Sentry.AspNetCore.Grpc.Tests/ApiApprovalTests.cs @@ -0,0 +1,17 @@ +using System.Threading.Tasks; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.AspNetCore.Grpc.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentryGrpcInterceptor).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt b/test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt new file mode 100644 index 0000000000..9283a6f808 --- /dev/null +++ b/test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt @@ -0,0 +1,63 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="")] +namespace Microsoft.AspNetCore.Builder +{ + public static class SentryTracingMiddlewareExtensions { } +} +namespace Microsoft.AspNetCore.Hosting +{ + public static class SentryWebHostBuilderExtensions { } +} +namespace Microsoft.Extensions.DependencyInjection +{ + public static class ServiceCollectionExtensions { } +} +namespace Sentry.AspNetCore +{ + public interface ISentryBuilder + { + Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } + } + public interface IUserFactory + { + Sentry.User? Create(Microsoft.AspNetCore.Http.HttpContext context); + } + public static class SamplingExtensions + { + public static string? TryGetHttpMethod(this Sentry.TransactionSamplingContext samplingContext) { } + public static string? TryGetHttpPath(this Sentry.TransactionSamplingContext samplingContext) { } + public static string? TryGetHttpRoute(this Sentry.TransactionSamplingContext samplingContext) { } + } + public static class ScopeExtensions + { + public static void Populate(this Sentry.Scope scope, System.Diagnostics.Activity activity) { } + public static void Populate(this Sentry.Scope scope, Microsoft.AspNetCore.Http.HttpContext context, Sentry.AspNetCore.SentryAspNetCoreOptions options) { } + } + [Microsoft.Extensions.Logging.ProviderAlias("Sentry")] + public class SentryAspNetCoreLoggerProvider : Sentry.Extensions.Logging.SentryLoggerProvider + { + public SentryAspNetCoreLoggerProvider(Microsoft.Extensions.Options.IOptions options, Sentry.IHub hub) { } + } + public class SentryAspNetCoreOptions : Sentry.Extensions.Logging.SentryLoggingOptions + { + public SentryAspNetCoreOptions() { } + public bool AdjustStandardEnvironmentNameCasing { get; set; } + public bool FlushOnCompletedRequest { get; set; } + public System.TimeSpan FlushTimeout { get; set; } + public bool IncludeActivityData { get; set; } + public Sentry.Extensibility.RequestSize MaxRequestBodySize { get; set; } + } + public class SentryAspNetCoreOptionsSetup : Microsoft.Extensions.Options.ConfigureFromConfigurationOptions + { + public SentryAspNetCoreOptionsSetup(Microsoft.Extensions.Logging.Configuration.ILoggerProviderConfiguration providerConfiguration, Microsoft.AspNetCore.Hosting.IHostingEnvironment hostingEnvironment) { } + public override void Configure(Sentry.AspNetCore.SentryAspNetCoreOptions options) { } + } + public static class SentryBuilderExtensions + { + public static Sentry.AspNetCore.ISentryBuilder AddSentryOptions(this Sentry.AspNetCore.ISentryBuilder builder, System.Action? configureOptions) { } + } + public class SentryStartupFilter : Microsoft.AspNetCore.Hosting.IStartupFilter + { + public SentryStartupFilter() { } + public System.Action Configure(System.Action next) { } + } +} \ No newline at end of file diff --git a/test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..90a15695dd --- /dev/null +++ b/test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,63 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v3.0", FrameworkDisplayName="")] +namespace Microsoft.AspNetCore.Builder +{ + public static class SentryTracingMiddlewareExtensions { } +} +namespace Microsoft.AspNetCore.Hosting +{ + public static class SentryWebHostBuilderExtensions { } +} +namespace Microsoft.Extensions.DependencyInjection +{ + public static class ServiceCollectionExtensions { } +} +namespace Sentry.AspNetCore +{ + public interface ISentryBuilder + { + Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } + } + public interface IUserFactory + { + Sentry.User? Create(Microsoft.AspNetCore.Http.HttpContext context); + } + public static class SamplingExtensions + { + public static string? TryGetHttpMethod(this Sentry.TransactionSamplingContext samplingContext) { } + public static string? TryGetHttpPath(this Sentry.TransactionSamplingContext samplingContext) { } + public static string? TryGetHttpRoute(this Sentry.TransactionSamplingContext samplingContext) { } + } + public static class ScopeExtensions + { + public static void Populate(this Sentry.Scope scope, System.Diagnostics.Activity activity) { } + public static void Populate(this Sentry.Scope scope, Microsoft.AspNetCore.Http.HttpContext context, Sentry.AspNetCore.SentryAspNetCoreOptions options) { } + } + [Microsoft.Extensions.Logging.ProviderAlias("Sentry")] + public class SentryAspNetCoreLoggerProvider : Sentry.Extensions.Logging.SentryLoggerProvider + { + public SentryAspNetCoreLoggerProvider(Microsoft.Extensions.Options.IOptions options, Sentry.IHub hub) { } + } + public class SentryAspNetCoreOptions : Sentry.Extensions.Logging.SentryLoggingOptions + { + public SentryAspNetCoreOptions() { } + public bool AdjustStandardEnvironmentNameCasing { get; set; } + public bool FlushOnCompletedRequest { get; set; } + public System.TimeSpan FlushTimeout { get; set; } + public bool IncludeActivityData { get; set; } + public Sentry.Extensibility.RequestSize MaxRequestBodySize { get; set; } + } + public class SentryAspNetCoreOptionsSetup : Microsoft.Extensions.Options.ConfigureFromConfigurationOptions + { + public SentryAspNetCoreOptionsSetup(Microsoft.Extensions.Logging.Configuration.ILoggerProviderConfiguration providerConfiguration, Microsoft.AspNetCore.Hosting.IWebHostEnvironment hostingEnvironment) { } + public override void Configure(Sentry.AspNetCore.SentryAspNetCoreOptions options) { } + } + public static class SentryBuilderExtensions + { + public static Sentry.AspNetCore.ISentryBuilder AddSentryOptions(this Sentry.AspNetCore.ISentryBuilder builder, System.Action? configureOptions) { } + } + public class SentryStartupFilter : Microsoft.AspNetCore.Hosting.IStartupFilter + { + public SentryStartupFilter() { } + public System.Action Configure(System.Action next) { } + } +} \ No newline at end of file diff --git a/test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt b/test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt new file mode 100644 index 0000000000..5a875a03e5 --- /dev/null +++ b/test/Sentry.AspNetCore.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt @@ -0,0 +1,63 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName="")] +namespace Microsoft.AspNetCore.Builder +{ + public static class SentryTracingMiddlewareExtensions { } +} +namespace Microsoft.AspNetCore.Hosting +{ + public static class SentryWebHostBuilderExtensions { } +} +namespace Microsoft.Extensions.DependencyInjection +{ + public static class ServiceCollectionExtensions { } +} +namespace Sentry.AspNetCore +{ + public interface ISentryBuilder + { + Microsoft.Extensions.DependencyInjection.IServiceCollection Services { get; } + } + public interface IUserFactory + { + Sentry.User? Create(Microsoft.AspNetCore.Http.HttpContext context); + } + public static class SamplingExtensions + { + public static string? TryGetHttpMethod(this Sentry.TransactionSamplingContext samplingContext) { } + public static string? TryGetHttpPath(this Sentry.TransactionSamplingContext samplingContext) { } + public static string? TryGetHttpRoute(this Sentry.TransactionSamplingContext samplingContext) { } + } + public static class ScopeExtensions + { + public static void Populate(this Sentry.Scope scope, System.Diagnostics.Activity activity) { } + public static void Populate(this Sentry.Scope scope, Microsoft.AspNetCore.Http.HttpContext context, Sentry.AspNetCore.SentryAspNetCoreOptions options) { } + } + [Microsoft.Extensions.Logging.ProviderAlias("Sentry")] + public class SentryAspNetCoreLoggerProvider : Sentry.Extensions.Logging.SentryLoggerProvider + { + public SentryAspNetCoreLoggerProvider(Microsoft.Extensions.Options.IOptions options, Sentry.IHub hub) { } + } + public class SentryAspNetCoreOptions : Sentry.Extensions.Logging.SentryLoggingOptions + { + public SentryAspNetCoreOptions() { } + public bool AdjustStandardEnvironmentNameCasing { get; set; } + public bool FlushOnCompletedRequest { get; set; } + public System.TimeSpan FlushTimeout { get; set; } + public bool IncludeActivityData { get; set; } + public Sentry.Extensibility.RequestSize MaxRequestBodySize { get; set; } + } + public class SentryAspNetCoreOptionsSetup : Microsoft.Extensions.Options.ConfigureFromConfigurationOptions + { + public SentryAspNetCoreOptionsSetup(Microsoft.Extensions.Logging.Configuration.ILoggerProviderConfiguration providerConfiguration, Microsoft.AspNetCore.Hosting.IWebHostEnvironment hostingEnvironment) { } + public override void Configure(Sentry.AspNetCore.SentryAspNetCoreOptions options) { } + } + public static class SentryBuilderExtensions + { + public static Sentry.AspNetCore.ISentryBuilder AddSentryOptions(this Sentry.AspNetCore.ISentryBuilder builder, System.Action? configureOptions) { } + } + public class SentryStartupFilter : Microsoft.AspNetCore.Hosting.IStartupFilter + { + public SentryStartupFilter() { } + public System.Action Configure(System.Action next) { } + } +} \ No newline at end of file diff --git a/test/Sentry.AspNetCore.Tests/ApiApprovalTests.cs b/test/Sentry.AspNetCore.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..55ec45c915 --- /dev/null +++ b/test/Sentry.AspNetCore.Tests/ApiApprovalTests.cs @@ -0,0 +1,17 @@ +using System.Threading.Tasks; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.AspNetCore.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentryAspNetCoreBuilder).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt b/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt new file mode 100644 index 0000000000..9f4537a115 --- /dev/null +++ b/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt @@ -0,0 +1,9 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="")] +namespace Sentry +{ + public static class SentryOptionsDiagnosticExtensions + { + public static void AddDiagnosticSourceIntegration(this Sentry.SentryOptions options) { } + public static void DisableDiagnosticSourceIntegration(this Sentry.SentryOptions options) { } + } +} \ No newline at end of file diff --git a/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..a9c316d813 --- /dev/null +++ b/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,1301 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v3.0", FrameworkDisplayName="")] +namespace Sentry +{ + [System.Diagnostics.DebuggerDisplay("{FileName}")] + public class Attachment + { + public Attachment(Sentry.AttachmentType type, Sentry.IAttachmentContent content, string fileName, string? contentType) { } + public Sentry.IAttachmentContent Content { get; } + public string? ContentType { get; } + public string FileName { get; } + public Sentry.AttachmentType Type { get; } + } + public enum AttachmentType + { + Default = 0, + Minidump = 1, + AppleCrashReport = 2, + UnrealContext = 3, + UnrealLogs = 4, + } + [System.Diagnostics.DebuggerDisplay("Message: {Message}, Type: {Type}")] + public sealed class Breadcrumb : Sentry.IJsonSerializable + { + public Breadcrumb(string message, string type, System.Collections.Generic.IReadOnlyDictionary? data = null, string? category = null, Sentry.BreadcrumbLevel level = 0) { } + public string? Category { get; } + public System.Collections.Generic.IReadOnlyDictionary? Data { get; } + public Sentry.BreadcrumbLevel Level { get; } + public string? Message { get; } + public System.DateTimeOffset Timestamp { get; } + public string? Type { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Breadcrumb FromJson(System.Text.Json.JsonElement json) { } + } + public enum BreadcrumbLevel + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = -1, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 0, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 1, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 2, + [System.Runtime.Serialization.EnumMember(Value="critical")] + Critical = 3, + } + public static class Constants + { + public const int DefaultMaxBreadcrumbs = 100; + public const string DisableSdkDsnValue = ""; + public const string Platform = "csharp"; + public const int ProtocolVersion = 7; + } + public sealed class Contexts : System.Collections.Concurrent.ConcurrentDictionary, Sentry.IJsonSerializable + { + public Contexts() { } + public Sentry.Protocol.App App { get; } + public Sentry.Protocol.Browser Browser { get; } + public Sentry.Protocol.Device Device { get; } + public Sentry.Protocol.Gpu Gpu { get; } + public Sentry.Protocol.OperatingSystem OperatingSystem { get; } + public Sentry.Protocol.Runtime Runtime { get; } + public Sentry.Protocol.Trace Trace { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Contexts FromJson(System.Text.Json.JsonElement json) { } + } + [System.Flags] + public enum DeduplicateMode + { + SameEvent = 1, + SameExceptionInstance = 2, + InnerException = 4, + AggregateException = 8, + All = 2147483647, + } + public class DefaultSentryScopeStateProcessor : Sentry.ISentryScopeStateProcessor + { + public DefaultSentryScopeStateProcessor() { } + public void Apply(Sentry.Scope scope, object state) { } + } + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.All)] + public class DsnAttribute : System.Attribute + { + public DsnAttribute(string dsn) { } + public string Dsn { get; } + } + public static class EventLikeExtensions + { + public static bool HasUser(this Sentry.IEventLike eventLike) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, System.Collections.Generic.IEnumerable fingerprint) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, params string[] fingerprint) { } + } + public class FileAttachmentContent : Sentry.IAttachmentContent + { + public FileAttachmentContent(string filePath) { } + public System.IO.Stream GetStream() { } + } + public static class HasBreadcrumbsExtensions + { + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category, string? type, System.ValueTuple? dataPair = default, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, System.DateTimeOffset? timestamp, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + } + public static class HasExtraExtensions + { + public static void SetExtras(this Sentry.IHasExtra hasExtra, System.Collections.Generic.IEnumerable> values) { } + } + public static class HasTagsExtensions + { + public static void SetTags(this Sentry.IHasTags hasTags, System.Collections.Generic.IEnumerable> tags) { } + } + public static class HubExtensions + { + public static void AddBreadcrumb(this Sentry.IHub hub, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHub hub, Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void LockScope(this Sentry.IHub hub) { } + public static System.IDisposable PushAndLockScope(this Sentry.IHub hub) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, string? description) { } + public static void UnlockScope(this Sentry.IHub hub) { } + } + public interface IAttachmentContent + { + System.IO.Stream GetStream(); + } + public interface IEventLike : Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + Sentry.Contexts Contexts { get; set; } + string? Environment { get; set; } + System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + Sentry.SentryLevel? Level { get; set; } + string? Platform { get; set; } + string? Release { get; set; } + Sentry.Request Request { get; set; } + Sentry.SdkVersion Sdk { get; } + string? TransactionName { get; set; } + Sentry.User User { get; set; } + } + public interface IHasBreadcrumbs + { + System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + } + public interface IHasExtra + { + System.Collections.Generic.IReadOnlyDictionary Extra { get; } + void SetExtra(string key, object? value); + } + public interface IHasTags + { + System.Collections.Generic.IReadOnlyDictionary Tags { get; } + void SetTag(string key, string value); + void UnsetTag(string key); + } + public interface IHub : Sentry.ISentryClient, Sentry.ISentryScopeManager + { + Sentry.SentryId LastEventId { get; } + void BindException(System.Exception exception, Sentry.ISpan span); + void EndSession(Sentry.SessionEndStatus status = 0); + Sentry.ISpan? GetSpan(); + Sentry.SentryTraceHeader? GetTraceHeader(); + void PauseSession(); + void ResumeSession(); + void StartSession(); + Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext); + } + public interface IJsonSerializable + { + void WriteTo(System.Text.Json.Utf8JsonWriter writer); + } + public interface IScopeObserver + { + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + void SetExtra(string key, object? value); + void SetTag(string key, string value); + void SetUser(Sentry.User? user); + void UnsetTag(string key); + } + public interface ISentryClient + { + bool IsEnabled { get; } + Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null); + void CaptureSession(Sentry.SessionUpdate sessionUpdate); + void CaptureTransaction(Sentry.Transaction transaction); + void CaptureUserFeedback(Sentry.UserFeedback userFeedback); + System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout); + } + public interface ISentryScopeManager + { + void BindClient(Sentry.ISentryClient client); + void ConfigureScope(System.Action configureScope); + System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope); + System.IDisposable PushScope(); + System.IDisposable PushScope(TState state); + void WithScope(System.Action scopeCallback); + } + public interface ISentryScopeStateProcessor + { + void Apply(Sentry.Scope scope, object state); + } + public interface ISession + { + string? DistinctId { get; } + string? Environment { get; } + int ErrorCount { get; } + Sentry.SentryId Id { get; } + string? IpAddress { get; } + string Release { get; } + System.DateTimeOffset StartTimestamp { get; } + string? UserAgent { get; } + } + public interface ISpan : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + new string? Description { get; set; } + new string Operation { get; set; } + new Sentry.SpanStatus? Status { get; set; } + void Finish(); + void Finish(Sentry.SpanStatus status); + void Finish(System.Exception exception); + void Finish(System.Exception exception, Sentry.SpanStatus status); + Sentry.ISpan StartChild(string operation); + } + public interface ISpanContext : Sentry.Protocol.ITraceContext { } + public interface ISpanData : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + System.DateTimeOffset? EndTimestamp { get; } + bool IsFinished { get; } + System.DateTimeOffset StartTimestamp { get; } + Sentry.SentryTraceHeader GetTraceHeader(); + } + public interface ITransaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + new bool? IsParentSampled { get; set; } + new string Name { get; set; } + System.Collections.Generic.IReadOnlyCollection Spans { get; } + Sentry.ISpan? GetLastActiveSpan(); + } + public interface ITransactionContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + bool? IsParentSampled { get; } + string Name { get; } + } + public interface ITransactionData : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext { } + public sealed class Package : Sentry.IJsonSerializable + { + public Package(string name, string version) { } + public string Name { get; } + public string Version { get; } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Package FromJson(System.Text.Json.JsonElement json) { } + } + public enum ReportAssembliesMode + { + None = 0, + Version = 1, + InformationalVersion = 2, + } + public sealed class Request : Sentry.IJsonSerializable + { + public Request() { } + public string? Cookies { get; set; } + public object? Data { get; set; } + public System.Collections.Generic.IDictionary Env { get; } + public System.Collections.Generic.IDictionary Headers { get; } + public string? Method { get; set; } + public System.Collections.Generic.IDictionary Other { get; } + public string? QueryString { get; set; } + public string? Url { get; set; } + public Sentry.Request Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Request FromJson(System.Text.Json.JsonElement json) { } + } + public class Scope : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + public Scope(Sentry.SentryOptions? options) { } + public System.Collections.Generic.IReadOnlyCollection Attachments { get; } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.ITransaction? Transaction { get; set; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddAttachment(Sentry.Attachment attachment) { } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Apply(Sentry.IEventLike other) { } + public void Apply(Sentry.Scope other) { } + public void Apply(object state) { } + public void ClearAttachments() { } + public Sentry.Scope Clone() { } + public Sentry.ISpan? GetSpan() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + } + public static class ScopeExtensions + { + public static void AddAttachment(this Sentry.Scope scope, string filePath, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, byte[] data, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, System.IO.Stream stream, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddEventProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessor(this Sentry.Scope scope, System.Func processor) { } + public static void AddEventProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.Scope scope) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.Scope scope) { } + } + public sealed class SdkVersion : Sentry.IJsonSerializable + { + public SdkVersion() { } + public string? Name { get; set; } + public System.Collections.Generic.IEnumerable Packages { get; } + public string? Version { get; set; } + public void AddPackage(string name, string version) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SdkVersion FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryClient : Sentry.ISentryClient, System.IDisposable + { + public SentryClient(Sentry.SentryOptions options) { } + public bool IsEnabled { get; } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent? @event, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void Dispose() { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + } + public static class SentryClientExtensions + { + public static Sentry.SentryId CaptureException(this Sentry.ISentryClient client, System.Exception ex) { } + public static Sentry.SentryId CaptureMessage(this Sentry.ISentryClient client, string message, Sentry.SentryLevel level = 1) { } + public static void CaptureUserFeedback(this Sentry.ISentryClient client, Sentry.SentryId eventId, string email, string comments, string? name = null) { } + } + [System.Diagnostics.DebuggerDisplay("{GetType().Name,nq}: {EventId,nq}")] + public sealed class SentryEvent : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable + { + public SentryEvent() { } + public SentryEvent(System.Exception? exception) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Exception? Exception { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Logger { get; set; } + public Sentry.SentryMessage? Message { get; set; } + public System.Collections.Generic.IDictionary Modules { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IEnumerable? SentryExceptions { get; set; } + public System.Collections.Generic.IEnumerable? SentryThreads { get; set; } + public string? ServerName { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public System.DateTimeOffset Timestamp { get; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryEvent FromJson(System.Text.Json.JsonElement json) { } + } + public static class SentryEventExtensions { } + public class SentryHttpMessageHandler : System.Net.Http.DelegatingHandler + { + public SentryHttpMessageHandler() { } + public SentryHttpMessageHandler(Sentry.IHub hub) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler, Sentry.IHub hub) { } + protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { } + } + public readonly struct SentryId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SentryId Empty; + public SentryId(System.Guid guid) { } + public bool Equals(Sentry.SentryId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryId Create() { } + public static Sentry.SentryId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryId Parse(string value) { } + public static System.Guid op_Implicit(Sentry.SentryId sentryId) { } + public static Sentry.SentryId op_Implicit(System.Guid guid) { } + public static bool operator !=(Sentry.SentryId left, Sentry.SentryId right) { } + public static bool operator ==(Sentry.SentryId left, Sentry.SentryId right) { } + } + public enum SentryLevel : short + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = 0, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 1, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 2, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 3, + [System.Runtime.Serialization.EnumMember(Value="fatal")] + Fatal = 4, + } + public sealed class SentryMessage : Sentry.IJsonSerializable + { + public SentryMessage() { } + public string? Formatted { get; set; } + public string? Message { get; set; } + public System.Collections.Generic.IEnumerable? Params { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryMessage FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryMessage op_Implicit(string? message) { } + } + public class SentryOptions + { + public SentryOptions() { } + public bool AttachStacktrace { get; set; } + public bool AutoSessionTracking { get; set; } + public System.TimeSpan AutoSessionTrackingInterval { get; set; } + public System.Func? BeforeBreadcrumb { get; set; } + public System.Func? BeforeSend { get; set; } + public string? CacheDirectoryPath { get; set; } + public System.Action? ConfigureClient { get; set; } + public System.Func? CrashedLastRun { get; set; } + public System.Func? CreateHttpClientHandler { get; set; } + public bool Debug { get; set; } + public System.Net.DecompressionMethods DecompressionMethods { get; set; } + public Sentry.DeduplicateMode DeduplicateMode { get; set; } + public System.Collections.Generic.Dictionary DefaultTags { get; } + public Sentry.StartupTimeDetectionMode DetectStartupTime { get; set; } + public Sentry.SentryLevel DiagnosticLevel { get; set; } + public Sentry.Extensibility.IDiagnosticLogger? DiagnosticLogger { get; set; } + public string? Dsn { get; set; } + public bool EnableScopeSync { get; set; } + public string? Environment { get; set; } + public System.Net.IWebProxy? HttpProxy { get; set; } + public System.TimeSpan InitCacheFlushTimeout { get; set; } + public bool IsEnvironmentUser { get; set; } + public bool IsGlobalModeEnabled { get; set; } + public long MaxAttachmentSize { get; set; } + public int MaxBreadcrumbs { get; set; } + public int MaxCacheItems { get; set; } + public int MaxQueueItems { get; set; } + public string? Release { get; set; } + [System.Obsolete("Use ReportAssembliesMode instead", false)] + public bool ReportAssemblies { get; set; } + public Sentry.ReportAssembliesMode ReportAssembliesMode { get; set; } + public bool RequestBodyCompressionBuffered { get; set; } + public System.IO.Compression.CompressionLevel RequestBodyCompressionLevel { get; set; } + public float? SampleRate { get; set; } + public Sentry.IScopeObserver? ScopeObserver { get; set; } + public bool SendDefaultPii { get; set; } + public Sentry.ISentryScopeStateProcessor SentryScopeStateProcessor { get; set; } + public string? ServerName { get; set; } + public System.TimeSpan ShutdownTimeout { get; set; } + public Sentry.StackTraceMode StackTraceMode { get; set; } + public double TracesSampleRate { get; set; } + public System.Func? TracesSampler { get; set; } + } + public static class SentryOptionsExtensions + { + public static void AddEventProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddEventProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionFilter(this Sentry.SentryOptions options, Sentry.Extensibility.IExceptionFilter exceptionFilter) { } + public static void AddExceptionFilterForType(this Sentry.SentryOptions options) + where TException : System.Exception { } + public static void AddExceptionProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddExceptionProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddInAppExclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddInAppInclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddIntegration(this Sentry.SentryOptions options, Sentry.Integrations.ISdkIntegration integration) { } + public static void ApplyDefaultTags(this Sentry.SentryOptions options, Sentry.IHasTags hasTags) { } + public static void DisableAppDomainProcessExitFlush(this Sentry.SentryOptions options) { } + public static void DisableAppDomainUnhandledExceptionCapture(this Sentry.SentryOptions options) { } + public static void DisableDiagnosticSourceIntegration(this Sentry.SentryOptions options) { } + public static void DisableDuplicateEventDetection(this Sentry.SentryOptions options) { } + public static void DisableTaskUnobservedTaskExceptionCapture(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.SentryOptions options) { } + public static Sentry.SentryOptions UseStackTraceFactory(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryStackTraceFactory sentryStackTraceFactory) { } + } + public static class SentrySdk + { + public static bool IsEnabled { get; } + public static Sentry.SentryId LastEventId { get; } + public static void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? 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 CaptureEvent(Sentry.SentryEvent evt) { } + public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public static Sentry.SentryId CaptureException(System.Exception exception) { } + public static Sentry.SentryId CaptureMessage(string message, Sentry.SentryLevel level = 1) { } + public static void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public static void CaptureTransaction(Sentry.Transaction transaction) { } + public static void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public static void CaptureUserFeedback(Sentry.SentryId eventId, string email, string comments, string? name = null) { } + public static void Close() { } + public static void ConfigureScope(System.Action configureScope) { } + public static System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public static void EndSession(Sentry.SessionEndStatus status = 0) { } + public static System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public static Sentry.ISpan? GetSpan() { } + public static Sentry.SentryTraceHeader? GetTraceHeader() { } + public static System.IDisposable Init() { } + public static System.IDisposable Init(Sentry.SentryOptions options) { } + public static System.IDisposable Init(System.Action? configureOptions) { } + public static System.IDisposable Init(string? dsn) { } + public static void PauseSession() { } + public static System.IDisposable PushScope() { } + public static System.IDisposable PushScope(TState state) { } + public static void ResumeSession() { } + public static void StartSession() { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public static Sentry.ITransaction StartTransaction(string name, string operation) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, string? description) { } + public static void WithScope(System.Action scopeCallback) { } + } + public sealed class SentryStackFrame : Sentry.IJsonSerializable + { + public SentryStackFrame() { } + public string? AbsolutePath { get; set; } + public int? ColumnNumber { get; set; } + public string? ContextLine { get; set; } + public string? FileName { get; set; } + public System.Collections.Generic.IList FramesOmitted { get; } + public string? Function { get; set; } + public long ImageAddress { get; set; } + public bool? InApp { get; set; } + public string? InstructionAddress { get; set; } + public long? InstructionOffset { get; set; } + public int? LineNumber { get; set; } + public string? Module { get; set; } + public string? Package { get; set; } + public string? Platform { get; set; } + public System.Collections.Generic.IList PostContext { get; } + public System.Collections.Generic.IList PreContext { get; } + public long? SymbolAddress { get; set; } + public System.Collections.Generic.IDictionary Vars { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackFrame FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryStackTrace : Sentry.IJsonSerializable + { + public SentryStackTrace() { } + public System.Collections.Generic.IList Frames { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackTrace FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryThread : Sentry.IJsonSerializable + { + public SentryThread() { } + public bool? Crashed { get; set; } + public bool? Current { get; set; } + public int? Id { get; set; } + public string? Name { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryThread FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryTraceHeader + { + public SentryTraceHeader(Sentry.SentryId traceId, Sentry.SpanId spanSpanId, bool? isSampled) { } + public bool? IsSampled { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SentryId TraceId { get; } + public override string ToString() { } + public static Sentry.SentryTraceHeader Parse(string value) { } + } + public sealed class SentryValues : Sentry.IJsonSerializable + { + public SentryValues(System.Collections.Generic.IEnumerable? values) { } + public System.Collections.Generic.IEnumerable Values { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + } + public class Session : Sentry.ISession + { + public Session(string? distinctId, string release, string? environment) { } + public string? DistinctId { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public string Release { get; } + public System.DateTimeOffset StartTimestamp { get; } + public string? UserAgent { get; } + public void ReportError() { } + } + public enum SessionEndStatus + { + Exited = 0, + Crashed = 1, + Abnormal = 2, + } + public class SessionUpdate : Sentry.IJsonSerializable, Sentry.ISession + { + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial) { } + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.ISession session, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.SentryId id, string? distinctId, System.DateTimeOffset startTimestamp, string release, string? environment, string? ipAddress, string? userAgent, int errorCount, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public string? DistinctId { get; } + public System.TimeSpan Duration { get; } + public Sentry.SessionEndStatus? EndStatus { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public bool IsInitial { get; } + public string Release { get; } + public int SequenceNumber { get; } + public System.DateTimeOffset StartTimestamp { get; } + public System.DateTimeOffset Timestamp { get; } + public string? UserAgent { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SessionUpdate FromJson(System.Text.Json.JsonElement json) { } + } + public class Span : Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public Span(Sentry.ISpan tracer) { } + public Span(Sentry.SpanId? parentSpanId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Span FromJson(System.Text.Json.JsonElement json) { } + } + public class SpanContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + public SpanContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled) { } + public string? Description { get; } + public bool? IsSampled { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SpanStatus? Status { get; } + public Sentry.SentryId TraceId { get; } + } + public static class SpanExtensions + { + public static Sentry.ISpan StartChild(this Sentry.ISpan span, string operation, string? description) { } + } + public readonly struct SpanId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SpanId Empty; + public SpanId(string value) { } + public bool Equals(Sentry.SpanId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SpanId Create() { } + public static Sentry.SpanId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SpanId Parse(string value) { } + public static string op_Implicit(Sentry.SpanId id) { } + public static bool operator !=(Sentry.SpanId left, Sentry.SpanId right) { } + public static bool operator ==(Sentry.SpanId left, Sentry.SpanId right) { } + } + public enum SpanStatus + { + Ok = 0, + DeadlineExceeded = 1, + Unauthenticated = 2, + PermissionDenied = 3, + NotFound = 4, + ResourceExhausted = 5, + InvalidArgument = 6, + Unimplemented = 7, + Unavailable = 8, + InternalError = 9, + UnknownError = 10, + Cancelled = 11, + AlreadyExists = 12, + FailedPrecondition = 13, + Aborted = 14, + OutOfRange = 15, + DataLoss = 16, + } + public class SpanTracer : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public SpanTracer(Sentry.IHub hub, Sentry.TransactionTracer transaction, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public enum StackTraceMode + { + Original = 0, + Enhanced = 1, + } + public enum StartupTimeDetectionMode + { + None = 0, + Fast = 1, + Best = 2, + } + public class StreamAttachmentContent : Sentry.IAttachmentContent + { + public StreamAttachmentContent(System.IO.Stream stream) { } + public System.IO.Stream GetStream() { } + } + public class Transaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public Transaction(Sentry.ITransaction tracer) { } + public Transaction(string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Transaction FromJson(System.Text.Json.JsonElement json) { } + } + public class TransactionContext : Sentry.SpanContext, Sentry.ISpanContext, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext + { + public TransactionContext(string name, string operation) { } + public TransactionContext(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public TransactionContext(string name, string operation, bool? isSampled) { } + public TransactionContext(Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, bool? isParentSampled) { } + public TransactionContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled, bool? isParentSampled) { } + public bool? IsParentSampled { get; } + public string Name { get; } + } + public class TransactionSamplingContext + { + public TransactionSamplingContext(Sentry.ITransactionContext transactionContext, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public System.Collections.Generic.IReadOnlyDictionary CustomSamplingContext { get; } + public Sentry.ITransactionContext TransactionContext { get; } + } + public class TransactionTracer : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransaction, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public TransactionTracer(Sentry.IHub hub, Sentry.ITransactionContext context) { } + public TransactionTracer(Sentry.IHub hub, string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; set; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.ISpan? GetLastActiveSpan() { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public sealed class User : Sentry.IJsonSerializable + { + public User() { } + public string? Email { get; set; } + public string? Id { get; set; } + public string? IpAddress { get; set; } + public System.Collections.Generic.IDictionary Other { get; set; } + public string? Username { get; set; } + public Sentry.User Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.User FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class UserFeedback : Sentry.IJsonSerializable + { + public UserFeedback(Sentry.SentryId eventId, string? name, string? email, string? comments) { } + public string? Comments { get; } + public string? Email { get; } + public Sentry.SentryId EventId { get; } + public string? Name { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.UserFeedback FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Extensibility +{ + public abstract class BaseRequestPayloadExtractor : Sentry.Extensibility.IRequestPayloadExtractor + { + protected BaseRequestPayloadExtractor() { } + protected abstract object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request); + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + protected abstract bool IsSupported(Sentry.Extensibility.IHttpRequest request); + } + public class DefaultRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public DefaultRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public static class DiagnosticLoggerExtensions + { + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, System.Exception exception, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2, TArg3 arg3, TArg4 arg4) { } + public static void LogFatal(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + } + public class DisabledHub : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager, System.IDisposable + { + public static readonly Sentry.Extensibility.DisabledHub Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void Dispose() { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public class FormRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public FormRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public sealed class HubAdapter : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager + { + public static readonly Sentry.Extensibility.HubAdapter Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void AddBreadcrumb(Sentry.Infrastructure.ISystemClock clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public Sentry.SentryId CaptureException(System.Exception exception) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback sentryUserFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public interface IDiagnosticLogger + { + bool IsEnabled(Sentry.SentryLevel level); + void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args); + } + public interface IExceptionFilter + { + bool Filter(System.Exception ex); + } + public interface IHttpRequest + { + System.IO.Stream? Body { get; } + long? ContentLength { get; } + string? ContentType { get; } + System.Collections.Generic.IEnumerable>>? Form { get; } + } + public interface IRequestPayloadExtractor + { + object? ExtractPayload(Sentry.Extensibility.IHttpRequest request); + } + public interface ISentryEventExceptionProcessor + { + void Process(System.Exception exception, Sentry.SentryEvent sentryEvent); + } + public interface ISentryEventProcessor + { + Sentry.SentryEvent? Process(Sentry.SentryEvent @event); + } + public interface ISentryStackTraceFactory + { + Sentry.SentryStackTrace? Create(System.Exception? exception = null); + } + public class RequestBodyExtractionDispatcher : Sentry.Extensibility.IRequestPayloadExtractor + { + public RequestBodyExtractionDispatcher(System.Collections.Generic.IEnumerable extractors, Sentry.SentryOptions options, System.Func sizeSwitch) { } + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + } + public enum RequestSize + { + None = 0, + Small = 1, + Medium = 2, + Always = 3, + } + public abstract class SentryEventExceptionProcessor : Sentry.Extensibility.ISentryEventExceptionProcessor + where TException : System.Exception + { + protected SentryEventExceptionProcessor() { } + public void Process(System.Exception? exception, Sentry.SentryEvent sentryEvent) { } + protected abstract void ProcessException(TException exception, Sentry.SentryEvent sentryEvent); + } + public class SentryStackTraceFactory : Sentry.Extensibility.ISentryStackTraceFactory + { + public SentryStackTraceFactory(Sentry.SentryOptions options) { } + public virtual Sentry.SentryStackTrace? Create(System.Exception? exception = null) { } + protected virtual Sentry.SentryStackFrame CreateFrame(System.Diagnostics.StackFrame stackFrame, bool isCurrentStackTrace) { } + protected virtual System.Diagnostics.StackTrace CreateStackTrace(System.Exception? exception) { } + protected virtual System.Reflection.MethodBase? GetMethod(System.Diagnostics.StackFrame stackFrame) { } + protected Sentry.SentryStackFrame InternalCreateFrame(System.Diagnostics.StackFrame stackFrame, bool demangle) { } + } +} +namespace Sentry.Http +{ + public interface ISentryHttpClientFactory + { + System.Net.Http.HttpClient Create(Sentry.SentryOptions options); + } +} +namespace Sentry.Infrastructure +{ + public class ConsoleDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public ConsoleDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [System.Obsolete("Logger doesn\'t work outside of Sentry SDK. Please use TraceDiagnosticLogger inste" + + "ad")] + public class DebugDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public DebugDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + public interface ISystemClock + { + System.DateTimeOffset GetUtcNow(); + } + public sealed class SystemClock : Sentry.Infrastructure.ISystemClock + { + public static readonly Sentry.Infrastructure.SystemClock Clock; + public SystemClock() { } + public System.DateTimeOffset GetUtcNow() { } + } + public class TraceDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public TraceDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } +} +namespace Sentry.Integrations +{ + public interface ISdkIntegration + { + void Register(Sentry.IHub hub, Sentry.SentryOptions options); + } +} +namespace Sentry.PlatformAbstractions +{ + public static class FrameworkInfo + { + public static System.Collections.Generic.IReadOnlyDictionary NetFxReleaseVersionMap { get; } + public static System.Collections.Generic.IEnumerable GetInstallations() { } + public static Sentry.PlatformAbstractions.FrameworkInstallation? GetLatest(int clr) { } + } + public class FrameworkInstallation + { + public FrameworkInstallation() { } + public Sentry.PlatformAbstractions.FrameworkProfile? Profile { get; set; } + public int? Release { get; set; } + public int? ServicePack { get; set; } + public string? ShortName { get; set; } + public System.Version? Version { get; set; } + public override string ToString() { } + } + public enum FrameworkProfile + { + Client = 0, + Full = 1, + } + public class Runtime + { + public Runtime(string? name = null, string? version = null, string? raw = null) { } + public string? Name { get; } + public string? Raw { get; } + public string? Version { get; } + public static Sentry.PlatformAbstractions.Runtime Current { get; } + public bool Equals(Sentry.PlatformAbstractions.Runtime other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string? ToString() { } + } + public static class RuntimeExtensions + { + public static bool IsMono(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetCore(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetFx(this Sentry.PlatformAbstractions.Runtime runtime) { } + } +} +namespace Sentry.Protocol +{ + public sealed class App : Sentry.IJsonSerializable + { + public const string Type = "app"; + public App() { } + public string? Build { get; set; } + public string? BuildType { get; set; } + public string? Hash { get; set; } + public string? Identifier { get; set; } + public string? Name { get; set; } + public System.DateTimeOffset? StartTime { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.App FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Browser : Sentry.IJsonSerializable + { + public const string Type = "browser"; + public Browser() { } + public string? Name { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Browser FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Device : Sentry.IJsonSerializable + { + public const string Type = "device"; + public Device() { } + public string? Architecture { get; set; } + public short? BatteryLevel { get; set; } + public string? BatteryStatus { get; set; } + public System.DateTimeOffset? BootTime { get; set; } + public string? Brand { get; set; } + public string? CpuDescription { get; set; } + public string? DeviceType { get; set; } + public string? DeviceUniqueIdentifier { get; set; } + public long? ExternalFreeStorage { get; set; } + public long? ExternalStorageSize { get; set; } + public string? Family { get; set; } + public long? FreeMemory { get; set; } + public long? FreeStorage { get; set; } + public bool? IsCharging { get; set; } + public bool? IsOnline { get; set; } + public bool? LowMemory { get; set; } + public string? Manufacturer { get; set; } + public long? MemorySize { get; set; } + public string? Model { get; set; } + public string? ModelId { get; set; } + public string? Name { get; set; } + public Sentry.Protocol.DeviceOrientation? Orientation { get; set; } + public int? ProcessorCount { get; set; } + public int? ProcessorFrequency { get; set; } + public float? ScreenDensity { get; set; } + public int? ScreenDpi { get; set; } + public string? ScreenResolution { get; set; } + public bool? Simulator { get; set; } + public long? StorageSize { get; set; } + public bool? SupportsAccelerometer { get; set; } + public bool? SupportsAudio { get; set; } + public bool? SupportsGyroscope { get; set; } + public bool? SupportsLocationService { get; set; } + public bool? SupportsVibration { get; set; } + public System.TimeZoneInfo? Timezone { get; set; } + public long? UsableMemory { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Device FromJson(System.Text.Json.JsonElement json) { } + } + public enum DeviceOrientation + { + [System.Runtime.Serialization.EnumMember(Value="portrait")] + Portrait = 0, + [System.Runtime.Serialization.EnumMember(Value="landscape")] + Landscape = 1, + } + public sealed class Gpu : Sentry.IJsonSerializable + { + public const string Type = "gpu"; + public Gpu() { } + public string? ApiType { get; set; } + public string? GraphicsShaderLevel { get; set; } + public int? Id { get; set; } + public int? MaxTextureSize { get; set; } + public int? MemorySize { get; set; } + public bool? MultiThreadedRendering { get; set; } + public string? Name { get; set; } + public string? NpotSupport { get; set; } + public bool? SupportsComputeShaders { get; set; } + public bool? SupportsDrawCallInstancing { get; set; } + public bool? SupportsGeometryShaders { get; set; } + public bool? SupportsRayTracing { get; set; } + public string? VendorId { get; set; } + public string? VendorName { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Gpu FromJson(System.Text.Json.JsonElement json) { } + } + public interface ITraceContext + { + string? Description { get; } + bool? IsSampled { get; } + string Operation { get; } + Sentry.SpanId? ParentSpanId { get; } + Sentry.SpanId SpanId { get; } + Sentry.SpanStatus? Status { get; } + Sentry.SentryId TraceId { get; } + } + public sealed class Mechanism : Sentry.IJsonSerializable + { + public static readonly string HandledKey; + public static readonly string MechanismKey; + public Mechanism() { } + public System.Collections.Generic.IDictionary Data { get; } + public string? Description { get; set; } + public bool? Handled { get; set; } + public string? HelpLink { get; set; } + public System.Collections.Generic.IDictionary Meta { get; } + public string? Type { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Mechanism FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class OperatingSystem : Sentry.IJsonSerializable + { + public const string Type = "os"; + public OperatingSystem() { } + public string? Build { get; set; } + public string? KernelVersion { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public bool? Rooted { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.OperatingSystem FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Runtime : Sentry.IJsonSerializable + { + public const string Type = "runtime"; + public Runtime() { } + public string? Build { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public string? Version { get; set; } + public Sentry.Protocol.Runtime Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Runtime FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryException : Sentry.IJsonSerializable + { + public SentryException() { } + public System.Collections.Generic.IDictionary Data { get; } + public Sentry.Protocol.Mechanism? Mechanism { get; set; } + public string? Module { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public int ThreadId { get; set; } + public string? Type { get; set; } + public string? Value { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.SentryException FromJson(System.Text.Json.JsonElement json) { } + } + public class Trace : Sentry.IJsonSerializable, Sentry.Protocol.ITraceContext + { + public const string Type = "trace"; + public Trace() { } + public string? Description { get; set; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; set; } + public Sentry.SpanId SpanId { get; set; } + public Sentry.SpanStatus? Status { get; set; } + public Sentry.SentryId TraceId { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Trace FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Reflection +{ + public static class AssemblyExtensions + { + public static Sentry.SdkVersion GetNameAndVersion(this System.Reflection.Assembly asm) { } + } +} +public static class SentryExceptionExtensions +{ + public static void AddSentryContext(this System.Exception ex, string name, System.Collections.Generic.IReadOnlyDictionary data) { } + public static void AddSentryTag(this System.Exception ex, string name, string value) { } +} \ No newline at end of file diff --git a/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt b/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt new file mode 100644 index 0000000000..fc3cfb64f2 --- /dev/null +++ b/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt @@ -0,0 +1,9 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.6.1", FrameworkDisplayName=".NET Framework 4.6.1")] +namespace Sentry +{ + public static class SentryOptionsDiagnosticExtensions + { + public static void AddDiagnosticSourceIntegration(this Sentry.SentryOptions options) { } + public static void DisableDiagnosticSourceIntegration(this Sentry.SentryOptions options) { } + } +} \ No newline at end of file diff --git a/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt b/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt new file mode 100644 index 0000000000..fde187b244 --- /dev/null +++ b/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt @@ -0,0 +1,1301 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName="")] +namespace Sentry +{ + [System.Diagnostics.DebuggerDisplay("{FileName}")] + public class Attachment + { + public Attachment(Sentry.AttachmentType type, Sentry.IAttachmentContent content, string fileName, string? contentType) { } + public Sentry.IAttachmentContent Content { get; } + public string? ContentType { get; } + public string FileName { get; } + public Sentry.AttachmentType Type { get; } + } + public enum AttachmentType + { + Default = 0, + Minidump = 1, + AppleCrashReport = 2, + UnrealContext = 3, + UnrealLogs = 4, + } + [System.Diagnostics.DebuggerDisplay("Message: {Message}, Type: {Type}")] + public sealed class Breadcrumb : Sentry.IJsonSerializable + { + public Breadcrumb(string message, string type, System.Collections.Generic.IReadOnlyDictionary? data = null, string? category = null, Sentry.BreadcrumbLevel level = 0) { } + public string? Category { get; } + public System.Collections.Generic.IReadOnlyDictionary? Data { get; } + public Sentry.BreadcrumbLevel Level { get; } + public string? Message { get; } + public System.DateTimeOffset Timestamp { get; } + public string? Type { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Breadcrumb FromJson(System.Text.Json.JsonElement json) { } + } + public enum BreadcrumbLevel + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = -1, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 0, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 1, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 2, + [System.Runtime.Serialization.EnumMember(Value="critical")] + Critical = 3, + } + public static class Constants + { + public const int DefaultMaxBreadcrumbs = 100; + public const string DisableSdkDsnValue = ""; + public const string Platform = "csharp"; + public const int ProtocolVersion = 7; + } + public sealed class Contexts : System.Collections.Concurrent.ConcurrentDictionary, Sentry.IJsonSerializable + { + public Contexts() { } + public Sentry.Protocol.App App { get; } + public Sentry.Protocol.Browser Browser { get; } + public Sentry.Protocol.Device Device { get; } + public Sentry.Protocol.Gpu Gpu { get; } + public Sentry.Protocol.OperatingSystem OperatingSystem { get; } + public Sentry.Protocol.Runtime Runtime { get; } + public Sentry.Protocol.Trace Trace { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Contexts FromJson(System.Text.Json.JsonElement json) { } + } + [System.Flags] + public enum DeduplicateMode + { + SameEvent = 1, + SameExceptionInstance = 2, + InnerException = 4, + AggregateException = 8, + All = 2147483647, + } + public class DefaultSentryScopeStateProcessor : Sentry.ISentryScopeStateProcessor + { + public DefaultSentryScopeStateProcessor() { } + public void Apply(Sentry.Scope scope, object state) { } + } + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.All)] + public class DsnAttribute : System.Attribute + { + public DsnAttribute(string dsn) { } + public string Dsn { get; } + } + public static class EventLikeExtensions + { + public static bool HasUser(this Sentry.IEventLike eventLike) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, System.Collections.Generic.IEnumerable fingerprint) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, params string[] fingerprint) { } + } + public class FileAttachmentContent : Sentry.IAttachmentContent + { + public FileAttachmentContent(string filePath) { } + public System.IO.Stream GetStream() { } + } + public static class HasBreadcrumbsExtensions + { + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category, string? type, System.ValueTuple? dataPair = default, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, System.DateTimeOffset? timestamp, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + } + public static class HasExtraExtensions + { + public static void SetExtras(this Sentry.IHasExtra hasExtra, System.Collections.Generic.IEnumerable> values) { } + } + public static class HasTagsExtensions + { + public static void SetTags(this Sentry.IHasTags hasTags, System.Collections.Generic.IEnumerable> tags) { } + } + public static class HubExtensions + { + public static void AddBreadcrumb(this Sentry.IHub hub, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHub hub, Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void LockScope(this Sentry.IHub hub) { } + public static System.IDisposable PushAndLockScope(this Sentry.IHub hub) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, string? description) { } + public static void UnlockScope(this Sentry.IHub hub) { } + } + public interface IAttachmentContent + { + System.IO.Stream GetStream(); + } + public interface IEventLike : Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + Sentry.Contexts Contexts { get; set; } + string? Environment { get; set; } + System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + Sentry.SentryLevel? Level { get; set; } + string? Platform { get; set; } + string? Release { get; set; } + Sentry.Request Request { get; set; } + Sentry.SdkVersion Sdk { get; } + string? TransactionName { get; set; } + Sentry.User User { get; set; } + } + public interface IHasBreadcrumbs + { + System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + } + public interface IHasExtra + { + System.Collections.Generic.IReadOnlyDictionary Extra { get; } + void SetExtra(string key, object? value); + } + public interface IHasTags + { + System.Collections.Generic.IReadOnlyDictionary Tags { get; } + void SetTag(string key, string value); + void UnsetTag(string key); + } + public interface IHub : Sentry.ISentryClient, Sentry.ISentryScopeManager + { + Sentry.SentryId LastEventId { get; } + void BindException(System.Exception exception, Sentry.ISpan span); + void EndSession(Sentry.SessionEndStatus status = 0); + Sentry.ISpan? GetSpan(); + Sentry.SentryTraceHeader? GetTraceHeader(); + void PauseSession(); + void ResumeSession(); + void StartSession(); + Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext); + } + public interface IJsonSerializable + { + void WriteTo(System.Text.Json.Utf8JsonWriter writer); + } + public interface IScopeObserver + { + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + void SetExtra(string key, object? value); + void SetTag(string key, string value); + void SetUser(Sentry.User? user); + void UnsetTag(string key); + } + public interface ISentryClient + { + bool IsEnabled { get; } + Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null); + void CaptureSession(Sentry.SessionUpdate sessionUpdate); + void CaptureTransaction(Sentry.Transaction transaction); + void CaptureUserFeedback(Sentry.UserFeedback userFeedback); + System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout); + } + public interface ISentryScopeManager + { + void BindClient(Sentry.ISentryClient client); + void ConfigureScope(System.Action configureScope); + System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope); + System.IDisposable PushScope(); + System.IDisposable PushScope(TState state); + void WithScope(System.Action scopeCallback); + } + public interface ISentryScopeStateProcessor + { + void Apply(Sentry.Scope scope, object state); + } + public interface ISession + { + string? DistinctId { get; } + string? Environment { get; } + int ErrorCount { get; } + Sentry.SentryId Id { get; } + string? IpAddress { get; } + string Release { get; } + System.DateTimeOffset StartTimestamp { get; } + string? UserAgent { get; } + } + public interface ISpan : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + new string? Description { get; set; } + new string Operation { get; set; } + new Sentry.SpanStatus? Status { get; set; } + void Finish(); + void Finish(Sentry.SpanStatus status); + void Finish(System.Exception exception); + void Finish(System.Exception exception, Sentry.SpanStatus status); + Sentry.ISpan StartChild(string operation); + } + public interface ISpanContext : Sentry.Protocol.ITraceContext { } + public interface ISpanData : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + System.DateTimeOffset? EndTimestamp { get; } + bool IsFinished { get; } + System.DateTimeOffset StartTimestamp { get; } + Sentry.SentryTraceHeader GetTraceHeader(); + } + public interface ITransaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + new bool? IsParentSampled { get; set; } + new string Name { get; set; } + System.Collections.Generic.IReadOnlyCollection Spans { get; } + Sentry.ISpan? GetLastActiveSpan(); + } + public interface ITransactionContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + bool? IsParentSampled { get; } + string Name { get; } + } + public interface ITransactionData : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext { } + public sealed class Package : Sentry.IJsonSerializable + { + public Package(string name, string version) { } + public string Name { get; } + public string Version { get; } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Package FromJson(System.Text.Json.JsonElement json) { } + } + public enum ReportAssembliesMode + { + None = 0, + Version = 1, + InformationalVersion = 2, + } + public sealed class Request : Sentry.IJsonSerializable + { + public Request() { } + public string? Cookies { get; set; } + public object? Data { get; set; } + public System.Collections.Generic.IDictionary Env { get; } + public System.Collections.Generic.IDictionary Headers { get; } + public string? Method { get; set; } + public System.Collections.Generic.IDictionary Other { get; } + public string? QueryString { get; set; } + public string? Url { get; set; } + public Sentry.Request Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Request FromJson(System.Text.Json.JsonElement json) { } + } + public class Scope : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + public Scope(Sentry.SentryOptions? options) { } + public System.Collections.Generic.IReadOnlyCollection Attachments { get; } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.ITransaction? Transaction { get; set; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddAttachment(Sentry.Attachment attachment) { } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Apply(Sentry.IEventLike other) { } + public void Apply(Sentry.Scope other) { } + public void Apply(object state) { } + public void ClearAttachments() { } + public Sentry.Scope Clone() { } + public Sentry.ISpan? GetSpan() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + } + public static class ScopeExtensions + { + public static void AddAttachment(this Sentry.Scope scope, string filePath, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, byte[] data, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, System.IO.Stream stream, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddEventProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessor(this Sentry.Scope scope, System.Func processor) { } + public static void AddEventProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.Scope scope) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.Scope scope) { } + } + public sealed class SdkVersion : Sentry.IJsonSerializable + { + public SdkVersion() { } + public string? Name { get; set; } + public System.Collections.Generic.IEnumerable Packages { get; } + public string? Version { get; set; } + public void AddPackage(string name, string version) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SdkVersion FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryClient : Sentry.ISentryClient, System.IDisposable + { + public SentryClient(Sentry.SentryOptions options) { } + public bool IsEnabled { get; } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent? @event, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void Dispose() { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + } + public static class SentryClientExtensions + { + public static Sentry.SentryId CaptureException(this Sentry.ISentryClient client, System.Exception ex) { } + public static Sentry.SentryId CaptureMessage(this Sentry.ISentryClient client, string message, Sentry.SentryLevel level = 1) { } + public static void CaptureUserFeedback(this Sentry.ISentryClient client, Sentry.SentryId eventId, string email, string comments, string? name = null) { } + } + [System.Diagnostics.DebuggerDisplay("{GetType().Name,nq}: {EventId,nq}")] + public sealed class SentryEvent : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable + { + public SentryEvent() { } + public SentryEvent(System.Exception? exception) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Exception? Exception { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Logger { get; set; } + public Sentry.SentryMessage? Message { get; set; } + public System.Collections.Generic.IDictionary Modules { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IEnumerable? SentryExceptions { get; set; } + public System.Collections.Generic.IEnumerable? SentryThreads { get; set; } + public string? ServerName { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public System.DateTimeOffset Timestamp { get; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryEvent FromJson(System.Text.Json.JsonElement json) { } + } + public static class SentryEventExtensions { } + public class SentryHttpMessageHandler : System.Net.Http.DelegatingHandler + { + public SentryHttpMessageHandler() { } + public SentryHttpMessageHandler(Sentry.IHub hub) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler, Sentry.IHub hub) { } + protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { } + } + public readonly struct SentryId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SentryId Empty; + public SentryId(System.Guid guid) { } + public bool Equals(Sentry.SentryId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryId Create() { } + public static Sentry.SentryId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryId Parse(string value) { } + public static System.Guid op_Implicit(Sentry.SentryId sentryId) { } + public static Sentry.SentryId op_Implicit(System.Guid guid) { } + public static bool operator !=(Sentry.SentryId left, Sentry.SentryId right) { } + public static bool operator ==(Sentry.SentryId left, Sentry.SentryId right) { } + } + public enum SentryLevel : short + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = 0, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 1, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 2, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 3, + [System.Runtime.Serialization.EnumMember(Value="fatal")] + Fatal = 4, + } + public sealed class SentryMessage : Sentry.IJsonSerializable + { + public SentryMessage() { } + public string? Formatted { get; set; } + public string? Message { get; set; } + public System.Collections.Generic.IEnumerable? Params { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryMessage FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryMessage op_Implicit(string? message) { } + } + public class SentryOptions + { + public SentryOptions() { } + public bool AttachStacktrace { get; set; } + public bool AutoSessionTracking { get; set; } + public System.TimeSpan AutoSessionTrackingInterval { get; set; } + public System.Func? BeforeBreadcrumb { get; set; } + public System.Func? BeforeSend { get; set; } + public string? CacheDirectoryPath { get; set; } + public System.Action? ConfigureClient { get; set; } + public System.Func? CrashedLastRun { get; set; } + public System.Func? CreateHttpClientHandler { get; set; } + public bool Debug { get; set; } + public System.Net.DecompressionMethods DecompressionMethods { get; set; } + public Sentry.DeduplicateMode DeduplicateMode { get; set; } + public System.Collections.Generic.Dictionary DefaultTags { get; } + public Sentry.StartupTimeDetectionMode DetectStartupTime { get; set; } + public Sentry.SentryLevel DiagnosticLevel { get; set; } + public Sentry.Extensibility.IDiagnosticLogger? DiagnosticLogger { get; set; } + public string? Dsn { get; set; } + public bool EnableScopeSync { get; set; } + public string? Environment { get; set; } + public System.Net.IWebProxy? HttpProxy { get; set; } + public System.TimeSpan InitCacheFlushTimeout { get; set; } + public bool IsEnvironmentUser { get; set; } + public bool IsGlobalModeEnabled { get; set; } + public long MaxAttachmentSize { get; set; } + public int MaxBreadcrumbs { get; set; } + public int MaxCacheItems { get; set; } + public int MaxQueueItems { get; set; } + public string? Release { get; set; } + [System.Obsolete("Use ReportAssembliesMode instead", false)] + public bool ReportAssemblies { get; set; } + public Sentry.ReportAssembliesMode ReportAssembliesMode { get; set; } + public bool RequestBodyCompressionBuffered { get; set; } + public System.IO.Compression.CompressionLevel RequestBodyCompressionLevel { get; set; } + public float? SampleRate { get; set; } + public Sentry.IScopeObserver? ScopeObserver { get; set; } + public bool SendDefaultPii { get; set; } + public Sentry.ISentryScopeStateProcessor SentryScopeStateProcessor { get; set; } + public string? ServerName { get; set; } + public System.TimeSpan ShutdownTimeout { get; set; } + public Sentry.StackTraceMode StackTraceMode { get; set; } + public double TracesSampleRate { get; set; } + public System.Func? TracesSampler { get; set; } + } + public static class SentryOptionsExtensions + { + public static void AddEventProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddEventProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionFilter(this Sentry.SentryOptions options, Sentry.Extensibility.IExceptionFilter exceptionFilter) { } + public static void AddExceptionFilterForType(this Sentry.SentryOptions options) + where TException : System.Exception { } + public static void AddExceptionProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddExceptionProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddInAppExclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddInAppInclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddIntegration(this Sentry.SentryOptions options, Sentry.Integrations.ISdkIntegration integration) { } + public static void ApplyDefaultTags(this Sentry.SentryOptions options, Sentry.IHasTags hasTags) { } + public static void DisableAppDomainProcessExitFlush(this Sentry.SentryOptions options) { } + public static void DisableAppDomainUnhandledExceptionCapture(this Sentry.SentryOptions options) { } + public static void DisableDiagnosticSourceIntegration(this Sentry.SentryOptions options) { } + public static void DisableDuplicateEventDetection(this Sentry.SentryOptions options) { } + public static void DisableTaskUnobservedTaskExceptionCapture(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.SentryOptions options) { } + public static Sentry.SentryOptions UseStackTraceFactory(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryStackTraceFactory sentryStackTraceFactory) { } + } + public static class SentrySdk + { + public static bool IsEnabled { get; } + public static Sentry.SentryId LastEventId { get; } + public static void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? 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 CaptureEvent(Sentry.SentryEvent evt) { } + public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public static Sentry.SentryId CaptureException(System.Exception exception) { } + public static Sentry.SentryId CaptureMessage(string message, Sentry.SentryLevel level = 1) { } + public static void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public static void CaptureTransaction(Sentry.Transaction transaction) { } + public static void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public static void CaptureUserFeedback(Sentry.SentryId eventId, string email, string comments, string? name = null) { } + public static void Close() { } + public static void ConfigureScope(System.Action configureScope) { } + public static System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public static void EndSession(Sentry.SessionEndStatus status = 0) { } + public static System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public static Sentry.ISpan? GetSpan() { } + public static Sentry.SentryTraceHeader? GetTraceHeader() { } + public static System.IDisposable Init() { } + public static System.IDisposable Init(Sentry.SentryOptions options) { } + public static System.IDisposable Init(System.Action? configureOptions) { } + public static System.IDisposable Init(string? dsn) { } + public static void PauseSession() { } + public static System.IDisposable PushScope() { } + public static System.IDisposable PushScope(TState state) { } + public static void ResumeSession() { } + public static void StartSession() { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public static Sentry.ITransaction StartTransaction(string name, string operation) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, string? description) { } + public static void WithScope(System.Action scopeCallback) { } + } + public sealed class SentryStackFrame : Sentry.IJsonSerializable + { + public SentryStackFrame() { } + public string? AbsolutePath { get; set; } + public int? ColumnNumber { get; set; } + public string? ContextLine { get; set; } + public string? FileName { get; set; } + public System.Collections.Generic.IList FramesOmitted { get; } + public string? Function { get; set; } + public long ImageAddress { get; set; } + public bool? InApp { get; set; } + public string? InstructionAddress { get; set; } + public long? InstructionOffset { get; set; } + public int? LineNumber { get; set; } + public string? Module { get; set; } + public string? Package { get; set; } + public string? Platform { get; set; } + public System.Collections.Generic.IList PostContext { get; } + public System.Collections.Generic.IList PreContext { get; } + public long? SymbolAddress { get; set; } + public System.Collections.Generic.IDictionary Vars { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackFrame FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryStackTrace : Sentry.IJsonSerializable + { + public SentryStackTrace() { } + public System.Collections.Generic.IList Frames { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackTrace FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryThread : Sentry.IJsonSerializable + { + public SentryThread() { } + public bool? Crashed { get; set; } + public bool? Current { get; set; } + public int? Id { get; set; } + public string? Name { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryThread FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryTraceHeader + { + public SentryTraceHeader(Sentry.SentryId traceId, Sentry.SpanId spanSpanId, bool? isSampled) { } + public bool? IsSampled { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SentryId TraceId { get; } + public override string ToString() { } + public static Sentry.SentryTraceHeader Parse(string value) { } + } + public sealed class SentryValues : Sentry.IJsonSerializable + { + public SentryValues(System.Collections.Generic.IEnumerable? values) { } + public System.Collections.Generic.IEnumerable Values { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + } + public class Session : Sentry.ISession + { + public Session(string? distinctId, string release, string? environment) { } + public string? DistinctId { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public string Release { get; } + public System.DateTimeOffset StartTimestamp { get; } + public string? UserAgent { get; } + public void ReportError() { } + } + public enum SessionEndStatus + { + Exited = 0, + Crashed = 1, + Abnormal = 2, + } + public class SessionUpdate : Sentry.IJsonSerializable, Sentry.ISession + { + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial) { } + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.ISession session, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.SentryId id, string? distinctId, System.DateTimeOffset startTimestamp, string release, string? environment, string? ipAddress, string? userAgent, int errorCount, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public string? DistinctId { get; } + public System.TimeSpan Duration { get; } + public Sentry.SessionEndStatus? EndStatus { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public bool IsInitial { get; } + public string Release { get; } + public int SequenceNumber { get; } + public System.DateTimeOffset StartTimestamp { get; } + public System.DateTimeOffset Timestamp { get; } + public string? UserAgent { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SessionUpdate FromJson(System.Text.Json.JsonElement json) { } + } + public class Span : Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public Span(Sentry.ISpan tracer) { } + public Span(Sentry.SpanId? parentSpanId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Span FromJson(System.Text.Json.JsonElement json) { } + } + public class SpanContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + public SpanContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled) { } + public string? Description { get; } + public bool? IsSampled { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SpanStatus? Status { get; } + public Sentry.SentryId TraceId { get; } + } + public static class SpanExtensions + { + public static Sentry.ISpan StartChild(this Sentry.ISpan span, string operation, string? description) { } + } + public readonly struct SpanId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SpanId Empty; + public SpanId(string value) { } + public bool Equals(Sentry.SpanId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SpanId Create() { } + public static Sentry.SpanId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SpanId Parse(string value) { } + public static string op_Implicit(Sentry.SpanId id) { } + public static bool operator !=(Sentry.SpanId left, Sentry.SpanId right) { } + public static bool operator ==(Sentry.SpanId left, Sentry.SpanId right) { } + } + public enum SpanStatus + { + Ok = 0, + DeadlineExceeded = 1, + Unauthenticated = 2, + PermissionDenied = 3, + NotFound = 4, + ResourceExhausted = 5, + InvalidArgument = 6, + Unimplemented = 7, + Unavailable = 8, + InternalError = 9, + UnknownError = 10, + Cancelled = 11, + AlreadyExists = 12, + FailedPrecondition = 13, + Aborted = 14, + OutOfRange = 15, + DataLoss = 16, + } + public class SpanTracer : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public SpanTracer(Sentry.IHub hub, Sentry.TransactionTracer transaction, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public enum StackTraceMode + { + Original = 0, + Enhanced = 1, + } + public enum StartupTimeDetectionMode + { + None = 0, + Fast = 1, + Best = 2, + } + public class StreamAttachmentContent : Sentry.IAttachmentContent + { + public StreamAttachmentContent(System.IO.Stream stream) { } + public System.IO.Stream GetStream() { } + } + public class Transaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public Transaction(Sentry.ITransaction tracer) { } + public Transaction(string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Transaction FromJson(System.Text.Json.JsonElement json) { } + } + public class TransactionContext : Sentry.SpanContext, Sentry.ISpanContext, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext + { + public TransactionContext(string name, string operation) { } + public TransactionContext(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public TransactionContext(string name, string operation, bool? isSampled) { } + public TransactionContext(Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, bool? isParentSampled) { } + public TransactionContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled, bool? isParentSampled) { } + public bool? IsParentSampled { get; } + public string Name { get; } + } + public class TransactionSamplingContext + { + public TransactionSamplingContext(Sentry.ITransactionContext transactionContext, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public System.Collections.Generic.IReadOnlyDictionary CustomSamplingContext { get; } + public Sentry.ITransactionContext TransactionContext { get; } + } + public class TransactionTracer : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransaction, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public TransactionTracer(Sentry.IHub hub, Sentry.ITransactionContext context) { } + public TransactionTracer(Sentry.IHub hub, string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; set; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.ISpan? GetLastActiveSpan() { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public sealed class User : Sentry.IJsonSerializable + { + public User() { } + public string? Email { get; set; } + public string? Id { get; set; } + public string? IpAddress { get; set; } + public System.Collections.Generic.IDictionary Other { get; set; } + public string? Username { get; set; } + public Sentry.User Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.User FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class UserFeedback : Sentry.IJsonSerializable + { + public UserFeedback(Sentry.SentryId eventId, string? name, string? email, string? comments) { } + public string? Comments { get; } + public string? Email { get; } + public Sentry.SentryId EventId { get; } + public string? Name { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.UserFeedback FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Extensibility +{ + public abstract class BaseRequestPayloadExtractor : Sentry.Extensibility.IRequestPayloadExtractor + { + protected BaseRequestPayloadExtractor() { } + protected abstract object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request); + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + protected abstract bool IsSupported(Sentry.Extensibility.IHttpRequest request); + } + public class DefaultRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public DefaultRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public static class DiagnosticLoggerExtensions + { + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, System.Exception exception, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2, TArg3 arg3, TArg4 arg4) { } + public static void LogFatal(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + } + public class DisabledHub : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager, System.IDisposable + { + public static readonly Sentry.Extensibility.DisabledHub Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void Dispose() { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public class FormRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public FormRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public sealed class HubAdapter : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager + { + public static readonly Sentry.Extensibility.HubAdapter Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void AddBreadcrumb(Sentry.Infrastructure.ISystemClock clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public Sentry.SentryId CaptureException(System.Exception exception) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback sentryUserFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public interface IDiagnosticLogger + { + bool IsEnabled(Sentry.SentryLevel level); + void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args); + } + public interface IExceptionFilter + { + bool Filter(System.Exception ex); + } + public interface IHttpRequest + { + System.IO.Stream? Body { get; } + long? ContentLength { get; } + string? ContentType { get; } + System.Collections.Generic.IEnumerable>>? Form { get; } + } + public interface IRequestPayloadExtractor + { + object? ExtractPayload(Sentry.Extensibility.IHttpRequest request); + } + public interface ISentryEventExceptionProcessor + { + void Process(System.Exception exception, Sentry.SentryEvent sentryEvent); + } + public interface ISentryEventProcessor + { + Sentry.SentryEvent? Process(Sentry.SentryEvent @event); + } + public interface ISentryStackTraceFactory + { + Sentry.SentryStackTrace? Create(System.Exception? exception = null); + } + public class RequestBodyExtractionDispatcher : Sentry.Extensibility.IRequestPayloadExtractor + { + public RequestBodyExtractionDispatcher(System.Collections.Generic.IEnumerable extractors, Sentry.SentryOptions options, System.Func sizeSwitch) { } + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + } + public enum RequestSize + { + None = 0, + Small = 1, + Medium = 2, + Always = 3, + } + public abstract class SentryEventExceptionProcessor : Sentry.Extensibility.ISentryEventExceptionProcessor + where TException : System.Exception + { + protected SentryEventExceptionProcessor() { } + public void Process(System.Exception? exception, Sentry.SentryEvent sentryEvent) { } + protected abstract void ProcessException(TException exception, Sentry.SentryEvent sentryEvent); + } + public class SentryStackTraceFactory : Sentry.Extensibility.ISentryStackTraceFactory + { + public SentryStackTraceFactory(Sentry.SentryOptions options) { } + public virtual Sentry.SentryStackTrace? Create(System.Exception? exception = null) { } + protected virtual Sentry.SentryStackFrame CreateFrame(System.Diagnostics.StackFrame stackFrame, bool isCurrentStackTrace) { } + protected virtual System.Diagnostics.StackTrace CreateStackTrace(System.Exception? exception) { } + protected virtual System.Reflection.MethodBase? GetMethod(System.Diagnostics.StackFrame stackFrame) { } + protected Sentry.SentryStackFrame InternalCreateFrame(System.Diagnostics.StackFrame stackFrame, bool demangle) { } + } +} +namespace Sentry.Http +{ + public interface ISentryHttpClientFactory + { + System.Net.Http.HttpClient Create(Sentry.SentryOptions options); + } +} +namespace Sentry.Infrastructure +{ + public class ConsoleDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public ConsoleDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [System.Obsolete("Logger doesn\'t work outside of Sentry SDK. Please use TraceDiagnosticLogger inste" + + "ad")] + public class DebugDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public DebugDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + public interface ISystemClock + { + System.DateTimeOffset GetUtcNow(); + } + public sealed class SystemClock : Sentry.Infrastructure.ISystemClock + { + public static readonly Sentry.Infrastructure.SystemClock Clock; + public SystemClock() { } + public System.DateTimeOffset GetUtcNow() { } + } + public class TraceDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public TraceDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } +} +namespace Sentry.Integrations +{ + public interface ISdkIntegration + { + void Register(Sentry.IHub hub, Sentry.SentryOptions options); + } +} +namespace Sentry.PlatformAbstractions +{ + public static class FrameworkInfo + { + public static System.Collections.Generic.IReadOnlyDictionary NetFxReleaseVersionMap { get; } + public static System.Collections.Generic.IEnumerable GetInstallations() { } + public static Sentry.PlatformAbstractions.FrameworkInstallation? GetLatest(int clr) { } + } + public class FrameworkInstallation + { + public FrameworkInstallation() { } + public Sentry.PlatformAbstractions.FrameworkProfile? Profile { get; set; } + public int? Release { get; set; } + public int? ServicePack { get; set; } + public string? ShortName { get; set; } + public System.Version? Version { get; set; } + public override string ToString() { } + } + public enum FrameworkProfile + { + Client = 0, + Full = 1, + } + public class Runtime + { + public Runtime(string? name = null, string? version = null, string? raw = null) { } + public string? Name { get; } + public string? Raw { get; } + public string? Version { get; } + public static Sentry.PlatformAbstractions.Runtime Current { get; } + public bool Equals(Sentry.PlatformAbstractions.Runtime other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string? ToString() { } + } + public static class RuntimeExtensions + { + public static bool IsMono(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetCore(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetFx(this Sentry.PlatformAbstractions.Runtime runtime) { } + } +} +namespace Sentry.Protocol +{ + public sealed class App : Sentry.IJsonSerializable + { + public const string Type = "app"; + public App() { } + public string? Build { get; set; } + public string? BuildType { get; set; } + public string? Hash { get; set; } + public string? Identifier { get; set; } + public string? Name { get; set; } + public System.DateTimeOffset? StartTime { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.App FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Browser : Sentry.IJsonSerializable + { + public const string Type = "browser"; + public Browser() { } + public string? Name { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Browser FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Device : Sentry.IJsonSerializable + { + public const string Type = "device"; + public Device() { } + public string? Architecture { get; set; } + public short? BatteryLevel { get; set; } + public string? BatteryStatus { get; set; } + public System.DateTimeOffset? BootTime { get; set; } + public string? Brand { get; set; } + public string? CpuDescription { get; set; } + public string? DeviceType { get; set; } + public string? DeviceUniqueIdentifier { get; set; } + public long? ExternalFreeStorage { get; set; } + public long? ExternalStorageSize { get; set; } + public string? Family { get; set; } + public long? FreeMemory { get; set; } + public long? FreeStorage { get; set; } + public bool? IsCharging { get; set; } + public bool? IsOnline { get; set; } + public bool? LowMemory { get; set; } + public string? Manufacturer { get; set; } + public long? MemorySize { get; set; } + public string? Model { get; set; } + public string? ModelId { get; set; } + public string? Name { get; set; } + public Sentry.Protocol.DeviceOrientation? Orientation { get; set; } + public int? ProcessorCount { get; set; } + public int? ProcessorFrequency { get; set; } + public float? ScreenDensity { get; set; } + public int? ScreenDpi { get; set; } + public string? ScreenResolution { get; set; } + public bool? Simulator { get; set; } + public long? StorageSize { get; set; } + public bool? SupportsAccelerometer { get; set; } + public bool? SupportsAudio { get; set; } + public bool? SupportsGyroscope { get; set; } + public bool? SupportsLocationService { get; set; } + public bool? SupportsVibration { get; set; } + public System.TimeZoneInfo? Timezone { get; set; } + public long? UsableMemory { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Device FromJson(System.Text.Json.JsonElement json) { } + } + public enum DeviceOrientation + { + [System.Runtime.Serialization.EnumMember(Value="portrait")] + Portrait = 0, + [System.Runtime.Serialization.EnumMember(Value="landscape")] + Landscape = 1, + } + public sealed class Gpu : Sentry.IJsonSerializable + { + public const string Type = "gpu"; + public Gpu() { } + public string? ApiType { get; set; } + public string? GraphicsShaderLevel { get; set; } + public int? Id { get; set; } + public int? MaxTextureSize { get; set; } + public int? MemorySize { get; set; } + public bool? MultiThreadedRendering { get; set; } + public string? Name { get; set; } + public string? NpotSupport { get; set; } + public bool? SupportsComputeShaders { get; set; } + public bool? SupportsDrawCallInstancing { get; set; } + public bool? SupportsGeometryShaders { get; set; } + public bool? SupportsRayTracing { get; set; } + public string? VendorId { get; set; } + public string? VendorName { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Gpu FromJson(System.Text.Json.JsonElement json) { } + } + public interface ITraceContext + { + string? Description { get; } + bool? IsSampled { get; } + string Operation { get; } + Sentry.SpanId? ParentSpanId { get; } + Sentry.SpanId SpanId { get; } + Sentry.SpanStatus? Status { get; } + Sentry.SentryId TraceId { get; } + } + public sealed class Mechanism : Sentry.IJsonSerializable + { + public static readonly string HandledKey; + public static readonly string MechanismKey; + public Mechanism() { } + public System.Collections.Generic.IDictionary Data { get; } + public string? Description { get; set; } + public bool? Handled { get; set; } + public string? HelpLink { get; set; } + public System.Collections.Generic.IDictionary Meta { get; } + public string? Type { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Mechanism FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class OperatingSystem : Sentry.IJsonSerializable + { + public const string Type = "os"; + public OperatingSystem() { } + public string? Build { get; set; } + public string? KernelVersion { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public bool? Rooted { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.OperatingSystem FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Runtime : Sentry.IJsonSerializable + { + public const string Type = "runtime"; + public Runtime() { } + public string? Build { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public string? Version { get; set; } + public Sentry.Protocol.Runtime Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Runtime FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryException : Sentry.IJsonSerializable + { + public SentryException() { } + public System.Collections.Generic.IDictionary Data { get; } + public Sentry.Protocol.Mechanism? Mechanism { get; set; } + public string? Module { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public int ThreadId { get; set; } + public string? Type { get; set; } + public string? Value { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.SentryException FromJson(System.Text.Json.JsonElement json) { } + } + public class Trace : Sentry.IJsonSerializable, Sentry.Protocol.ITraceContext + { + public const string Type = "trace"; + public Trace() { } + public string? Description { get; set; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; set; } + public Sentry.SpanId SpanId { get; set; } + public Sentry.SpanStatus? Status { get; set; } + public Sentry.SentryId TraceId { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Trace FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Reflection +{ + public static class AssemblyExtensions + { + public static Sentry.SdkVersion GetNameAndVersion(this System.Reflection.Assembly asm) { } + } +} +public static class SentryExceptionExtensions +{ + public static void AddSentryContext(this System.Exception ex, string name, System.Collections.Generic.IReadOnlyDictionary data) { } + public static void AddSentryTag(this System.Exception ex, string name, string value) { } +} \ No newline at end of file diff --git a/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.cs b/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..4414095bb3 --- /dev/null +++ b/test/Sentry.DiagnosticSource.Tests/ApiApprovalTests.cs @@ -0,0 +1,18 @@ +using System.Threading.Tasks; +using Sentry.Internals.DiagnosticSource; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.DiagnosticSource.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentryDiagnosticListenerIntegration).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.EntityFramework.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.EntityFramework.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..aad2bcd213 --- /dev/null +++ b/test/Sentry.EntityFramework.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,45 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName="")] +namespace Sentry.EntityFramework.ErrorProcessors +{ + public class DbConcurrencyExceptionProcessor : Sentry.Extensibility.SentryEventExceptionProcessor + { + public DbConcurrencyExceptionProcessor() { } + protected override void ProcessException(System.Data.DBConcurrencyException exception, Sentry.SentryEvent sentryEvent) { } + } + public class DbEntityValidationExceptionProcessor : Sentry.Extensibility.SentryEventExceptionProcessor + { + public DbEntityValidationExceptionProcessor() { } + protected override void ProcessException(System.Data.Entity.Validation.DbEntityValidationException exception, Sentry.SentryEvent sentryEvent) { } + } +} +namespace Sentry.EntityFramework +{ + public interface IQueryLogger + { + void Log(string text, Sentry.BreadcrumbLevel level = -1); + } + public class SentryCommandInterceptor : System.Data.Entity.Infrastructure.Interception.IDbCommandInterceptor, System.Data.Entity.Infrastructure.Interception.IDbInterceptor + { + public SentryCommandInterceptor(Sentry.EntityFramework.IQueryLogger queryLogger) { } + public virtual void Log(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void NonQueryExecuted(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void NonQueryExecuting(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void ReaderExecuted(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void ReaderExecuting(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void ScalarExecuted(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void ScalarExecuting(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + } + public static class SentryDatabaseLogging + { + [System.Obsolete("This method is called automatically by options.AddEntityFramework. This method wi" + + "ll be removed in future versions.")] + public static Sentry.EntityFramework.SentryCommandInterceptor? UseBreadcrumbs(Sentry.EntityFramework.IQueryLogger? logger = null) { } + } +} +namespace Sentry +{ + public static class SentryOptionsExtensions + { + public static Sentry.SentryOptions AddEntityFramework(this Sentry.SentryOptions sentryOptions) { } + } +} \ No newline at end of file diff --git a/test/Sentry.EntityFramework.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt b/test/Sentry.EntityFramework.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt new file mode 100644 index 0000000000..daf3be1c67 --- /dev/null +++ b/test/Sentry.EntityFramework.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt @@ -0,0 +1,45 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.6.1", FrameworkDisplayName=".NET Framework 4.6.1")] +namespace Sentry.EntityFramework.ErrorProcessors +{ + public class DbConcurrencyExceptionProcessor : Sentry.Extensibility.SentryEventExceptionProcessor + { + public DbConcurrencyExceptionProcessor() { } + protected override void ProcessException(System.Data.DBConcurrencyException exception, Sentry.SentryEvent sentryEvent) { } + } + public class DbEntityValidationExceptionProcessor : Sentry.Extensibility.SentryEventExceptionProcessor + { + public DbEntityValidationExceptionProcessor() { } + protected override void ProcessException(System.Data.Entity.Validation.DbEntityValidationException exception, Sentry.SentryEvent sentryEvent) { } + } +} +namespace Sentry.EntityFramework +{ + public interface IQueryLogger + { + void Log(string text, Sentry.BreadcrumbLevel level = -1); + } + public class SentryCommandInterceptor : System.Data.Entity.Infrastructure.Interception.IDbCommandInterceptor, System.Data.Entity.Infrastructure.Interception.IDbInterceptor + { + public SentryCommandInterceptor(Sentry.EntityFramework.IQueryLogger queryLogger) { } + public virtual void Log(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void NonQueryExecuted(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void NonQueryExecuting(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void ReaderExecuted(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void ReaderExecuting(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void ScalarExecuted(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + public void ScalarExecuting(System.Data.Common.DbCommand command, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext interceptionContext) { } + } + public static class SentryDatabaseLogging + { + [System.Obsolete("This method is called automatically by options.AddEntityFramework. This method wi" + + "ll be removed in future versions.")] + public static Sentry.EntityFramework.SentryCommandInterceptor? UseBreadcrumbs(Sentry.EntityFramework.IQueryLogger? logger = null) { } + } +} +namespace Sentry +{ + public static class SentryOptionsExtensions + { + public static Sentry.SentryOptions AddEntityFramework(this Sentry.SentryOptions sentryOptions) { } + } +} \ No newline at end of file diff --git a/test/Sentry.EntityFramework.Tests/ApiApprovalTests.cs b/test/Sentry.EntityFramework.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..02c07424b4 --- /dev/null +++ b/test/Sentry.EntityFramework.Tests/ApiApprovalTests.cs @@ -0,0 +1,17 @@ +using System.Threading.Tasks; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.EntityFramework.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentryDatabaseLogging).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt b/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt new file mode 100644 index 0000000000..0490394fb8 --- /dev/null +++ b/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt @@ -0,0 +1,52 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="")] +namespace Microsoft.Extensions.Logging +{ + public static class LoggingBuilderExtensions { } + public static class SentryLoggerFactoryExtensions { } +} +namespace Sentry.Extensions.Logging +{ + public class DelegateLogEntryFilter : Sentry.Extensions.Logging.ILogEntryFilter + { + public DelegateLogEntryFilter(System.Func filter) { } + public bool Filter(string categoryName, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception) { } + } + public interface ILogEntryFilter + { + bool Filter(string categoryName, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception); + } + public class MelDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public MelDiagnosticLogger(Microsoft.Extensions.Logging.ILogger logger, Sentry.SentryLevel level) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [Microsoft.Extensions.Logging.ProviderAlias("Sentry")] + public class SentryLoggerProvider : Microsoft.Extensions.Logging.ILoggerProvider, System.IDisposable + { + public SentryLoggerProvider(Microsoft.Extensions.Options.IOptions options, Sentry.IHub hub) { } + public Microsoft.Extensions.Logging.ILogger CreateLogger(string categoryName) { } + public void Dispose() { } + } + public class SentryLoggingOptions : Sentry.SentryOptions + { + public SentryLoggingOptions() { } + public bool InitializeSdk { get; set; } + public Microsoft.Extensions.Logging.LogLevel MinimumBreadcrumbLevel { get; set; } + public Microsoft.Extensions.Logging.LogLevel MinimumEventLevel { get; set; } + public void ConfigureScope(System.Action action) { } + } + public static class SentryLoggingOptionsExtensions + { + public static void AddLogEntryFilter(this Sentry.Extensions.Logging.SentryLoggingOptions options, Sentry.Extensions.Logging.ILogEntryFilter filter) { } + public static void AddLogEntryFilter(this Sentry.Extensions.Logging.SentryLoggingOptions options, System.Func filter) { } + } +} +namespace Sentry.Extensions.Logging.Extensions.DependencyInjection +{ + public static class ServiceCollectionExtensions + { + public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSentry(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) + where TOptions : Sentry.Extensions.Logging.SentryLoggingOptions, new () { } + } +} \ No newline at end of file diff --git a/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..d28b850d60 --- /dev/null +++ b/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,52 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v3.0", FrameworkDisplayName="")] +namespace Microsoft.Extensions.Logging +{ + public static class LoggingBuilderExtensions { } + public static class SentryLoggerFactoryExtensions { } +} +namespace Sentry.Extensions.Logging +{ + public class DelegateLogEntryFilter : Sentry.Extensions.Logging.ILogEntryFilter + { + public DelegateLogEntryFilter(System.Func filter) { } + public bool Filter(string categoryName, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception) { } + } + public interface ILogEntryFilter + { + bool Filter(string categoryName, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception); + } + public class MelDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public MelDiagnosticLogger(Microsoft.Extensions.Logging.ILogger logger, Sentry.SentryLevel level) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [Microsoft.Extensions.Logging.ProviderAlias("Sentry")] + public class SentryLoggerProvider : Microsoft.Extensions.Logging.ILoggerProvider, System.IDisposable + { + public SentryLoggerProvider(Microsoft.Extensions.Options.IOptions options, Sentry.IHub hub) { } + public Microsoft.Extensions.Logging.ILogger CreateLogger(string categoryName) { } + public void Dispose() { } + } + public class SentryLoggingOptions : Sentry.SentryOptions + { + public SentryLoggingOptions() { } + public bool InitializeSdk { get; set; } + public Microsoft.Extensions.Logging.LogLevel MinimumBreadcrumbLevel { get; set; } + public Microsoft.Extensions.Logging.LogLevel MinimumEventLevel { get; set; } + public void ConfigureScope(System.Action action) { } + } + public static class SentryLoggingOptionsExtensions + { + public static void AddLogEntryFilter(this Sentry.Extensions.Logging.SentryLoggingOptions options, Sentry.Extensions.Logging.ILogEntryFilter filter) { } + public static void AddLogEntryFilter(this Sentry.Extensions.Logging.SentryLoggingOptions options, System.Func filter) { } + } +} +namespace Sentry.Extensions.Logging.Extensions.DependencyInjection +{ + public static class ServiceCollectionExtensions + { + public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSentry(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) + where TOptions : Sentry.Extensions.Logging.SentryLoggingOptions, new () { } + } +} \ No newline at end of file diff --git a/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt b/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt new file mode 100644 index 0000000000..0490394fb8 --- /dev/null +++ b/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt @@ -0,0 +1,52 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="")] +namespace Microsoft.Extensions.Logging +{ + public static class LoggingBuilderExtensions { } + public static class SentryLoggerFactoryExtensions { } +} +namespace Sentry.Extensions.Logging +{ + public class DelegateLogEntryFilter : Sentry.Extensions.Logging.ILogEntryFilter + { + public DelegateLogEntryFilter(System.Func filter) { } + public bool Filter(string categoryName, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception) { } + } + public interface ILogEntryFilter + { + bool Filter(string categoryName, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception); + } + public class MelDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public MelDiagnosticLogger(Microsoft.Extensions.Logging.ILogger logger, Sentry.SentryLevel level) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [Microsoft.Extensions.Logging.ProviderAlias("Sentry")] + public class SentryLoggerProvider : Microsoft.Extensions.Logging.ILoggerProvider, System.IDisposable + { + public SentryLoggerProvider(Microsoft.Extensions.Options.IOptions options, Sentry.IHub hub) { } + public Microsoft.Extensions.Logging.ILogger CreateLogger(string categoryName) { } + public void Dispose() { } + } + public class SentryLoggingOptions : Sentry.SentryOptions + { + public SentryLoggingOptions() { } + public bool InitializeSdk { get; set; } + public Microsoft.Extensions.Logging.LogLevel MinimumBreadcrumbLevel { get; set; } + public Microsoft.Extensions.Logging.LogLevel MinimumEventLevel { get; set; } + public void ConfigureScope(System.Action action) { } + } + public static class SentryLoggingOptionsExtensions + { + public static void AddLogEntryFilter(this Sentry.Extensions.Logging.SentryLoggingOptions options, Sentry.Extensions.Logging.ILogEntryFilter filter) { } + public static void AddLogEntryFilter(this Sentry.Extensions.Logging.SentryLoggingOptions options, System.Func filter) { } + } +} +namespace Sentry.Extensions.Logging.Extensions.DependencyInjection +{ + public static class ServiceCollectionExtensions + { + public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSentry(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) + where TOptions : Sentry.Extensions.Logging.SentryLoggingOptions, new () { } + } +} \ No newline at end of file diff --git a/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt b/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt new file mode 100644 index 0000000000..4424b4479e --- /dev/null +++ b/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt @@ -0,0 +1,52 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName="")] +namespace Microsoft.Extensions.Logging +{ + public static class LoggingBuilderExtensions { } + public static class SentryLoggerFactoryExtensions { } +} +namespace Sentry.Extensions.Logging +{ + public class DelegateLogEntryFilter : Sentry.Extensions.Logging.ILogEntryFilter + { + public DelegateLogEntryFilter(System.Func filter) { } + public bool Filter(string categoryName, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception) { } + } + public interface ILogEntryFilter + { + bool Filter(string categoryName, Microsoft.Extensions.Logging.LogLevel logLevel, Microsoft.Extensions.Logging.EventId eventId, System.Exception? exception); + } + public class MelDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public MelDiagnosticLogger(Microsoft.Extensions.Logging.ILogger logger, Sentry.SentryLevel level) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [Microsoft.Extensions.Logging.ProviderAlias("Sentry")] + public class SentryLoggerProvider : Microsoft.Extensions.Logging.ILoggerProvider, System.IDisposable + { + public SentryLoggerProvider(Microsoft.Extensions.Options.IOptions options, Sentry.IHub hub) { } + public Microsoft.Extensions.Logging.ILogger CreateLogger(string categoryName) { } + public void Dispose() { } + } + public class SentryLoggingOptions : Sentry.SentryOptions + { + public SentryLoggingOptions() { } + public bool InitializeSdk { get; set; } + public Microsoft.Extensions.Logging.LogLevel MinimumBreadcrumbLevel { get; set; } + public Microsoft.Extensions.Logging.LogLevel MinimumEventLevel { get; set; } + public void ConfigureScope(System.Action action) { } + } + public static class SentryLoggingOptionsExtensions + { + public static void AddLogEntryFilter(this Sentry.Extensions.Logging.SentryLoggingOptions options, Sentry.Extensions.Logging.ILogEntryFilter filter) { } + public static void AddLogEntryFilter(this Sentry.Extensions.Logging.SentryLoggingOptions options, System.Func filter) { } + } +} +namespace Sentry.Extensions.Logging.Extensions.DependencyInjection +{ + public static class ServiceCollectionExtensions + { + public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddSentry(this Microsoft.Extensions.DependencyInjection.IServiceCollection services) + where TOptions : Sentry.Extensions.Logging.SentryLoggingOptions, new () { } + } +} \ No newline at end of file diff --git a/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.cs b/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..a83b63b07a --- /dev/null +++ b/test/Sentry.Extensions.Logging.Tests/ApiApprovalTests.cs @@ -0,0 +1,17 @@ +using System.Threading.Tasks; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.Extensions.Logging.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentryLogger).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.Extensions.Logging.Tests/Sentry.Extensions.Logging.Tests.csproj b/test/Sentry.Extensions.Logging.Tests/Sentry.Extensions.Logging.Tests.csproj index 3b2f6df6de..6210d28baa 100644 --- a/test/Sentry.Extensions.Logging.Tests/Sentry.Extensions.Logging.Tests.csproj +++ b/test/Sentry.Extensions.Logging.Tests/Sentry.Extensions.Logging.Tests.csproj @@ -19,6 +19,7 @@ + diff --git a/test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..cb6657b7c8 --- /dev/null +++ b/test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,10 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v3.1", FrameworkDisplayName="")] +namespace Google.Cloud.Functions.Framework +{ + public class SentryStartup : Google.Cloud.Functions.Hosting.FunctionsStartup + { + public SentryStartup() { } + public override void ConfigureLogging(Microsoft.AspNetCore.Hosting.WebHostBuilderContext context, Microsoft.Extensions.Logging.ILoggingBuilder logging) { } + public override void ConfigureServices(Microsoft.AspNetCore.Hosting.WebHostBuilderContext context, Microsoft.Extensions.DependencyInjection.IServiceCollection services) { } + } +} \ No newline at end of file diff --git a/test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt b/test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt new file mode 100644 index 0000000000..2d25a3513a --- /dev/null +++ b/test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt @@ -0,0 +1,10 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName="")] +namespace Google.Cloud.Functions.Framework +{ + public class SentryStartup : Google.Cloud.Functions.Hosting.FunctionsStartup + { + public SentryStartup() { } + public override void ConfigureLogging(Microsoft.AspNetCore.Hosting.WebHostBuilderContext context, Microsoft.Extensions.Logging.ILoggingBuilder logging) { } + public override void ConfigureServices(Microsoft.AspNetCore.Hosting.WebHostBuilderContext context, Microsoft.Extensions.DependencyInjection.IServiceCollection services) { } + } +} \ No newline at end of file diff --git a/test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.cs b/test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..8114c34af8 --- /dev/null +++ b/test/Sentry.Google.Cloud.Functions.Tests/ApiApprovalTests.cs @@ -0,0 +1,18 @@ +using System.Threading.Tasks; +using Google.Cloud.Functions.Framework; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.Google.Cloud.Functions.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentryStartup).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt b/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt new file mode 100644 index 0000000000..ed94ddcb5e --- /dev/null +++ b/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt @@ -0,0 +1,14 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="")] +namespace Sentry.Log4Net +{ + public class SentryAppender : log4net.Appender.AppenderSkeleton + { + public SentryAppender() { } + public string? Dsn { get; set; } + public string? Environment { get; set; } + public bool SendIdentity { get; set; } + protected override void Append(log4net.Core.LoggingEvent loggingEvent) { } + protected override void OnClose() { } + } +} \ No newline at end of file diff --git a/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..3d0337bef9 --- /dev/null +++ b/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,14 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName="")] +namespace Sentry.Log4Net +{ + public class SentryAppender : log4net.Appender.AppenderSkeleton + { + public SentryAppender() { } + public string? Dsn { get; set; } + public string? Environment { get; set; } + public bool SendIdentity { get; set; } + protected override void Append(log4net.Core.LoggingEvent loggingEvent) { } + protected override void OnClose() { } + } +} \ No newline at end of file diff --git a/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt b/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt new file mode 100644 index 0000000000..2b1dea5498 --- /dev/null +++ b/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt @@ -0,0 +1,14 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.6.1", FrameworkDisplayName=".NET Framework 4.6.1")] +namespace Sentry.Log4Net +{ + public class SentryAppender : log4net.Appender.AppenderSkeleton + { + public SentryAppender() { } + public string? Dsn { get; set; } + public string? Environment { get; set; } + public bool SendIdentity { get; set; } + protected override void Append(log4net.Core.LoggingEvent loggingEvent) { } + protected override void OnClose() { } + } +} \ No newline at end of file diff --git a/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt b/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt new file mode 100644 index 0000000000..3d0337bef9 --- /dev/null +++ b/test/Sentry.Log4Net.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt @@ -0,0 +1,14 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName="")] +namespace Sentry.Log4Net +{ + public class SentryAppender : log4net.Appender.AppenderSkeleton + { + public SentryAppender() { } + public string? Dsn { get; set; } + public string? Environment { get; set; } + public bool SendIdentity { get; set; } + protected override void Append(log4net.Core.LoggingEvent loggingEvent) { } + protected override void OnClose() { } + } +} \ No newline at end of file diff --git a/test/Sentry.Log4Net.Tests/ApiApprovalTests.cs b/test/Sentry.Log4Net.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..4ce74c3f68 --- /dev/null +++ b/test/Sentry.Log4Net.Tests/ApiApprovalTests.cs @@ -0,0 +1,17 @@ +using System.Threading.Tasks; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.Log4Net.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentryAppender).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.Log4Net.Tests/Sentry.Log4Net.Tests.csproj b/test/Sentry.Log4Net.Tests/Sentry.Log4Net.Tests.csproj index 3035d93186..5771ced99b 100644 --- a/test/Sentry.Log4Net.Tests/Sentry.Log4Net.Tests.csproj +++ b/test/Sentry.Log4Net.Tests/Sentry.Log4Net.Tests.csproj @@ -6,6 +6,7 @@ + diff --git a/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt b/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt new file mode 100644 index 0000000000..ca92b2d4ce --- /dev/null +++ b/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt @@ -0,0 +1,83 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="")] +namespace NLog +{ + public static class ConfigurationExtensions + { + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, System.Action? optionsConfig = null) { } + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, string? dsn, System.Action? optionsConfig = null) { } + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, string? dsn, string targetName, System.Action? optionsConfig = null) { } + public static void AddTag(this Sentry.NLog.SentryNLogOptions options, string name, NLog.Layouts.Layout layout) { } + } +} +namespace Sentry.NLog +{ + [NLog.Config.NLogConfigurationItem] + public class SentryNLogOptions : Sentry.SentryOptions + { + public SentryNLogOptions() { } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? BreadcrumbCategoryLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? BreadcrumbLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? DsnLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? EnvironmentLayout { get; set; } + public System.TimeSpan FlushTimeout { get; set; } + public bool IgnoreEventsWithNoException { get; set; } + public bool IncludeEventDataOnBreadcrumbs { get; set; } + public bool IncludeEventPropertiesAsTags { get; set; } + public bool InitializeSdk { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? Layout { get; set; } + public NLog.LogLevel? MinimumBreadcrumbLevel { get; set; } + public NLog.LogLevel? MinimumEventLevel { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? ReleaseLayout { get; set; } + public int ShutdownTimeoutSeconds { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public System.Collections.Generic.IList Tags { get; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public Sentry.NLog.SentryNLogUser? User { get; set; } + } + [NLog.Config.NLogConfigurationItem] + public class SentryNLogUser + { + public SentryNLogUser() { } + public NLog.Layouts.Layout? Email { get; set; } + public NLog.Layouts.Layout? Id { get; set; } + public NLog.Layouts.Layout? IpAddress { get; set; } + [NLog.Config.ArrayParameter(typeof(NLog.Targets.TargetPropertyWithContext?), "other")] + public System.Collections.Generic.IList? Other { get; } + public NLog.Layouts.Layout? Username { get; set; } + } + [NLog.Targets.Target("Sentry")] + public sealed class SentryTarget : NLog.Targets.TargetWithContext + { + public SentryTarget() { } + public SentryTarget(Sentry.NLog.SentryNLogOptions options) { } + public NLog.Layouts.Layout? BreadcrumbCategory { get; set; } + public NLog.Layouts.Layout? BreadcrumbLayout { get; set; } + public NLog.Layouts.Layout? Dsn { get; set; } + public NLog.Layouts.Layout? Environment { get; set; } + public int FlushTimeoutSeconds { get; set; } + public bool IgnoreEventsWithNoException { get; set; } + public bool IncludeEventDataOnBreadcrumbs { get; set; } + public bool IncludeEventPropertiesAsTags { get; set; } + public bool InitializeSdk { get; set; } + public string MinimumBreadcrumbLevel { get; set; } + public string MinimumEventLevel { get; set; } + [NLog.Config.Advanced] + public Sentry.NLog.SentryNLogOptions Options { get; } + public NLog.Layouts.Layout? Release { get; set; } + public int ShutdownTimeoutSeconds { get; set; } + [NLog.Config.ArrayParameter(typeof(NLog.Targets.TargetPropertyWithContext), "tag")] + public System.Collections.Generic.IList Tags { get; } + public Sentry.NLog.SentryNLogUser? User { get; set; } + protected override void CloseTarget() { } + protected override void FlushAsync(NLog.Common.AsyncContinuation asyncContinuation) { } + protected override void InitializeTarget() { } + protected override void Write(NLog.LogEventInfo logEvent) { } + } +} \ No newline at end of file diff --git a/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..f33a15ddd3 --- /dev/null +++ b/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,83 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName="")] +namespace NLog +{ + public static class ConfigurationExtensions + { + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, System.Action? optionsConfig = null) { } + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, string? dsn, System.Action? optionsConfig = null) { } + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, string? dsn, string targetName, System.Action? optionsConfig = null) { } + public static void AddTag(this Sentry.NLog.SentryNLogOptions options, string name, NLog.Layouts.Layout layout) { } + } +} +namespace Sentry.NLog +{ + [NLog.Config.NLogConfigurationItem] + public class SentryNLogOptions : Sentry.SentryOptions + { + public SentryNLogOptions() { } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? BreadcrumbCategoryLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? BreadcrumbLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? DsnLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? EnvironmentLayout { get; set; } + public System.TimeSpan FlushTimeout { get; set; } + public bool IgnoreEventsWithNoException { get; set; } + public bool IncludeEventDataOnBreadcrumbs { get; set; } + public bool IncludeEventPropertiesAsTags { get; set; } + public bool InitializeSdk { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? Layout { get; set; } + public NLog.LogLevel? MinimumBreadcrumbLevel { get; set; } + public NLog.LogLevel? MinimumEventLevel { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? ReleaseLayout { get; set; } + public int ShutdownTimeoutSeconds { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public System.Collections.Generic.IList Tags { get; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public Sentry.NLog.SentryNLogUser? User { get; set; } + } + [NLog.Config.NLogConfigurationItem] + public class SentryNLogUser + { + public SentryNLogUser() { } + public NLog.Layouts.Layout? Email { get; set; } + public NLog.Layouts.Layout? Id { get; set; } + public NLog.Layouts.Layout? IpAddress { get; set; } + [NLog.Config.ArrayParameter(typeof(NLog.Targets.TargetPropertyWithContext?), "other")] + public System.Collections.Generic.IList? Other { get; } + public NLog.Layouts.Layout? Username { get; set; } + } + [NLog.Targets.Target("Sentry")] + public sealed class SentryTarget : NLog.Targets.TargetWithContext + { + public SentryTarget() { } + public SentryTarget(Sentry.NLog.SentryNLogOptions options) { } + public NLog.Layouts.Layout? BreadcrumbCategory { get; set; } + public NLog.Layouts.Layout? BreadcrumbLayout { get; set; } + public NLog.Layouts.Layout? Dsn { get; set; } + public NLog.Layouts.Layout? Environment { get; set; } + public int FlushTimeoutSeconds { get; set; } + public bool IgnoreEventsWithNoException { get; set; } + public bool IncludeEventDataOnBreadcrumbs { get; set; } + public bool IncludeEventPropertiesAsTags { get; set; } + public bool InitializeSdk { get; set; } + public string MinimumBreadcrumbLevel { get; set; } + public string MinimumEventLevel { get; set; } + [NLog.Config.Advanced] + public Sentry.NLog.SentryNLogOptions Options { get; } + public NLog.Layouts.Layout? Release { get; set; } + public int ShutdownTimeoutSeconds { get; set; } + [NLog.Config.ArrayParameter(typeof(NLog.Targets.TargetPropertyWithContext), "tag")] + public System.Collections.Generic.IList Tags { get; } + public Sentry.NLog.SentryNLogUser? User { get; set; } + protected override void CloseTarget() { } + protected override void FlushAsync(NLog.Common.AsyncContinuation asyncContinuation) { } + protected override void InitializeTarget() { } + protected override void Write(NLog.LogEventInfo logEvent) { } + } +} \ No newline at end of file diff --git a/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt b/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt new file mode 100644 index 0000000000..fdc4897fba --- /dev/null +++ b/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt @@ -0,0 +1,83 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.6.1", FrameworkDisplayName=".NET Framework 4.6.1")] +namespace NLog +{ + public static class ConfigurationExtensions + { + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, System.Action? optionsConfig = null) { } + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, string? dsn, System.Action? optionsConfig = null) { } + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, string? dsn, string targetName, System.Action? optionsConfig = null) { } + public static void AddTag(this Sentry.NLog.SentryNLogOptions options, string name, NLog.Layouts.Layout layout) { } + } +} +namespace Sentry.NLog +{ + [NLog.Config.NLogConfigurationItem] + public class SentryNLogOptions : Sentry.SentryOptions + { + public SentryNLogOptions() { } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? BreadcrumbCategoryLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? BreadcrumbLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? DsnLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? EnvironmentLayout { get; set; } + public System.TimeSpan FlushTimeout { get; set; } + public bool IgnoreEventsWithNoException { get; set; } + public bool IncludeEventDataOnBreadcrumbs { get; set; } + public bool IncludeEventPropertiesAsTags { get; set; } + public bool InitializeSdk { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? Layout { get; set; } + public NLog.LogLevel? MinimumBreadcrumbLevel { get; set; } + public NLog.LogLevel? MinimumEventLevel { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? ReleaseLayout { get; set; } + public int ShutdownTimeoutSeconds { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public System.Collections.Generic.IList Tags { get; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public Sentry.NLog.SentryNLogUser? User { get; set; } + } + [NLog.Config.NLogConfigurationItem] + public class SentryNLogUser + { + public SentryNLogUser() { } + public NLog.Layouts.Layout? Email { get; set; } + public NLog.Layouts.Layout? Id { get; set; } + public NLog.Layouts.Layout? IpAddress { get; set; } + [NLog.Config.ArrayParameter(typeof(NLog.Targets.TargetPropertyWithContext?), "other")] + public System.Collections.Generic.IList? Other { get; } + public NLog.Layouts.Layout? Username { get; set; } + } + [NLog.Targets.Target("Sentry")] + public sealed class SentryTarget : NLog.Targets.TargetWithContext + { + public SentryTarget() { } + public SentryTarget(Sentry.NLog.SentryNLogOptions options) { } + public NLog.Layouts.Layout? BreadcrumbCategory { get; set; } + public NLog.Layouts.Layout? BreadcrumbLayout { get; set; } + public NLog.Layouts.Layout? Dsn { get; set; } + public NLog.Layouts.Layout? Environment { get; set; } + public int FlushTimeoutSeconds { get; set; } + public bool IgnoreEventsWithNoException { get; set; } + public bool IncludeEventDataOnBreadcrumbs { get; set; } + public bool IncludeEventPropertiesAsTags { get; set; } + public bool InitializeSdk { get; set; } + public string MinimumBreadcrumbLevel { get; set; } + public string MinimumEventLevel { get; set; } + [NLog.Config.Advanced] + public Sentry.NLog.SentryNLogOptions Options { get; } + public NLog.Layouts.Layout? Release { get; set; } + public int ShutdownTimeoutSeconds { get; set; } + [NLog.Config.ArrayParameter(typeof(NLog.Targets.TargetPropertyWithContext), "tag")] + public System.Collections.Generic.IList Tags { get; } + public Sentry.NLog.SentryNLogUser? User { get; set; } + protected override void CloseTarget() { } + protected override void FlushAsync(NLog.Common.AsyncContinuation asyncContinuation) { } + protected override void InitializeTarget() { } + protected override void Write(NLog.LogEventInfo logEvent) { } + } +} \ No newline at end of file diff --git a/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt b/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt new file mode 100644 index 0000000000..fb51ad6d5d --- /dev/null +++ b/test/Sentry.NLog.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt @@ -0,0 +1,83 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName="")] +namespace NLog +{ + public static class ConfigurationExtensions + { + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, System.Action? optionsConfig = null) { } + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, string? dsn, System.Action? optionsConfig = null) { } + public static NLog.Config.LoggingConfiguration AddSentry(this NLog.Config.LoggingConfiguration configuration, string? dsn, string targetName, System.Action? optionsConfig = null) { } + public static void AddTag(this Sentry.NLog.SentryNLogOptions options, string name, NLog.Layouts.Layout layout) { } + } +} +namespace Sentry.NLog +{ + [NLog.Config.NLogConfigurationItem] + public class SentryNLogOptions : Sentry.SentryOptions + { + public SentryNLogOptions() { } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? BreadcrumbCategoryLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? BreadcrumbLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? DsnLayout { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? EnvironmentLayout { get; set; } + public System.TimeSpan FlushTimeout { get; set; } + public bool IgnoreEventsWithNoException { get; set; } + public bool IncludeEventDataOnBreadcrumbs { get; set; } + public bool IncludeEventPropertiesAsTags { get; set; } + public bool InitializeSdk { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? Layout { get; set; } + public NLog.LogLevel? MinimumBreadcrumbLevel { get; set; } + public NLog.LogLevel? MinimumEventLevel { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public NLog.Layouts.Layout? ReleaseLayout { get; set; } + public int ShutdownTimeoutSeconds { get; set; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public System.Collections.Generic.IList Tags { get; } + [NLog.Config.NLogConfigurationIgnoreProperty] + public Sentry.NLog.SentryNLogUser? User { get; set; } + } + [NLog.Config.NLogConfigurationItem] + public class SentryNLogUser + { + public SentryNLogUser() { } + public NLog.Layouts.Layout? Email { get; set; } + public NLog.Layouts.Layout? Id { get; set; } + public NLog.Layouts.Layout? IpAddress { get; set; } + [NLog.Config.ArrayParameter(typeof(NLog.Targets.TargetPropertyWithContext?), "other")] + public System.Collections.Generic.IList? Other { get; } + public NLog.Layouts.Layout? Username { get; set; } + } + [NLog.Targets.Target("Sentry")] + public sealed class SentryTarget : NLog.Targets.TargetWithContext + { + public SentryTarget() { } + public SentryTarget(Sentry.NLog.SentryNLogOptions options) { } + public NLog.Layouts.Layout? BreadcrumbCategory { get; set; } + public NLog.Layouts.Layout? BreadcrumbLayout { get; set; } + public NLog.Layouts.Layout? Dsn { get; set; } + public NLog.Layouts.Layout? Environment { get; set; } + public int FlushTimeoutSeconds { get; set; } + public bool IgnoreEventsWithNoException { get; set; } + public bool IncludeEventDataOnBreadcrumbs { get; set; } + public bool IncludeEventPropertiesAsTags { get; set; } + public bool InitializeSdk { get; set; } + public string MinimumBreadcrumbLevel { get; set; } + public string MinimumEventLevel { get; set; } + [NLog.Config.Advanced] + public Sentry.NLog.SentryNLogOptions Options { get; } + public NLog.Layouts.Layout? Release { get; set; } + public int ShutdownTimeoutSeconds { get; set; } + [NLog.Config.ArrayParameter(typeof(NLog.Targets.TargetPropertyWithContext), "tag")] + public System.Collections.Generic.IList Tags { get; } + public Sentry.NLog.SentryNLogUser? User { get; set; } + protected override void CloseTarget() { } + protected override void FlushAsync(NLog.Common.AsyncContinuation asyncContinuation) { } + protected override void InitializeTarget() { } + protected override void Write(NLog.LogEventInfo logEvent) { } + } +} \ No newline at end of file diff --git a/test/Sentry.NLog.Tests/ApiApprovalTests.cs b/test/Sentry.NLog.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..4393b3258a --- /dev/null +++ b/test/Sentry.NLog.Tests/ApiApprovalTests.cs @@ -0,0 +1,17 @@ +using System.Threading.Tasks; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.NLog.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentryTarget).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt b/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt new file mode 100644 index 0000000000..02ecd2c3ab --- /dev/null +++ b/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt @@ -0,0 +1,73 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="")] +namespace Sentry.Serilog +{ + public class SentrySerilogOptions : Sentry.SentryOptions + { + public SentrySerilogOptions() { } + public System.IFormatProvider? FormatProvider { get; set; } + public bool InitializeSdk { get; set; } + public Serilog.Events.LogEventLevel MinimumBreadcrumbLevel { get; set; } + public Serilog.Events.LogEventLevel MinimumEventLevel { get; set; } + public Serilog.Formatting.ITextFormatter? TextFormatter { get; set; } + } +} +namespace Serilog +{ + public static class SentrySinkExtensions + { + public static void ConfigureSentrySerilogOptions( + Sentry.Serilog.SentrySerilogOptions sentrySerilogOptions, + string? dsn = null, + Serilog.Events.LogEventLevel? minimumEventLevel = default, + Serilog.Events.LogEventLevel? minimumBreadcrumbLevel = default, + System.IFormatProvider? formatProvider = null, + Serilog.Formatting.ITextFormatter? textFormatter = null, + bool? sendDefaultPii = default, + bool? isEnvironmentUser = default, + string? serverName = null, + bool? attachStackTrace = default, + int? maxBreadcrumbs = default, + float? sampleRate = default, + string? release = null, + string? environment = null, + int? maxQueueItems = default, + System.TimeSpan? shutdownTimeout = default, + System.Net.DecompressionMethods? decompressionMethods = default, + System.IO.Compression.CompressionLevel? requestBodyCompressionLevel = default, + bool? requestBodyCompressionBuffered = default, + bool? debug = default, + Sentry.SentryLevel? diagnosticLevel = default, + bool? reportAssemblies = default, + Sentry.DeduplicateMode? deduplicateMode = default, + bool? initializeSdk = default, + System.Collections.Generic.Dictionary? defaultTags = null) { } + public static Serilog.LoggerConfiguration Sentry(this Serilog.Configuration.LoggerSinkConfiguration loggerConfiguration, System.Action configureOptions) { } + public static Serilog.LoggerConfiguration Sentry( + this Serilog.Configuration.LoggerSinkConfiguration loggerConfiguration, + string? dsn = null, + Serilog.Events.LogEventLevel minimumBreadcrumbLevel = 2, + Serilog.Events.LogEventLevel minimumEventLevel = 4, + System.IFormatProvider? formatProvider = null, + Serilog.Formatting.ITextFormatter? textFormatter = null, + bool? sendDefaultPii = default, + bool? isEnvironmentUser = default, + string? serverName = null, + bool? attachStackTrace = default, + int? maxBreadcrumbs = default, + float? sampleRate = default, + string? release = null, + string? environment = null, + int? maxQueueItems = default, + System.TimeSpan? shutdownTimeout = default, + System.Net.DecompressionMethods? decompressionMethods = default, + System.IO.Compression.CompressionLevel? requestBodyCompressionLevel = default, + bool? requestBodyCompressionBuffered = default, + bool? debug = default, + Sentry.SentryLevel? diagnosticLevel = default, + bool? reportAssemblies = default, + Sentry.DeduplicateMode? deduplicateMode = default, + bool? initializeSdk = default, + System.Collections.Generic.Dictionary? defaultTags = null) { } + } +} \ No newline at end of file diff --git a/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..f868390f85 --- /dev/null +++ b/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,73 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName="")] +namespace Sentry.Serilog +{ + public class SentrySerilogOptions : Sentry.SentryOptions + { + public SentrySerilogOptions() { } + public System.IFormatProvider? FormatProvider { get; set; } + public bool InitializeSdk { get; set; } + public Serilog.Events.LogEventLevel MinimumBreadcrumbLevel { get; set; } + public Serilog.Events.LogEventLevel MinimumEventLevel { get; set; } + public Serilog.Formatting.ITextFormatter? TextFormatter { get; set; } + } +} +namespace Serilog +{ + public static class SentrySinkExtensions + { + public static void ConfigureSentrySerilogOptions( + Sentry.Serilog.SentrySerilogOptions sentrySerilogOptions, + string? dsn = null, + Serilog.Events.LogEventLevel? minimumEventLevel = default, + Serilog.Events.LogEventLevel? minimumBreadcrumbLevel = default, + System.IFormatProvider? formatProvider = null, + Serilog.Formatting.ITextFormatter? textFormatter = null, + bool? sendDefaultPii = default, + bool? isEnvironmentUser = default, + string? serverName = null, + bool? attachStackTrace = default, + int? maxBreadcrumbs = default, + float? sampleRate = default, + string? release = null, + string? environment = null, + int? maxQueueItems = default, + System.TimeSpan? shutdownTimeout = default, + System.Net.DecompressionMethods? decompressionMethods = default, + System.IO.Compression.CompressionLevel? requestBodyCompressionLevel = default, + bool? requestBodyCompressionBuffered = default, + bool? debug = default, + Sentry.SentryLevel? diagnosticLevel = default, + bool? reportAssemblies = default, + Sentry.DeduplicateMode? deduplicateMode = default, + bool? initializeSdk = default, + System.Collections.Generic.Dictionary? defaultTags = null) { } + public static Serilog.LoggerConfiguration Sentry(this Serilog.Configuration.LoggerSinkConfiguration loggerConfiguration, System.Action configureOptions) { } + public static Serilog.LoggerConfiguration Sentry( + this Serilog.Configuration.LoggerSinkConfiguration loggerConfiguration, + string? dsn = null, + Serilog.Events.LogEventLevel minimumBreadcrumbLevel = 2, + Serilog.Events.LogEventLevel minimumEventLevel = 4, + System.IFormatProvider? formatProvider = null, + Serilog.Formatting.ITextFormatter? textFormatter = null, + bool? sendDefaultPii = default, + bool? isEnvironmentUser = default, + string? serverName = null, + bool? attachStackTrace = default, + int? maxBreadcrumbs = default, + float? sampleRate = default, + string? release = null, + string? environment = null, + int? maxQueueItems = default, + System.TimeSpan? shutdownTimeout = default, + System.Net.DecompressionMethods? decompressionMethods = default, + System.IO.Compression.CompressionLevel? requestBodyCompressionLevel = default, + bool? requestBodyCompressionBuffered = default, + bool? debug = default, + Sentry.SentryLevel? diagnosticLevel = default, + bool? reportAssemblies = default, + Sentry.DeduplicateMode? deduplicateMode = default, + bool? initializeSdk = default, + System.Collections.Generic.Dictionary? defaultTags = null) { } + } +} \ No newline at end of file diff --git a/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt b/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt new file mode 100644 index 0000000000..0194a3b8da --- /dev/null +++ b/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt @@ -0,0 +1,73 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.6.1", FrameworkDisplayName=".NET Framework 4.6.1")] +namespace Sentry.Serilog +{ + public class SentrySerilogOptions : Sentry.SentryOptions + { + public SentrySerilogOptions() { } + public System.IFormatProvider? FormatProvider { get; set; } + public bool InitializeSdk { get; set; } + public Serilog.Events.LogEventLevel MinimumBreadcrumbLevel { get; set; } + public Serilog.Events.LogEventLevel MinimumEventLevel { get; set; } + public Serilog.Formatting.ITextFormatter? TextFormatter { get; set; } + } +} +namespace Serilog +{ + public static class SentrySinkExtensions + { + public static void ConfigureSentrySerilogOptions( + Sentry.Serilog.SentrySerilogOptions sentrySerilogOptions, + string? dsn = null, + Serilog.Events.LogEventLevel? minimumEventLevel = default, + Serilog.Events.LogEventLevel? minimumBreadcrumbLevel = default, + System.IFormatProvider? formatProvider = null, + Serilog.Formatting.ITextFormatter? textFormatter = null, + bool? sendDefaultPii = default, + bool? isEnvironmentUser = default, + string? serverName = null, + bool? attachStackTrace = default, + int? maxBreadcrumbs = default, + float? sampleRate = default, + string? release = null, + string? environment = null, + int? maxQueueItems = default, + System.TimeSpan? shutdownTimeout = default, + System.Net.DecompressionMethods? decompressionMethods = default, + System.IO.Compression.CompressionLevel? requestBodyCompressionLevel = default, + bool? requestBodyCompressionBuffered = default, + bool? debug = default, + Sentry.SentryLevel? diagnosticLevel = default, + bool? reportAssemblies = default, + Sentry.DeduplicateMode? deduplicateMode = default, + bool? initializeSdk = default, + System.Collections.Generic.Dictionary? defaultTags = null) { } + public static Serilog.LoggerConfiguration Sentry(this Serilog.Configuration.LoggerSinkConfiguration loggerConfiguration, System.Action configureOptions) { } + public static Serilog.LoggerConfiguration Sentry( + this Serilog.Configuration.LoggerSinkConfiguration loggerConfiguration, + string? dsn = null, + Serilog.Events.LogEventLevel minimumBreadcrumbLevel = 2, + Serilog.Events.LogEventLevel minimumEventLevel = 4, + System.IFormatProvider? formatProvider = null, + Serilog.Formatting.ITextFormatter? textFormatter = null, + bool? sendDefaultPii = default, + bool? isEnvironmentUser = default, + string? serverName = null, + bool? attachStackTrace = default, + int? maxBreadcrumbs = default, + float? sampleRate = default, + string? release = null, + string? environment = null, + int? maxQueueItems = default, + System.TimeSpan? shutdownTimeout = default, + System.Net.DecompressionMethods? decompressionMethods = default, + System.IO.Compression.CompressionLevel? requestBodyCompressionLevel = default, + bool? requestBodyCompressionBuffered = default, + bool? debug = default, + Sentry.SentryLevel? diagnosticLevel = default, + bool? reportAssemblies = default, + Sentry.DeduplicateMode? deduplicateMode = default, + bool? initializeSdk = default, + System.Collections.Generic.Dictionary? defaultTags = null) { } + } +} \ No newline at end of file diff --git a/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt b/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt new file mode 100644 index 0000000000..5f22cd5f3b --- /dev/null +++ b/test/Sentry.Serilog.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt @@ -0,0 +1,73 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName="")] +namespace Sentry.Serilog +{ + public class SentrySerilogOptions : Sentry.SentryOptions + { + public SentrySerilogOptions() { } + public System.IFormatProvider? FormatProvider { get; set; } + public bool InitializeSdk { get; set; } + public Serilog.Events.LogEventLevel MinimumBreadcrumbLevel { get; set; } + public Serilog.Events.LogEventLevel MinimumEventLevel { get; set; } + public Serilog.Formatting.ITextFormatter? TextFormatter { get; set; } + } +} +namespace Serilog +{ + public static class SentrySinkExtensions + { + public static void ConfigureSentrySerilogOptions( + Sentry.Serilog.SentrySerilogOptions sentrySerilogOptions, + string? dsn = null, + Serilog.Events.LogEventLevel? minimumEventLevel = default, + Serilog.Events.LogEventLevel? minimumBreadcrumbLevel = default, + System.IFormatProvider? formatProvider = null, + Serilog.Formatting.ITextFormatter? textFormatter = null, + bool? sendDefaultPii = default, + bool? isEnvironmentUser = default, + string? serverName = null, + bool? attachStackTrace = default, + int? maxBreadcrumbs = default, + float? sampleRate = default, + string? release = null, + string? environment = null, + int? maxQueueItems = default, + System.TimeSpan? shutdownTimeout = default, + System.Net.DecompressionMethods? decompressionMethods = default, + System.IO.Compression.CompressionLevel? requestBodyCompressionLevel = default, + bool? requestBodyCompressionBuffered = default, + bool? debug = default, + Sentry.SentryLevel? diagnosticLevel = default, + bool? reportAssemblies = default, + Sentry.DeduplicateMode? deduplicateMode = default, + bool? initializeSdk = default, + System.Collections.Generic.Dictionary? defaultTags = null) { } + public static Serilog.LoggerConfiguration Sentry(this Serilog.Configuration.LoggerSinkConfiguration loggerConfiguration, System.Action configureOptions) { } + public static Serilog.LoggerConfiguration Sentry( + this Serilog.Configuration.LoggerSinkConfiguration loggerConfiguration, + string? dsn = null, + Serilog.Events.LogEventLevel minimumBreadcrumbLevel = 2, + Serilog.Events.LogEventLevel minimumEventLevel = 4, + System.IFormatProvider? formatProvider = null, + Serilog.Formatting.ITextFormatter? textFormatter = null, + bool? sendDefaultPii = default, + bool? isEnvironmentUser = default, + string? serverName = null, + bool? attachStackTrace = default, + int? maxBreadcrumbs = default, + float? sampleRate = default, + string? release = null, + string? environment = null, + int? maxQueueItems = default, + System.TimeSpan? shutdownTimeout = default, + System.Net.DecompressionMethods? decompressionMethods = default, + System.IO.Compression.CompressionLevel? requestBodyCompressionLevel = default, + bool? requestBodyCompressionBuffered = default, + bool? debug = default, + Sentry.SentryLevel? diagnosticLevel = default, + bool? reportAssemblies = default, + Sentry.DeduplicateMode? deduplicateMode = default, + bool? initializeSdk = default, + System.Collections.Generic.Dictionary? defaultTags = null) { } + } +} \ No newline at end of file diff --git a/test/Sentry.Serilog.Tests/ApiApprovalTests.cs b/test/Sentry.Serilog.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..905ed33356 --- /dev/null +++ b/test/Sentry.Serilog.Tests/ApiApprovalTests.cs @@ -0,0 +1,17 @@ +using System.Threading.Tasks; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.Serilog.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentrySink).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.Testing/ApiExtensions.cs b/test/Sentry.Testing/ApiExtensions.cs new file mode 100644 index 0000000000..a839dcab11 --- /dev/null +++ b/test/Sentry.Testing/ApiExtensions.cs @@ -0,0 +1,26 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using PublicApiGenerator; +using VerifyXunit; + +namespace Sentry.Tests +{ + public static class ApiExtensions + { + public static Task CheckApproval(this Assembly assembly, [CallerFilePath] string filePath = "") + { + var generatorOptions = new ApiGeneratorOptions { WhitelistedNamespacePrefixes = new[] { "Sentry" } }; + var apiText = assembly.GeneratePublicApi(generatorOptions); + return Verifier.Verify(apiText, null, filePath) + .UniqueForTargetFrameworkAndVersion() + .ScrubEmptyLines() + .ScrubLines(l => + l.StartsWith("[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(") || + l.StartsWith("[assembly: AssemblyVersion(") || + l.StartsWith("[assembly: AssemblyFileVersion(") || + l.StartsWith("[assembly: AssemblyInformationalVersion(") || + l.StartsWith("[assembly: System.Reflection.AssemblyMetadata(")); + } + } +} diff --git a/test/Sentry.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt b/test/Sentry.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt new file mode 100644 index 0000000000..4b75edce1e --- /dev/null +++ b/test/Sentry.Tests/ApiApprovalTests.Run.DotNet2_1.verified.txt @@ -0,0 +1,1300 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="")] +namespace Sentry +{ + [System.Diagnostics.DebuggerDisplay("{FileName}")] + public class Attachment + { + public Attachment(Sentry.AttachmentType type, Sentry.IAttachmentContent content, string fileName, string? contentType) { } + public Sentry.IAttachmentContent Content { get; } + public string? ContentType { get; } + public string FileName { get; } + public Sentry.AttachmentType Type { get; } + } + public enum AttachmentType + { + Default = 0, + Minidump = 1, + AppleCrashReport = 2, + UnrealContext = 3, + UnrealLogs = 4, + } + [System.Diagnostics.DebuggerDisplay("Message: {Message}, Type: {Type}")] + public sealed class Breadcrumb : Sentry.IJsonSerializable + { + public Breadcrumb(string message, string type, System.Collections.Generic.IReadOnlyDictionary? data = null, string? category = null, Sentry.BreadcrumbLevel level = 0) { } + public string? Category { get; } + public System.Collections.Generic.IReadOnlyDictionary? Data { get; } + public Sentry.BreadcrumbLevel Level { get; } + public string? Message { get; } + public System.DateTimeOffset Timestamp { get; } + public string? Type { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Breadcrumb FromJson(System.Text.Json.JsonElement json) { } + } + public enum BreadcrumbLevel + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = -1, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 0, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 1, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 2, + [System.Runtime.Serialization.EnumMember(Value="critical")] + Critical = 3, + } + public static class Constants + { + public const int DefaultMaxBreadcrumbs = 100; + public const string DisableSdkDsnValue = ""; + public const string Platform = "csharp"; + public const int ProtocolVersion = 7; + } + public sealed class Contexts : System.Collections.Concurrent.ConcurrentDictionary, Sentry.IJsonSerializable + { + public Contexts() { } + public Sentry.Protocol.App App { get; } + public Sentry.Protocol.Browser Browser { get; } + public Sentry.Protocol.Device Device { get; } + public Sentry.Protocol.Gpu Gpu { get; } + public Sentry.Protocol.OperatingSystem OperatingSystem { get; } + public Sentry.Protocol.Runtime Runtime { get; } + public Sentry.Protocol.Trace Trace { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Contexts FromJson(System.Text.Json.JsonElement json) { } + } + [System.Flags] + public enum DeduplicateMode + { + SameEvent = 1, + SameExceptionInstance = 2, + InnerException = 4, + AggregateException = 8, + All = 2147483647, + } + public class DefaultSentryScopeStateProcessor : Sentry.ISentryScopeStateProcessor + { + public DefaultSentryScopeStateProcessor() { } + public void Apply(Sentry.Scope scope, object state) { } + } + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.All)] + public class DsnAttribute : System.Attribute + { + public DsnAttribute(string dsn) { } + public string Dsn { get; } + } + public static class EventLikeExtensions + { + public static bool HasUser(this Sentry.IEventLike eventLike) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, System.Collections.Generic.IEnumerable fingerprint) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, params string[] fingerprint) { } + } + public class FileAttachmentContent : Sentry.IAttachmentContent + { + public FileAttachmentContent(string filePath) { } + public System.IO.Stream GetStream() { } + } + public static class HasBreadcrumbsExtensions + { + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category, string? type, System.ValueTuple? dataPair = default, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, System.DateTimeOffset? timestamp, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + } + public static class HasExtraExtensions + { + public static void SetExtras(this Sentry.IHasExtra hasExtra, System.Collections.Generic.IEnumerable> values) { } + } + public static class HasTagsExtensions + { + public static void SetTags(this Sentry.IHasTags hasTags, System.Collections.Generic.IEnumerable> tags) { } + } + public static class HubExtensions + { + public static void AddBreadcrumb(this Sentry.IHub hub, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHub hub, Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void LockScope(this Sentry.IHub hub) { } + public static System.IDisposable PushAndLockScope(this Sentry.IHub hub) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, string? description) { } + public static void UnlockScope(this Sentry.IHub hub) { } + } + public interface IAttachmentContent + { + System.IO.Stream GetStream(); + } + public interface IEventLike : Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + Sentry.Contexts Contexts { get; set; } + string? Environment { get; set; } + System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + Sentry.SentryLevel? Level { get; set; } + string? Platform { get; set; } + string? Release { get; set; } + Sentry.Request Request { get; set; } + Sentry.SdkVersion Sdk { get; } + string? TransactionName { get; set; } + Sentry.User User { get; set; } + } + public interface IHasBreadcrumbs + { + System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + } + public interface IHasExtra + { + System.Collections.Generic.IReadOnlyDictionary Extra { get; } + void SetExtra(string key, object? value); + } + public interface IHasTags + { + System.Collections.Generic.IReadOnlyDictionary Tags { get; } + void SetTag(string key, string value); + void UnsetTag(string key); + } + public interface IHub : Sentry.ISentryClient, Sentry.ISentryScopeManager + { + Sentry.SentryId LastEventId { get; } + void BindException(System.Exception exception, Sentry.ISpan span); + void EndSession(Sentry.SessionEndStatus status = 0); + Sentry.ISpan? GetSpan(); + Sentry.SentryTraceHeader? GetTraceHeader(); + void PauseSession(); + void ResumeSession(); + void StartSession(); + Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext); + } + public interface IJsonSerializable + { + void WriteTo(System.Text.Json.Utf8JsonWriter writer); + } + public interface IScopeObserver + { + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + void SetExtra(string key, object? value); + void SetTag(string key, string value); + void SetUser(Sentry.User? user); + void UnsetTag(string key); + } + public interface ISentryClient + { + bool IsEnabled { get; } + Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null); + void CaptureSession(Sentry.SessionUpdate sessionUpdate); + void CaptureTransaction(Sentry.Transaction transaction); + void CaptureUserFeedback(Sentry.UserFeedback userFeedback); + System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout); + } + public interface ISentryScopeManager + { + void BindClient(Sentry.ISentryClient client); + void ConfigureScope(System.Action configureScope); + System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope); + System.IDisposable PushScope(); + System.IDisposable PushScope(TState state); + void WithScope(System.Action scopeCallback); + } + public interface ISentryScopeStateProcessor + { + void Apply(Sentry.Scope scope, object state); + } + public interface ISession + { + string? DistinctId { get; } + string? Environment { get; } + int ErrorCount { get; } + Sentry.SentryId Id { get; } + string? IpAddress { get; } + string Release { get; } + System.DateTimeOffset StartTimestamp { get; } + string? UserAgent { get; } + } + public interface ISpan : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + new string? Description { get; set; } + new string Operation { get; set; } + new Sentry.SpanStatus? Status { get; set; } + void Finish(); + void Finish(Sentry.SpanStatus status); + void Finish(System.Exception exception); + void Finish(System.Exception exception, Sentry.SpanStatus status); + Sentry.ISpan StartChild(string operation); + } + public interface ISpanContext : Sentry.Protocol.ITraceContext { } + public interface ISpanData : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + System.DateTimeOffset? EndTimestamp { get; } + bool IsFinished { get; } + System.DateTimeOffset StartTimestamp { get; } + Sentry.SentryTraceHeader GetTraceHeader(); + } + public interface ITransaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + new bool? IsParentSampled { get; set; } + new string Name { get; set; } + System.Collections.Generic.IReadOnlyCollection Spans { get; } + Sentry.ISpan? GetLastActiveSpan(); + } + public interface ITransactionContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + bool? IsParentSampled { get; } + string Name { get; } + } + public interface ITransactionData : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext { } + public sealed class Package : Sentry.IJsonSerializable + { + public Package(string name, string version) { } + public string Name { get; } + public string Version { get; } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Package FromJson(System.Text.Json.JsonElement json) { } + } + public enum ReportAssembliesMode + { + None = 0, + Version = 1, + InformationalVersion = 2, + } + public sealed class Request : Sentry.IJsonSerializable + { + public Request() { } + public string? Cookies { get; set; } + public object? Data { get; set; } + public System.Collections.Generic.IDictionary Env { get; } + public System.Collections.Generic.IDictionary Headers { get; } + public string? Method { get; set; } + public System.Collections.Generic.IDictionary Other { get; } + public string? QueryString { get; set; } + public string? Url { get; set; } + public Sentry.Request Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Request FromJson(System.Text.Json.JsonElement json) { } + } + public class Scope : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + public Scope(Sentry.SentryOptions? options) { } + public System.Collections.Generic.IReadOnlyCollection Attachments { get; } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.ITransaction? Transaction { get; set; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddAttachment(Sentry.Attachment attachment) { } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Apply(Sentry.IEventLike other) { } + public void Apply(Sentry.Scope other) { } + public void Apply(object state) { } + public void ClearAttachments() { } + public Sentry.Scope Clone() { } + public Sentry.ISpan? GetSpan() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + } + public static class ScopeExtensions + { + public static void AddAttachment(this Sentry.Scope scope, string filePath, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, byte[] data, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, System.IO.Stream stream, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddEventProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessor(this Sentry.Scope scope, System.Func processor) { } + public static void AddEventProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.Scope scope) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.Scope scope) { } + } + public sealed class SdkVersion : Sentry.IJsonSerializable + { + public SdkVersion() { } + public string? Name { get; set; } + public System.Collections.Generic.IEnumerable Packages { get; } + public string? Version { get; set; } + public void AddPackage(string name, string version) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SdkVersion FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryClient : Sentry.ISentryClient, System.IDisposable + { + public SentryClient(Sentry.SentryOptions options) { } + public bool IsEnabled { get; } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent? @event, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void Dispose() { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + } + public static class SentryClientExtensions + { + public static Sentry.SentryId CaptureException(this Sentry.ISentryClient client, System.Exception ex) { } + public static Sentry.SentryId CaptureMessage(this Sentry.ISentryClient client, string message, Sentry.SentryLevel level = 1) { } + public static void CaptureUserFeedback(this Sentry.ISentryClient client, Sentry.SentryId eventId, string email, string comments, string? name = null) { } + } + [System.Diagnostics.DebuggerDisplay("{GetType().Name,nq}: {EventId,nq}")] + public sealed class SentryEvent : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable + { + public SentryEvent() { } + public SentryEvent(System.Exception? exception) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Exception? Exception { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Logger { get; set; } + public Sentry.SentryMessage? Message { get; set; } + public System.Collections.Generic.IDictionary Modules { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IEnumerable? SentryExceptions { get; set; } + public System.Collections.Generic.IEnumerable? SentryThreads { get; set; } + public string? ServerName { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public System.DateTimeOffset Timestamp { get; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryEvent FromJson(System.Text.Json.JsonElement json) { } + } + public static class SentryEventExtensions { } + public class SentryHttpMessageHandler : System.Net.Http.DelegatingHandler + { + public SentryHttpMessageHandler() { } + public SentryHttpMessageHandler(Sentry.IHub hub) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler, Sentry.IHub hub) { } + protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { } + } + public readonly struct SentryId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SentryId Empty; + public SentryId(System.Guid guid) { } + public bool Equals(Sentry.SentryId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryId Create() { } + public static Sentry.SentryId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryId Parse(string value) { } + public static System.Guid op_Implicit(Sentry.SentryId sentryId) { } + public static Sentry.SentryId op_Implicit(System.Guid guid) { } + public static bool operator !=(Sentry.SentryId left, Sentry.SentryId right) { } + public static bool operator ==(Sentry.SentryId left, Sentry.SentryId right) { } + } + public enum SentryLevel : short + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = 0, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 1, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 2, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 3, + [System.Runtime.Serialization.EnumMember(Value="fatal")] + Fatal = 4, + } + public sealed class SentryMessage : Sentry.IJsonSerializable + { + public SentryMessage() { } + public string? Formatted { get; set; } + public string? Message { get; set; } + public System.Collections.Generic.IEnumerable? Params { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryMessage FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryMessage op_Implicit(string? message) { } + } + public class SentryOptions + { + public SentryOptions() { } + public bool AttachStacktrace { get; set; } + public bool AutoSessionTracking { get; set; } + public System.TimeSpan AutoSessionTrackingInterval { get; set; } + public System.Func? BeforeBreadcrumb { get; set; } + public System.Func? BeforeSend { get; set; } + public string? CacheDirectoryPath { get; set; } + public System.Action? ConfigureClient { get; set; } + public System.Func? CrashedLastRun { get; set; } + public System.Func? CreateHttpClientHandler { get; set; } + public bool Debug { get; set; } + public System.Net.DecompressionMethods DecompressionMethods { get; set; } + public Sentry.DeduplicateMode DeduplicateMode { get; set; } + public System.Collections.Generic.Dictionary DefaultTags { get; } + public Sentry.StartupTimeDetectionMode DetectStartupTime { get; set; } + public Sentry.SentryLevel DiagnosticLevel { get; set; } + public Sentry.Extensibility.IDiagnosticLogger? DiagnosticLogger { get; set; } + public string? Dsn { get; set; } + public bool EnableScopeSync { get; set; } + public string? Environment { get; set; } + public System.Net.IWebProxy? HttpProxy { get; set; } + public System.TimeSpan InitCacheFlushTimeout { get; set; } + public bool IsEnvironmentUser { get; set; } + public bool IsGlobalModeEnabled { get; set; } + public long MaxAttachmentSize { get; set; } + public int MaxBreadcrumbs { get; set; } + public int MaxCacheItems { get; set; } + public int MaxQueueItems { get; set; } + public string? Release { get; set; } + [System.Obsolete("Use ReportAssembliesMode instead", false)] + public bool ReportAssemblies { get; set; } + public Sentry.ReportAssembliesMode ReportAssembliesMode { get; set; } + public bool RequestBodyCompressionBuffered { get; set; } + public System.IO.Compression.CompressionLevel RequestBodyCompressionLevel { get; set; } + public float? SampleRate { get; set; } + public Sentry.IScopeObserver? ScopeObserver { get; set; } + public bool SendDefaultPii { get; set; } + public Sentry.ISentryScopeStateProcessor SentryScopeStateProcessor { get; set; } + public string? ServerName { get; set; } + public System.TimeSpan ShutdownTimeout { get; set; } + public Sentry.StackTraceMode StackTraceMode { get; set; } + public double TracesSampleRate { get; set; } + public System.Func? TracesSampler { get; set; } + } + public static class SentryOptionsExtensions + { + public static void AddEventProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddEventProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionFilter(this Sentry.SentryOptions options, Sentry.Extensibility.IExceptionFilter exceptionFilter) { } + public static void AddExceptionFilterForType(this Sentry.SentryOptions options) + where TException : System.Exception { } + public static void AddExceptionProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddExceptionProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddInAppExclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddInAppInclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddIntegration(this Sentry.SentryOptions options, Sentry.Integrations.ISdkIntegration integration) { } + public static void ApplyDefaultTags(this Sentry.SentryOptions options, Sentry.IHasTags hasTags) { } + public static void DisableAppDomainProcessExitFlush(this Sentry.SentryOptions options) { } + public static void DisableAppDomainUnhandledExceptionCapture(this Sentry.SentryOptions options) { } + public static void DisableDuplicateEventDetection(this Sentry.SentryOptions options) { } + public static void DisableTaskUnobservedTaskExceptionCapture(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.SentryOptions options) { } + public static Sentry.SentryOptions UseStackTraceFactory(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryStackTraceFactory sentryStackTraceFactory) { } + } + public static class SentrySdk + { + public static bool IsEnabled { get; } + public static Sentry.SentryId LastEventId { get; } + public static void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? 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 CaptureEvent(Sentry.SentryEvent evt) { } + public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public static Sentry.SentryId CaptureException(System.Exception exception) { } + public static Sentry.SentryId CaptureMessage(string message, Sentry.SentryLevel level = 1) { } + public static void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public static void CaptureTransaction(Sentry.Transaction transaction) { } + public static void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public static void CaptureUserFeedback(Sentry.SentryId eventId, string email, string comments, string? name = null) { } + public static void Close() { } + public static void ConfigureScope(System.Action configureScope) { } + public static System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public static void EndSession(Sentry.SessionEndStatus status = 0) { } + public static System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public static Sentry.ISpan? GetSpan() { } + public static Sentry.SentryTraceHeader? GetTraceHeader() { } + public static System.IDisposable Init() { } + public static System.IDisposable Init(Sentry.SentryOptions options) { } + public static System.IDisposable Init(System.Action? configureOptions) { } + public static System.IDisposable Init(string? dsn) { } + public static void PauseSession() { } + public static System.IDisposable PushScope() { } + public static System.IDisposable PushScope(TState state) { } + public static void ResumeSession() { } + public static void StartSession() { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public static Sentry.ITransaction StartTransaction(string name, string operation) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, string? description) { } + public static void WithScope(System.Action scopeCallback) { } + } + public sealed class SentryStackFrame : Sentry.IJsonSerializable + { + public SentryStackFrame() { } + public string? AbsolutePath { get; set; } + public int? ColumnNumber { get; set; } + public string? ContextLine { get; set; } + public string? FileName { get; set; } + public System.Collections.Generic.IList FramesOmitted { get; } + public string? Function { get; set; } + public long ImageAddress { get; set; } + public bool? InApp { get; set; } + public string? InstructionAddress { get; set; } + public long? InstructionOffset { get; set; } + public int? LineNumber { get; set; } + public string? Module { get; set; } + public string? Package { get; set; } + public string? Platform { get; set; } + public System.Collections.Generic.IList PostContext { get; } + public System.Collections.Generic.IList PreContext { get; } + public long? SymbolAddress { get; set; } + public System.Collections.Generic.IDictionary Vars { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackFrame FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryStackTrace : Sentry.IJsonSerializable + { + public SentryStackTrace() { } + public System.Collections.Generic.IList Frames { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackTrace FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryThread : Sentry.IJsonSerializable + { + public SentryThread() { } + public bool? Crashed { get; set; } + public bool? Current { get; set; } + public int? Id { get; set; } + public string? Name { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryThread FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryTraceHeader + { + public SentryTraceHeader(Sentry.SentryId traceId, Sentry.SpanId spanSpanId, bool? isSampled) { } + public bool? IsSampled { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SentryId TraceId { get; } + public override string ToString() { } + public static Sentry.SentryTraceHeader Parse(string value) { } + } + public sealed class SentryValues : Sentry.IJsonSerializable + { + public SentryValues(System.Collections.Generic.IEnumerable? values) { } + public System.Collections.Generic.IEnumerable Values { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + } + public class Session : Sentry.ISession + { + public Session(string? distinctId, string release, string? environment) { } + public string? DistinctId { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public string Release { get; } + public System.DateTimeOffset StartTimestamp { get; } + public string? UserAgent { get; } + public void ReportError() { } + } + public enum SessionEndStatus + { + Exited = 0, + Crashed = 1, + Abnormal = 2, + } + public class SessionUpdate : Sentry.IJsonSerializable, Sentry.ISession + { + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial) { } + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.ISession session, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.SentryId id, string? distinctId, System.DateTimeOffset startTimestamp, string release, string? environment, string? ipAddress, string? userAgent, int errorCount, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public string? DistinctId { get; } + public System.TimeSpan Duration { get; } + public Sentry.SessionEndStatus? EndStatus { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public bool IsInitial { get; } + public string Release { get; } + public int SequenceNumber { get; } + public System.DateTimeOffset StartTimestamp { get; } + public System.DateTimeOffset Timestamp { get; } + public string? UserAgent { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SessionUpdate FromJson(System.Text.Json.JsonElement json) { } + } + public class Span : Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public Span(Sentry.ISpan tracer) { } + public Span(Sentry.SpanId? parentSpanId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Span FromJson(System.Text.Json.JsonElement json) { } + } + public class SpanContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + public SpanContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled) { } + public string? Description { get; } + public bool? IsSampled { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SpanStatus? Status { get; } + public Sentry.SentryId TraceId { get; } + } + public static class SpanExtensions + { + public static Sentry.ISpan StartChild(this Sentry.ISpan span, string operation, string? description) { } + } + public readonly struct SpanId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SpanId Empty; + public SpanId(string value) { } + public bool Equals(Sentry.SpanId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SpanId Create() { } + public static Sentry.SpanId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SpanId Parse(string value) { } + public static string op_Implicit(Sentry.SpanId id) { } + public static bool operator !=(Sentry.SpanId left, Sentry.SpanId right) { } + public static bool operator ==(Sentry.SpanId left, Sentry.SpanId right) { } + } + public enum SpanStatus + { + Ok = 0, + DeadlineExceeded = 1, + Unauthenticated = 2, + PermissionDenied = 3, + NotFound = 4, + ResourceExhausted = 5, + InvalidArgument = 6, + Unimplemented = 7, + Unavailable = 8, + InternalError = 9, + UnknownError = 10, + Cancelled = 11, + AlreadyExists = 12, + FailedPrecondition = 13, + Aborted = 14, + OutOfRange = 15, + DataLoss = 16, + } + public class SpanTracer : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public SpanTracer(Sentry.IHub hub, Sentry.TransactionTracer transaction, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public enum StackTraceMode + { + Original = 0, + Enhanced = 1, + } + public enum StartupTimeDetectionMode + { + None = 0, + Fast = 1, + Best = 2, + } + public class StreamAttachmentContent : Sentry.IAttachmentContent + { + public StreamAttachmentContent(System.IO.Stream stream) { } + public System.IO.Stream GetStream() { } + } + public class Transaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public Transaction(Sentry.ITransaction tracer) { } + public Transaction(string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Transaction FromJson(System.Text.Json.JsonElement json) { } + } + public class TransactionContext : Sentry.SpanContext, Sentry.ISpanContext, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext + { + public TransactionContext(string name, string operation) { } + public TransactionContext(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public TransactionContext(string name, string operation, bool? isSampled) { } + public TransactionContext(Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, bool? isParentSampled) { } + public TransactionContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled, bool? isParentSampled) { } + public bool? IsParentSampled { get; } + public string Name { get; } + } + public class TransactionSamplingContext + { + public TransactionSamplingContext(Sentry.ITransactionContext transactionContext, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public System.Collections.Generic.IReadOnlyDictionary CustomSamplingContext { get; } + public Sentry.ITransactionContext TransactionContext { get; } + } + public class TransactionTracer : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransaction, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public TransactionTracer(Sentry.IHub hub, Sentry.ITransactionContext context) { } + public TransactionTracer(Sentry.IHub hub, string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; set; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.ISpan? GetLastActiveSpan() { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public sealed class User : Sentry.IJsonSerializable + { + public User() { } + public string? Email { get; set; } + public string? Id { get; set; } + public string? IpAddress { get; set; } + public System.Collections.Generic.IDictionary Other { get; set; } + public string? Username { get; set; } + public Sentry.User Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.User FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class UserFeedback : Sentry.IJsonSerializable + { + public UserFeedback(Sentry.SentryId eventId, string? name, string? email, string? comments) { } + public string? Comments { get; } + public string? Email { get; } + public Sentry.SentryId EventId { get; } + public string? Name { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.UserFeedback FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Extensibility +{ + public abstract class BaseRequestPayloadExtractor : Sentry.Extensibility.IRequestPayloadExtractor + { + protected BaseRequestPayloadExtractor() { } + protected abstract object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request); + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + protected abstract bool IsSupported(Sentry.Extensibility.IHttpRequest request); + } + public class DefaultRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public DefaultRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public static class DiagnosticLoggerExtensions + { + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, System.Exception exception, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2, TArg3 arg3, TArg4 arg4) { } + public static void LogFatal(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + } + public class DisabledHub : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager, System.IDisposable + { + public static readonly Sentry.Extensibility.DisabledHub Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void Dispose() { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public class FormRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public FormRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public sealed class HubAdapter : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager + { + public static readonly Sentry.Extensibility.HubAdapter Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void AddBreadcrumb(Sentry.Infrastructure.ISystemClock clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public Sentry.SentryId CaptureException(System.Exception exception) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback sentryUserFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public interface IDiagnosticLogger + { + bool IsEnabled(Sentry.SentryLevel level); + void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args); + } + public interface IExceptionFilter + { + bool Filter(System.Exception ex); + } + public interface IHttpRequest + { + System.IO.Stream? Body { get; } + long? ContentLength { get; } + string? ContentType { get; } + System.Collections.Generic.IEnumerable>>? Form { get; } + } + public interface IRequestPayloadExtractor + { + object? ExtractPayload(Sentry.Extensibility.IHttpRequest request); + } + public interface ISentryEventExceptionProcessor + { + void Process(System.Exception exception, Sentry.SentryEvent sentryEvent); + } + public interface ISentryEventProcessor + { + Sentry.SentryEvent? Process(Sentry.SentryEvent @event); + } + public interface ISentryStackTraceFactory + { + Sentry.SentryStackTrace? Create(System.Exception? exception = null); + } + public class RequestBodyExtractionDispatcher : Sentry.Extensibility.IRequestPayloadExtractor + { + public RequestBodyExtractionDispatcher(System.Collections.Generic.IEnumerable extractors, Sentry.SentryOptions options, System.Func sizeSwitch) { } + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + } + public enum RequestSize + { + None = 0, + Small = 1, + Medium = 2, + Always = 3, + } + public abstract class SentryEventExceptionProcessor : Sentry.Extensibility.ISentryEventExceptionProcessor + where TException : System.Exception + { + protected SentryEventExceptionProcessor() { } + public void Process(System.Exception? exception, Sentry.SentryEvent sentryEvent) { } + protected abstract void ProcessException(TException exception, Sentry.SentryEvent sentryEvent); + } + public class SentryStackTraceFactory : Sentry.Extensibility.ISentryStackTraceFactory + { + public SentryStackTraceFactory(Sentry.SentryOptions options) { } + public virtual Sentry.SentryStackTrace? Create(System.Exception? exception = null) { } + protected virtual Sentry.SentryStackFrame CreateFrame(System.Diagnostics.StackFrame stackFrame, bool isCurrentStackTrace) { } + protected virtual System.Diagnostics.StackTrace CreateStackTrace(System.Exception? exception) { } + protected virtual System.Reflection.MethodBase? GetMethod(System.Diagnostics.StackFrame stackFrame) { } + protected Sentry.SentryStackFrame InternalCreateFrame(System.Diagnostics.StackFrame stackFrame, bool demangle) { } + } +} +namespace Sentry.Http +{ + public interface ISentryHttpClientFactory + { + System.Net.Http.HttpClient Create(Sentry.SentryOptions options); + } +} +namespace Sentry.Infrastructure +{ + public class ConsoleDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public ConsoleDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [System.Obsolete("Logger doesn\'t work outside of Sentry SDK. Please use TraceDiagnosticLogger inste" + + "ad")] + public class DebugDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public DebugDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + public interface ISystemClock + { + System.DateTimeOffset GetUtcNow(); + } + public sealed class SystemClock : Sentry.Infrastructure.ISystemClock + { + public static readonly Sentry.Infrastructure.SystemClock Clock; + public SystemClock() { } + public System.DateTimeOffset GetUtcNow() { } + } + public class TraceDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public TraceDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } +} +namespace Sentry.Integrations +{ + public interface ISdkIntegration + { + void Register(Sentry.IHub hub, Sentry.SentryOptions options); + } +} +namespace Sentry.PlatformAbstractions +{ + public static class FrameworkInfo + { + public static System.Collections.Generic.IReadOnlyDictionary NetFxReleaseVersionMap { get; } + public static System.Collections.Generic.IEnumerable GetInstallations() { } + public static Sentry.PlatformAbstractions.FrameworkInstallation? GetLatest(int clr) { } + } + public class FrameworkInstallation + { + public FrameworkInstallation() { } + public Sentry.PlatformAbstractions.FrameworkProfile? Profile { get; set; } + public int? Release { get; set; } + public int? ServicePack { get; set; } + public string? ShortName { get; set; } + public System.Version? Version { get; set; } + public override string ToString() { } + } + public enum FrameworkProfile + { + Client = 0, + Full = 1, + } + public class Runtime + { + public Runtime(string? name = null, string? version = null, string? raw = null) { } + public string? Name { get; } + public string? Raw { get; } + public string? Version { get; } + public static Sentry.PlatformAbstractions.Runtime Current { get; } + public bool Equals(Sentry.PlatformAbstractions.Runtime other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string? ToString() { } + } + public static class RuntimeExtensions + { + public static bool IsMono(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetCore(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetFx(this Sentry.PlatformAbstractions.Runtime runtime) { } + } +} +namespace Sentry.Protocol +{ + public sealed class App : Sentry.IJsonSerializable + { + public const string Type = "app"; + public App() { } + public string? Build { get; set; } + public string? BuildType { get; set; } + public string? Hash { get; set; } + public string? Identifier { get; set; } + public string? Name { get; set; } + public System.DateTimeOffset? StartTime { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.App FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Browser : Sentry.IJsonSerializable + { + public const string Type = "browser"; + public Browser() { } + public string? Name { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Browser FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Device : Sentry.IJsonSerializable + { + public const string Type = "device"; + public Device() { } + public string? Architecture { get; set; } + public short? BatteryLevel { get; set; } + public string? BatteryStatus { get; set; } + public System.DateTimeOffset? BootTime { get; set; } + public string? Brand { get; set; } + public string? CpuDescription { get; set; } + public string? DeviceType { get; set; } + public string? DeviceUniqueIdentifier { get; set; } + public long? ExternalFreeStorage { get; set; } + public long? ExternalStorageSize { get; set; } + public string? Family { get; set; } + public long? FreeMemory { get; set; } + public long? FreeStorage { get; set; } + public bool? IsCharging { get; set; } + public bool? IsOnline { get; set; } + public bool? LowMemory { get; set; } + public string? Manufacturer { get; set; } + public long? MemorySize { get; set; } + public string? Model { get; set; } + public string? ModelId { get; set; } + public string? Name { get; set; } + public Sentry.Protocol.DeviceOrientation? Orientation { get; set; } + public int? ProcessorCount { get; set; } + public int? ProcessorFrequency { get; set; } + public float? ScreenDensity { get; set; } + public int? ScreenDpi { get; set; } + public string? ScreenResolution { get; set; } + public bool? Simulator { get; set; } + public long? StorageSize { get; set; } + public bool? SupportsAccelerometer { get; set; } + public bool? SupportsAudio { get; set; } + public bool? SupportsGyroscope { get; set; } + public bool? SupportsLocationService { get; set; } + public bool? SupportsVibration { get; set; } + public System.TimeZoneInfo? Timezone { get; set; } + public long? UsableMemory { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Device FromJson(System.Text.Json.JsonElement json) { } + } + public enum DeviceOrientation + { + [System.Runtime.Serialization.EnumMember(Value="portrait")] + Portrait = 0, + [System.Runtime.Serialization.EnumMember(Value="landscape")] + Landscape = 1, + } + public sealed class Gpu : Sentry.IJsonSerializable + { + public const string Type = "gpu"; + public Gpu() { } + public string? ApiType { get; set; } + public string? GraphicsShaderLevel { get; set; } + public int? Id { get; set; } + public int? MaxTextureSize { get; set; } + public int? MemorySize { get; set; } + public bool? MultiThreadedRendering { get; set; } + public string? Name { get; set; } + public string? NpotSupport { get; set; } + public bool? SupportsComputeShaders { get; set; } + public bool? SupportsDrawCallInstancing { get; set; } + public bool? SupportsGeometryShaders { get; set; } + public bool? SupportsRayTracing { get; set; } + public string? VendorId { get; set; } + public string? VendorName { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Gpu FromJson(System.Text.Json.JsonElement json) { } + } + public interface ITraceContext + { + string? Description { get; } + bool? IsSampled { get; } + string Operation { get; } + Sentry.SpanId? ParentSpanId { get; } + Sentry.SpanId SpanId { get; } + Sentry.SpanStatus? Status { get; } + Sentry.SentryId TraceId { get; } + } + public sealed class Mechanism : Sentry.IJsonSerializable + { + public static readonly string HandledKey; + public static readonly string MechanismKey; + public Mechanism() { } + public System.Collections.Generic.IDictionary Data { get; } + public string? Description { get; set; } + public bool? Handled { get; set; } + public string? HelpLink { get; set; } + public System.Collections.Generic.IDictionary Meta { get; } + public string? Type { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Mechanism FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class OperatingSystem : Sentry.IJsonSerializable + { + public const string Type = "os"; + public OperatingSystem() { } + public string? Build { get; set; } + public string? KernelVersion { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public bool? Rooted { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.OperatingSystem FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Runtime : Sentry.IJsonSerializable + { + public const string Type = "runtime"; + public Runtime() { } + public string? Build { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public string? Version { get; set; } + public Sentry.Protocol.Runtime Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Runtime FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryException : Sentry.IJsonSerializable + { + public SentryException() { } + public System.Collections.Generic.IDictionary Data { get; } + public Sentry.Protocol.Mechanism? Mechanism { get; set; } + public string? Module { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public int ThreadId { get; set; } + public string? Type { get; set; } + public string? Value { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.SentryException FromJson(System.Text.Json.JsonElement json) { } + } + public class Trace : Sentry.IJsonSerializable, Sentry.Protocol.ITraceContext + { + public const string Type = "trace"; + public Trace() { } + public string? Description { get; set; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; set; } + public Sentry.SpanId SpanId { get; set; } + public Sentry.SpanStatus? Status { get; set; } + public Sentry.SentryId TraceId { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Trace FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Reflection +{ + public static class AssemblyExtensions + { + public static Sentry.SdkVersion GetNameAndVersion(this System.Reflection.Assembly asm) { } + } +} +public static class SentryExceptionExtensions +{ + public static void AddSentryContext(this System.Exception ex, string name, System.Collections.Generic.IReadOnlyDictionary data) { } + public static void AddSentryTag(this System.Exception ex, string name, string value) { } +} \ No newline at end of file diff --git a/test/Sentry.Tests/ApiApprovalTests.Run.DotNet3_0.verified.txt b/test/Sentry.Tests/ApiApprovalTests.Run.DotNet3_0.verified.txt new file mode 100644 index 0000000000..85d98cf190 --- /dev/null +++ b/test/Sentry.Tests/ApiApprovalTests.Run.DotNet3_0.verified.txt @@ -0,0 +1,1300 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName="")] +namespace Sentry +{ + [System.Diagnostics.DebuggerDisplay("{FileName}")] + public class Attachment + { + public Attachment(Sentry.AttachmentType type, Sentry.IAttachmentContent content, string fileName, string? contentType) { } + public Sentry.IAttachmentContent Content { get; } + public string? ContentType { get; } + public string FileName { get; } + public Sentry.AttachmentType Type { get; } + } + public enum AttachmentType + { + Default = 0, + Minidump = 1, + AppleCrashReport = 2, + UnrealContext = 3, + UnrealLogs = 4, + } + [System.Diagnostics.DebuggerDisplay("Message: {Message}, Type: {Type}")] + public sealed class Breadcrumb : Sentry.IJsonSerializable + { + public Breadcrumb(string message, string type, System.Collections.Generic.IReadOnlyDictionary? data = null, string? category = null, Sentry.BreadcrumbLevel level = 0) { } + public string? Category { get; } + public System.Collections.Generic.IReadOnlyDictionary? Data { get; } + public Sentry.BreadcrumbLevel Level { get; } + public string? Message { get; } + public System.DateTimeOffset Timestamp { get; } + public string? Type { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Breadcrumb FromJson(System.Text.Json.JsonElement json) { } + } + public enum BreadcrumbLevel + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = -1, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 0, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 1, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 2, + [System.Runtime.Serialization.EnumMember(Value="critical")] + Critical = 3, + } + public static class Constants + { + public const int DefaultMaxBreadcrumbs = 100; + public const string DisableSdkDsnValue = ""; + public const string Platform = "csharp"; + public const int ProtocolVersion = 7; + } + public sealed class Contexts : System.Collections.Concurrent.ConcurrentDictionary, Sentry.IJsonSerializable + { + public Contexts() { } + public Sentry.Protocol.App App { get; } + public Sentry.Protocol.Browser Browser { get; } + public Sentry.Protocol.Device Device { get; } + public Sentry.Protocol.Gpu Gpu { get; } + public Sentry.Protocol.OperatingSystem OperatingSystem { get; } + public Sentry.Protocol.Runtime Runtime { get; } + public Sentry.Protocol.Trace Trace { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Contexts FromJson(System.Text.Json.JsonElement json) { } + } + [System.Flags] + public enum DeduplicateMode + { + SameEvent = 1, + SameExceptionInstance = 2, + InnerException = 4, + AggregateException = 8, + All = 2147483647, + } + public class DefaultSentryScopeStateProcessor : Sentry.ISentryScopeStateProcessor + { + public DefaultSentryScopeStateProcessor() { } + public void Apply(Sentry.Scope scope, object state) { } + } + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.All)] + public class DsnAttribute : System.Attribute + { + public DsnAttribute(string dsn) { } + public string Dsn { get; } + } + public static class EventLikeExtensions + { + public static bool HasUser(this Sentry.IEventLike eventLike) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, System.Collections.Generic.IEnumerable fingerprint) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, params string[] fingerprint) { } + } + public class FileAttachmentContent : Sentry.IAttachmentContent + { + public FileAttachmentContent(string filePath) { } + public System.IO.Stream GetStream() { } + } + public static class HasBreadcrumbsExtensions + { + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category, string? type, System.ValueTuple? dataPair = default, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, System.DateTimeOffset? timestamp, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + } + public static class HasExtraExtensions + { + public static void SetExtras(this Sentry.IHasExtra hasExtra, System.Collections.Generic.IEnumerable> values) { } + } + public static class HasTagsExtensions + { + public static void SetTags(this Sentry.IHasTags hasTags, System.Collections.Generic.IEnumerable> tags) { } + } + public static class HubExtensions + { + public static void AddBreadcrumb(this Sentry.IHub hub, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHub hub, Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void LockScope(this Sentry.IHub hub) { } + public static System.IDisposable PushAndLockScope(this Sentry.IHub hub) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, string? description) { } + public static void UnlockScope(this Sentry.IHub hub) { } + } + public interface IAttachmentContent + { + System.IO.Stream GetStream(); + } + public interface IEventLike : Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + Sentry.Contexts Contexts { get; set; } + string? Environment { get; set; } + System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + Sentry.SentryLevel? Level { get; set; } + string? Platform { get; set; } + string? Release { get; set; } + Sentry.Request Request { get; set; } + Sentry.SdkVersion Sdk { get; } + string? TransactionName { get; set; } + Sentry.User User { get; set; } + } + public interface IHasBreadcrumbs + { + System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + } + public interface IHasExtra + { + System.Collections.Generic.IReadOnlyDictionary Extra { get; } + void SetExtra(string key, object? value); + } + public interface IHasTags + { + System.Collections.Generic.IReadOnlyDictionary Tags { get; } + void SetTag(string key, string value); + void UnsetTag(string key); + } + public interface IHub : Sentry.ISentryClient, Sentry.ISentryScopeManager + { + Sentry.SentryId LastEventId { get; } + void BindException(System.Exception exception, Sentry.ISpan span); + void EndSession(Sentry.SessionEndStatus status = 0); + Sentry.ISpan? GetSpan(); + Sentry.SentryTraceHeader? GetTraceHeader(); + void PauseSession(); + void ResumeSession(); + void StartSession(); + Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext); + } + public interface IJsonSerializable + { + void WriteTo(System.Text.Json.Utf8JsonWriter writer); + } + public interface IScopeObserver + { + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + void SetExtra(string key, object? value); + void SetTag(string key, string value); + void SetUser(Sentry.User? user); + void UnsetTag(string key); + } + public interface ISentryClient + { + bool IsEnabled { get; } + Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null); + void CaptureSession(Sentry.SessionUpdate sessionUpdate); + void CaptureTransaction(Sentry.Transaction transaction); + void CaptureUserFeedback(Sentry.UserFeedback userFeedback); + System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout); + } + public interface ISentryScopeManager + { + void BindClient(Sentry.ISentryClient client); + void ConfigureScope(System.Action configureScope); + System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope); + System.IDisposable PushScope(); + System.IDisposable PushScope(TState state); + void WithScope(System.Action scopeCallback); + } + public interface ISentryScopeStateProcessor + { + void Apply(Sentry.Scope scope, object state); + } + public interface ISession + { + string? DistinctId { get; } + string? Environment { get; } + int ErrorCount { get; } + Sentry.SentryId Id { get; } + string? IpAddress { get; } + string Release { get; } + System.DateTimeOffset StartTimestamp { get; } + string? UserAgent { get; } + } + public interface ISpan : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + new string? Description { get; set; } + new string Operation { get; set; } + new Sentry.SpanStatus? Status { get; set; } + void Finish(); + void Finish(Sentry.SpanStatus status); + void Finish(System.Exception exception); + void Finish(System.Exception exception, Sentry.SpanStatus status); + Sentry.ISpan StartChild(string operation); + } + public interface ISpanContext : Sentry.Protocol.ITraceContext { } + public interface ISpanData : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + System.DateTimeOffset? EndTimestamp { get; } + bool IsFinished { get; } + System.DateTimeOffset StartTimestamp { get; } + Sentry.SentryTraceHeader GetTraceHeader(); + } + public interface ITransaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + new bool? IsParentSampled { get; set; } + new string Name { get; set; } + System.Collections.Generic.IReadOnlyCollection Spans { get; } + Sentry.ISpan? GetLastActiveSpan(); + } + public interface ITransactionContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + bool? IsParentSampled { get; } + string Name { get; } + } + public interface ITransactionData : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext { } + public sealed class Package : Sentry.IJsonSerializable + { + public Package(string name, string version) { } + public string Name { get; } + public string Version { get; } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Package FromJson(System.Text.Json.JsonElement json) { } + } + public enum ReportAssembliesMode + { + None = 0, + Version = 1, + InformationalVersion = 2, + } + public sealed class Request : Sentry.IJsonSerializable + { + public Request() { } + public string? Cookies { get; set; } + public object? Data { get; set; } + public System.Collections.Generic.IDictionary Env { get; } + public System.Collections.Generic.IDictionary Headers { get; } + public string? Method { get; set; } + public System.Collections.Generic.IDictionary Other { get; } + public string? QueryString { get; set; } + public string? Url { get; set; } + public Sentry.Request Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Request FromJson(System.Text.Json.JsonElement json) { } + } + public class Scope : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + public Scope(Sentry.SentryOptions? options) { } + public System.Collections.Generic.IReadOnlyCollection Attachments { get; } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.ITransaction? Transaction { get; set; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddAttachment(Sentry.Attachment attachment) { } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Apply(Sentry.IEventLike other) { } + public void Apply(Sentry.Scope other) { } + public void Apply(object state) { } + public void ClearAttachments() { } + public Sentry.Scope Clone() { } + public Sentry.ISpan? GetSpan() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + } + public static class ScopeExtensions + { + public static void AddAttachment(this Sentry.Scope scope, string filePath, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, byte[] data, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, System.IO.Stream stream, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddEventProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessor(this Sentry.Scope scope, System.Func processor) { } + public static void AddEventProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.Scope scope) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.Scope scope) { } + } + public sealed class SdkVersion : Sentry.IJsonSerializable + { + public SdkVersion() { } + public string? Name { get; set; } + public System.Collections.Generic.IEnumerable Packages { get; } + public string? Version { get; set; } + public void AddPackage(string name, string version) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SdkVersion FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryClient : Sentry.ISentryClient, System.IDisposable + { + public SentryClient(Sentry.SentryOptions options) { } + public bool IsEnabled { get; } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent? @event, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void Dispose() { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + } + public static class SentryClientExtensions + { + public static Sentry.SentryId CaptureException(this Sentry.ISentryClient client, System.Exception ex) { } + public static Sentry.SentryId CaptureMessage(this Sentry.ISentryClient client, string message, Sentry.SentryLevel level = 1) { } + public static void CaptureUserFeedback(this Sentry.ISentryClient client, Sentry.SentryId eventId, string email, string comments, string? name = null) { } + } + [System.Diagnostics.DebuggerDisplay("{GetType().Name,nq}: {EventId,nq}")] + public sealed class SentryEvent : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable + { + public SentryEvent() { } + public SentryEvent(System.Exception? exception) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Exception? Exception { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Logger { get; set; } + public Sentry.SentryMessage? Message { get; set; } + public System.Collections.Generic.IDictionary Modules { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IEnumerable? SentryExceptions { get; set; } + public System.Collections.Generic.IEnumerable? SentryThreads { get; set; } + public string? ServerName { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public System.DateTimeOffset Timestamp { get; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryEvent FromJson(System.Text.Json.JsonElement json) { } + } + public static class SentryEventExtensions { } + public class SentryHttpMessageHandler : System.Net.Http.DelegatingHandler + { + public SentryHttpMessageHandler() { } + public SentryHttpMessageHandler(Sentry.IHub hub) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler, Sentry.IHub hub) { } + protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { } + } + public readonly struct SentryId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SentryId Empty; + public SentryId(System.Guid guid) { } + public bool Equals(Sentry.SentryId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryId Create() { } + public static Sentry.SentryId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryId Parse(string value) { } + public static System.Guid op_Implicit(Sentry.SentryId sentryId) { } + public static Sentry.SentryId op_Implicit(System.Guid guid) { } + public static bool operator !=(Sentry.SentryId left, Sentry.SentryId right) { } + public static bool operator ==(Sentry.SentryId left, Sentry.SentryId right) { } + } + public enum SentryLevel : short + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = 0, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 1, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 2, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 3, + [System.Runtime.Serialization.EnumMember(Value="fatal")] + Fatal = 4, + } + public sealed class SentryMessage : Sentry.IJsonSerializable + { + public SentryMessage() { } + public string? Formatted { get; set; } + public string? Message { get; set; } + public System.Collections.Generic.IEnumerable? Params { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryMessage FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryMessage op_Implicit(string? message) { } + } + public class SentryOptions + { + public SentryOptions() { } + public bool AttachStacktrace { get; set; } + public bool AutoSessionTracking { get; set; } + public System.TimeSpan AutoSessionTrackingInterval { get; set; } + public System.Func? BeforeBreadcrumb { get; set; } + public System.Func? BeforeSend { get; set; } + public string? CacheDirectoryPath { get; set; } + public System.Action? ConfigureClient { get; set; } + public System.Func? CrashedLastRun { get; set; } + public System.Func? CreateHttpClientHandler { get; set; } + public bool Debug { get; set; } + public System.Net.DecompressionMethods DecompressionMethods { get; set; } + public Sentry.DeduplicateMode DeduplicateMode { get; set; } + public System.Collections.Generic.Dictionary DefaultTags { get; } + public Sentry.StartupTimeDetectionMode DetectStartupTime { get; set; } + public Sentry.SentryLevel DiagnosticLevel { get; set; } + public Sentry.Extensibility.IDiagnosticLogger? DiagnosticLogger { get; set; } + public string? Dsn { get; set; } + public bool EnableScopeSync { get; set; } + public string? Environment { get; set; } + public System.Net.IWebProxy? HttpProxy { get; set; } + public System.TimeSpan InitCacheFlushTimeout { get; set; } + public bool IsEnvironmentUser { get; set; } + public bool IsGlobalModeEnabled { get; set; } + public long MaxAttachmentSize { get; set; } + public int MaxBreadcrumbs { get; set; } + public int MaxCacheItems { get; set; } + public int MaxQueueItems { get; set; } + public string? Release { get; set; } + [System.Obsolete("Use ReportAssembliesMode instead", false)] + public bool ReportAssemblies { get; set; } + public Sentry.ReportAssembliesMode ReportAssembliesMode { get; set; } + public bool RequestBodyCompressionBuffered { get; set; } + public System.IO.Compression.CompressionLevel RequestBodyCompressionLevel { get; set; } + public float? SampleRate { get; set; } + public Sentry.IScopeObserver? ScopeObserver { get; set; } + public bool SendDefaultPii { get; set; } + public Sentry.ISentryScopeStateProcessor SentryScopeStateProcessor { get; set; } + public string? ServerName { get; set; } + public System.TimeSpan ShutdownTimeout { get; set; } + public Sentry.StackTraceMode StackTraceMode { get; set; } + public double TracesSampleRate { get; set; } + public System.Func? TracesSampler { get; set; } + } + public static class SentryOptionsExtensions + { + public static void AddEventProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddEventProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionFilter(this Sentry.SentryOptions options, Sentry.Extensibility.IExceptionFilter exceptionFilter) { } + public static void AddExceptionFilterForType(this Sentry.SentryOptions options) + where TException : System.Exception { } + public static void AddExceptionProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddExceptionProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddInAppExclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddInAppInclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddIntegration(this Sentry.SentryOptions options, Sentry.Integrations.ISdkIntegration integration) { } + public static void ApplyDefaultTags(this Sentry.SentryOptions options, Sentry.IHasTags hasTags) { } + public static void DisableAppDomainProcessExitFlush(this Sentry.SentryOptions options) { } + public static void DisableAppDomainUnhandledExceptionCapture(this Sentry.SentryOptions options) { } + public static void DisableDuplicateEventDetection(this Sentry.SentryOptions options) { } + public static void DisableTaskUnobservedTaskExceptionCapture(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.SentryOptions options) { } + public static Sentry.SentryOptions UseStackTraceFactory(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryStackTraceFactory sentryStackTraceFactory) { } + } + public static class SentrySdk + { + public static bool IsEnabled { get; } + public static Sentry.SentryId LastEventId { get; } + public static void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? 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 CaptureEvent(Sentry.SentryEvent evt) { } + public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public static Sentry.SentryId CaptureException(System.Exception exception) { } + public static Sentry.SentryId CaptureMessage(string message, Sentry.SentryLevel level = 1) { } + public static void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public static void CaptureTransaction(Sentry.Transaction transaction) { } + public static void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public static void CaptureUserFeedback(Sentry.SentryId eventId, string email, string comments, string? name = null) { } + public static void Close() { } + public static void ConfigureScope(System.Action configureScope) { } + public static System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public static void EndSession(Sentry.SessionEndStatus status = 0) { } + public static System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public static Sentry.ISpan? GetSpan() { } + public static Sentry.SentryTraceHeader? GetTraceHeader() { } + public static System.IDisposable Init() { } + public static System.IDisposable Init(Sentry.SentryOptions options) { } + public static System.IDisposable Init(System.Action? configureOptions) { } + public static System.IDisposable Init(string? dsn) { } + public static void PauseSession() { } + public static System.IDisposable PushScope() { } + public static System.IDisposable PushScope(TState state) { } + public static void ResumeSession() { } + public static void StartSession() { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public static Sentry.ITransaction StartTransaction(string name, string operation) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, string? description) { } + public static void WithScope(System.Action scopeCallback) { } + } + public sealed class SentryStackFrame : Sentry.IJsonSerializable + { + public SentryStackFrame() { } + public string? AbsolutePath { get; set; } + public int? ColumnNumber { get; set; } + public string? ContextLine { get; set; } + public string? FileName { get; set; } + public System.Collections.Generic.IList FramesOmitted { get; } + public string? Function { get; set; } + public long ImageAddress { get; set; } + public bool? InApp { get; set; } + public string? InstructionAddress { get; set; } + public long? InstructionOffset { get; set; } + public int? LineNumber { get; set; } + public string? Module { get; set; } + public string? Package { get; set; } + public string? Platform { get; set; } + public System.Collections.Generic.IList PostContext { get; } + public System.Collections.Generic.IList PreContext { get; } + public long? SymbolAddress { get; set; } + public System.Collections.Generic.IDictionary Vars { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackFrame FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryStackTrace : Sentry.IJsonSerializable + { + public SentryStackTrace() { } + public System.Collections.Generic.IList Frames { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackTrace FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryThread : Sentry.IJsonSerializable + { + public SentryThread() { } + public bool? Crashed { get; set; } + public bool? Current { get; set; } + public int? Id { get; set; } + public string? Name { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryThread FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryTraceHeader + { + public SentryTraceHeader(Sentry.SentryId traceId, Sentry.SpanId spanSpanId, bool? isSampled) { } + public bool? IsSampled { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SentryId TraceId { get; } + public override string ToString() { } + public static Sentry.SentryTraceHeader Parse(string value) { } + } + public sealed class SentryValues : Sentry.IJsonSerializable + { + public SentryValues(System.Collections.Generic.IEnumerable? values) { } + public System.Collections.Generic.IEnumerable Values { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + } + public class Session : Sentry.ISession + { + public Session(string? distinctId, string release, string? environment) { } + public string? DistinctId { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public string Release { get; } + public System.DateTimeOffset StartTimestamp { get; } + public string? UserAgent { get; } + public void ReportError() { } + } + public enum SessionEndStatus + { + Exited = 0, + Crashed = 1, + Abnormal = 2, + } + public class SessionUpdate : Sentry.IJsonSerializable, Sentry.ISession + { + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial) { } + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.ISession session, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.SentryId id, string? distinctId, System.DateTimeOffset startTimestamp, string release, string? environment, string? ipAddress, string? userAgent, int errorCount, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public string? DistinctId { get; } + public System.TimeSpan Duration { get; } + public Sentry.SessionEndStatus? EndStatus { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public bool IsInitial { get; } + public string Release { get; } + public int SequenceNumber { get; } + public System.DateTimeOffset StartTimestamp { get; } + public System.DateTimeOffset Timestamp { get; } + public string? UserAgent { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SessionUpdate FromJson(System.Text.Json.JsonElement json) { } + } + public class Span : Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public Span(Sentry.ISpan tracer) { } + public Span(Sentry.SpanId? parentSpanId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Span FromJson(System.Text.Json.JsonElement json) { } + } + public class SpanContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + public SpanContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled) { } + public string? Description { get; } + public bool? IsSampled { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SpanStatus? Status { get; } + public Sentry.SentryId TraceId { get; } + } + public static class SpanExtensions + { + public static Sentry.ISpan StartChild(this Sentry.ISpan span, string operation, string? description) { } + } + public readonly struct SpanId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SpanId Empty; + public SpanId(string value) { } + public bool Equals(Sentry.SpanId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SpanId Create() { } + public static Sentry.SpanId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SpanId Parse(string value) { } + public static string op_Implicit(Sentry.SpanId id) { } + public static bool operator !=(Sentry.SpanId left, Sentry.SpanId right) { } + public static bool operator ==(Sentry.SpanId left, Sentry.SpanId right) { } + } + public enum SpanStatus + { + Ok = 0, + DeadlineExceeded = 1, + Unauthenticated = 2, + PermissionDenied = 3, + NotFound = 4, + ResourceExhausted = 5, + InvalidArgument = 6, + Unimplemented = 7, + Unavailable = 8, + InternalError = 9, + UnknownError = 10, + Cancelled = 11, + AlreadyExists = 12, + FailedPrecondition = 13, + Aborted = 14, + OutOfRange = 15, + DataLoss = 16, + } + public class SpanTracer : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public SpanTracer(Sentry.IHub hub, Sentry.TransactionTracer transaction, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public enum StackTraceMode + { + Original = 0, + Enhanced = 1, + } + public enum StartupTimeDetectionMode + { + None = 0, + Fast = 1, + Best = 2, + } + public class StreamAttachmentContent : Sentry.IAttachmentContent + { + public StreamAttachmentContent(System.IO.Stream stream) { } + public System.IO.Stream GetStream() { } + } + public class Transaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public Transaction(Sentry.ITransaction tracer) { } + public Transaction(string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Transaction FromJson(System.Text.Json.JsonElement json) { } + } + public class TransactionContext : Sentry.SpanContext, Sentry.ISpanContext, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext + { + public TransactionContext(string name, string operation) { } + public TransactionContext(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public TransactionContext(string name, string operation, bool? isSampled) { } + public TransactionContext(Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, bool? isParentSampled) { } + public TransactionContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled, bool? isParentSampled) { } + public bool? IsParentSampled { get; } + public string Name { get; } + } + public class TransactionSamplingContext + { + public TransactionSamplingContext(Sentry.ITransactionContext transactionContext, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public System.Collections.Generic.IReadOnlyDictionary CustomSamplingContext { get; } + public Sentry.ITransactionContext TransactionContext { get; } + } + public class TransactionTracer : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransaction, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public TransactionTracer(Sentry.IHub hub, Sentry.ITransactionContext context) { } + public TransactionTracer(Sentry.IHub hub, string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; set; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.ISpan? GetLastActiveSpan() { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public sealed class User : Sentry.IJsonSerializable + { + public User() { } + public string? Email { get; set; } + public string? Id { get; set; } + public string? IpAddress { get; set; } + public System.Collections.Generic.IDictionary Other { get; set; } + public string? Username { get; set; } + public Sentry.User Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.User FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class UserFeedback : Sentry.IJsonSerializable + { + public UserFeedback(Sentry.SentryId eventId, string? name, string? email, string? comments) { } + public string? Comments { get; } + public string? Email { get; } + public Sentry.SentryId EventId { get; } + public string? Name { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.UserFeedback FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Extensibility +{ + public abstract class BaseRequestPayloadExtractor : Sentry.Extensibility.IRequestPayloadExtractor + { + protected BaseRequestPayloadExtractor() { } + protected abstract object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request); + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + protected abstract bool IsSupported(Sentry.Extensibility.IHttpRequest request); + } + public class DefaultRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public DefaultRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public static class DiagnosticLoggerExtensions + { + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, System.Exception exception, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2, TArg3 arg3, TArg4 arg4) { } + public static void LogFatal(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + } + public class DisabledHub : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager, System.IDisposable + { + public static readonly Sentry.Extensibility.DisabledHub Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void Dispose() { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public class FormRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public FormRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public sealed class HubAdapter : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager + { + public static readonly Sentry.Extensibility.HubAdapter Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void AddBreadcrumb(Sentry.Infrastructure.ISystemClock clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public Sentry.SentryId CaptureException(System.Exception exception) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback sentryUserFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public interface IDiagnosticLogger + { + bool IsEnabled(Sentry.SentryLevel level); + void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args); + } + public interface IExceptionFilter + { + bool Filter(System.Exception ex); + } + public interface IHttpRequest + { + System.IO.Stream? Body { get; } + long? ContentLength { get; } + string? ContentType { get; } + System.Collections.Generic.IEnumerable>>? Form { get; } + } + public interface IRequestPayloadExtractor + { + object? ExtractPayload(Sentry.Extensibility.IHttpRequest request); + } + public interface ISentryEventExceptionProcessor + { + void Process(System.Exception exception, Sentry.SentryEvent sentryEvent); + } + public interface ISentryEventProcessor + { + Sentry.SentryEvent? Process(Sentry.SentryEvent @event); + } + public interface ISentryStackTraceFactory + { + Sentry.SentryStackTrace? Create(System.Exception? exception = null); + } + public class RequestBodyExtractionDispatcher : Sentry.Extensibility.IRequestPayloadExtractor + { + public RequestBodyExtractionDispatcher(System.Collections.Generic.IEnumerable extractors, Sentry.SentryOptions options, System.Func sizeSwitch) { } + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + } + public enum RequestSize + { + None = 0, + Small = 1, + Medium = 2, + Always = 3, + } + public abstract class SentryEventExceptionProcessor : Sentry.Extensibility.ISentryEventExceptionProcessor + where TException : System.Exception + { + protected SentryEventExceptionProcessor() { } + public void Process(System.Exception? exception, Sentry.SentryEvent sentryEvent) { } + protected abstract void ProcessException(TException exception, Sentry.SentryEvent sentryEvent); + } + public class SentryStackTraceFactory : Sentry.Extensibility.ISentryStackTraceFactory + { + public SentryStackTraceFactory(Sentry.SentryOptions options) { } + public virtual Sentry.SentryStackTrace? Create(System.Exception? exception = null) { } + protected virtual Sentry.SentryStackFrame CreateFrame(System.Diagnostics.StackFrame stackFrame, bool isCurrentStackTrace) { } + protected virtual System.Diagnostics.StackTrace CreateStackTrace(System.Exception? exception) { } + protected virtual System.Reflection.MethodBase? GetMethod(System.Diagnostics.StackFrame stackFrame) { } + protected Sentry.SentryStackFrame InternalCreateFrame(System.Diagnostics.StackFrame stackFrame, bool demangle) { } + } +} +namespace Sentry.Http +{ + public interface ISentryHttpClientFactory + { + System.Net.Http.HttpClient Create(Sentry.SentryOptions options); + } +} +namespace Sentry.Infrastructure +{ + public class ConsoleDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public ConsoleDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [System.Obsolete("Logger doesn\'t work outside of Sentry SDK. Please use TraceDiagnosticLogger inste" + + "ad")] + public class DebugDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public DebugDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + public interface ISystemClock + { + System.DateTimeOffset GetUtcNow(); + } + public sealed class SystemClock : Sentry.Infrastructure.ISystemClock + { + public static readonly Sentry.Infrastructure.SystemClock Clock; + public SystemClock() { } + public System.DateTimeOffset GetUtcNow() { } + } + public class TraceDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public TraceDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } +} +namespace Sentry.Integrations +{ + public interface ISdkIntegration + { + void Register(Sentry.IHub hub, Sentry.SentryOptions options); + } +} +namespace Sentry.PlatformAbstractions +{ + public static class FrameworkInfo + { + public static System.Collections.Generic.IReadOnlyDictionary NetFxReleaseVersionMap { get; } + public static System.Collections.Generic.IEnumerable GetInstallations() { } + public static Sentry.PlatformAbstractions.FrameworkInstallation? GetLatest(int clr) { } + } + public class FrameworkInstallation + { + public FrameworkInstallation() { } + public Sentry.PlatformAbstractions.FrameworkProfile? Profile { get; set; } + public int? Release { get; set; } + public int? ServicePack { get; set; } + public string? ShortName { get; set; } + public System.Version? Version { get; set; } + public override string ToString() { } + } + public enum FrameworkProfile + { + Client = 0, + Full = 1, + } + public class Runtime + { + public Runtime(string? name = null, string? version = null, string? raw = null) { } + public string? Name { get; } + public string? Raw { get; } + public string? Version { get; } + public static Sentry.PlatformAbstractions.Runtime Current { get; } + public bool Equals(Sentry.PlatformAbstractions.Runtime other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string? ToString() { } + } + public static class RuntimeExtensions + { + public static bool IsMono(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetCore(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetFx(this Sentry.PlatformAbstractions.Runtime runtime) { } + } +} +namespace Sentry.Protocol +{ + public sealed class App : Sentry.IJsonSerializable + { + public const string Type = "app"; + public App() { } + public string? Build { get; set; } + public string? BuildType { get; set; } + public string? Hash { get; set; } + public string? Identifier { get; set; } + public string? Name { get; set; } + public System.DateTimeOffset? StartTime { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.App FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Browser : Sentry.IJsonSerializable + { + public const string Type = "browser"; + public Browser() { } + public string? Name { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Browser FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Device : Sentry.IJsonSerializable + { + public const string Type = "device"; + public Device() { } + public string? Architecture { get; set; } + public short? BatteryLevel { get; set; } + public string? BatteryStatus { get; set; } + public System.DateTimeOffset? BootTime { get; set; } + public string? Brand { get; set; } + public string? CpuDescription { get; set; } + public string? DeviceType { get; set; } + public string? DeviceUniqueIdentifier { get; set; } + public long? ExternalFreeStorage { get; set; } + public long? ExternalStorageSize { get; set; } + public string? Family { get; set; } + public long? FreeMemory { get; set; } + public long? FreeStorage { get; set; } + public bool? IsCharging { get; set; } + public bool? IsOnline { get; set; } + public bool? LowMemory { get; set; } + public string? Manufacturer { get; set; } + public long? MemorySize { get; set; } + public string? Model { get; set; } + public string? ModelId { get; set; } + public string? Name { get; set; } + public Sentry.Protocol.DeviceOrientation? Orientation { get; set; } + public int? ProcessorCount { get; set; } + public int? ProcessorFrequency { get; set; } + public float? ScreenDensity { get; set; } + public int? ScreenDpi { get; set; } + public string? ScreenResolution { get; set; } + public bool? Simulator { get; set; } + public long? StorageSize { get; set; } + public bool? SupportsAccelerometer { get; set; } + public bool? SupportsAudio { get; set; } + public bool? SupportsGyroscope { get; set; } + public bool? SupportsLocationService { get; set; } + public bool? SupportsVibration { get; set; } + public System.TimeZoneInfo? Timezone { get; set; } + public long? UsableMemory { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Device FromJson(System.Text.Json.JsonElement json) { } + } + public enum DeviceOrientation + { + [System.Runtime.Serialization.EnumMember(Value="portrait")] + Portrait = 0, + [System.Runtime.Serialization.EnumMember(Value="landscape")] + Landscape = 1, + } + public sealed class Gpu : Sentry.IJsonSerializable + { + public const string Type = "gpu"; + public Gpu() { } + public string? ApiType { get; set; } + public string? GraphicsShaderLevel { get; set; } + public int? Id { get; set; } + public int? MaxTextureSize { get; set; } + public int? MemorySize { get; set; } + public bool? MultiThreadedRendering { get; set; } + public string? Name { get; set; } + public string? NpotSupport { get; set; } + public bool? SupportsComputeShaders { get; set; } + public bool? SupportsDrawCallInstancing { get; set; } + public bool? SupportsGeometryShaders { get; set; } + public bool? SupportsRayTracing { get; set; } + public string? VendorId { get; set; } + public string? VendorName { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Gpu FromJson(System.Text.Json.JsonElement json) { } + } + public interface ITraceContext + { + string? Description { get; } + bool? IsSampled { get; } + string Operation { get; } + Sentry.SpanId? ParentSpanId { get; } + Sentry.SpanId SpanId { get; } + Sentry.SpanStatus? Status { get; } + Sentry.SentryId TraceId { get; } + } + public sealed class Mechanism : Sentry.IJsonSerializable + { + public static readonly string HandledKey; + public static readonly string MechanismKey; + public Mechanism() { } + public System.Collections.Generic.IDictionary Data { get; } + public string? Description { get; set; } + public bool? Handled { get; set; } + public string? HelpLink { get; set; } + public System.Collections.Generic.IDictionary Meta { get; } + public string? Type { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Mechanism FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class OperatingSystem : Sentry.IJsonSerializable + { + public const string Type = "os"; + public OperatingSystem() { } + public string? Build { get; set; } + public string? KernelVersion { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public bool? Rooted { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.OperatingSystem FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Runtime : Sentry.IJsonSerializable + { + public const string Type = "runtime"; + public Runtime() { } + public string? Build { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public string? Version { get; set; } + public Sentry.Protocol.Runtime Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Runtime FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryException : Sentry.IJsonSerializable + { + public SentryException() { } + public System.Collections.Generic.IDictionary Data { get; } + public Sentry.Protocol.Mechanism? Mechanism { get; set; } + public string? Module { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public int ThreadId { get; set; } + public string? Type { get; set; } + public string? Value { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.SentryException FromJson(System.Text.Json.JsonElement json) { } + } + public class Trace : Sentry.IJsonSerializable, Sentry.Protocol.ITraceContext + { + public const string Type = "trace"; + public Trace() { } + public string? Description { get; set; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; set; } + public Sentry.SpanId SpanId { get; set; } + public Sentry.SpanStatus? Status { get; set; } + public Sentry.SentryId TraceId { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Trace FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Reflection +{ + public static class AssemblyExtensions + { + public static Sentry.SdkVersion GetNameAndVersion(this System.Reflection.Assembly asm) { } + } +} +public static class SentryExceptionExtensions +{ + public static void AddSentryContext(this System.Exception ex, string name, System.Collections.Generic.IReadOnlyDictionary data) { } + public static void AddSentryTag(this System.Exception ex, string name, string value) { } +} \ No newline at end of file diff --git a/test/Sentry.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..a9c316d813 --- /dev/null +++ b/test/Sentry.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,1301 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v3.0", FrameworkDisplayName="")] +namespace Sentry +{ + [System.Diagnostics.DebuggerDisplay("{FileName}")] + public class Attachment + { + public Attachment(Sentry.AttachmentType type, Sentry.IAttachmentContent content, string fileName, string? contentType) { } + public Sentry.IAttachmentContent Content { get; } + public string? ContentType { get; } + public string FileName { get; } + public Sentry.AttachmentType Type { get; } + } + public enum AttachmentType + { + Default = 0, + Minidump = 1, + AppleCrashReport = 2, + UnrealContext = 3, + UnrealLogs = 4, + } + [System.Diagnostics.DebuggerDisplay("Message: {Message}, Type: {Type}")] + public sealed class Breadcrumb : Sentry.IJsonSerializable + { + public Breadcrumb(string message, string type, System.Collections.Generic.IReadOnlyDictionary? data = null, string? category = null, Sentry.BreadcrumbLevel level = 0) { } + public string? Category { get; } + public System.Collections.Generic.IReadOnlyDictionary? Data { get; } + public Sentry.BreadcrumbLevel Level { get; } + public string? Message { get; } + public System.DateTimeOffset Timestamp { get; } + public string? Type { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Breadcrumb FromJson(System.Text.Json.JsonElement json) { } + } + public enum BreadcrumbLevel + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = -1, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 0, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 1, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 2, + [System.Runtime.Serialization.EnumMember(Value="critical")] + Critical = 3, + } + public static class Constants + { + public const int DefaultMaxBreadcrumbs = 100; + public const string DisableSdkDsnValue = ""; + public const string Platform = "csharp"; + public const int ProtocolVersion = 7; + } + public sealed class Contexts : System.Collections.Concurrent.ConcurrentDictionary, Sentry.IJsonSerializable + { + public Contexts() { } + public Sentry.Protocol.App App { get; } + public Sentry.Protocol.Browser Browser { get; } + public Sentry.Protocol.Device Device { get; } + public Sentry.Protocol.Gpu Gpu { get; } + public Sentry.Protocol.OperatingSystem OperatingSystem { get; } + public Sentry.Protocol.Runtime Runtime { get; } + public Sentry.Protocol.Trace Trace { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Contexts FromJson(System.Text.Json.JsonElement json) { } + } + [System.Flags] + public enum DeduplicateMode + { + SameEvent = 1, + SameExceptionInstance = 2, + InnerException = 4, + AggregateException = 8, + All = 2147483647, + } + public class DefaultSentryScopeStateProcessor : Sentry.ISentryScopeStateProcessor + { + public DefaultSentryScopeStateProcessor() { } + public void Apply(Sentry.Scope scope, object state) { } + } + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.All)] + public class DsnAttribute : System.Attribute + { + public DsnAttribute(string dsn) { } + public string Dsn { get; } + } + public static class EventLikeExtensions + { + public static bool HasUser(this Sentry.IEventLike eventLike) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, System.Collections.Generic.IEnumerable fingerprint) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, params string[] fingerprint) { } + } + public class FileAttachmentContent : Sentry.IAttachmentContent + { + public FileAttachmentContent(string filePath) { } + public System.IO.Stream GetStream() { } + } + public static class HasBreadcrumbsExtensions + { + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category, string? type, System.ValueTuple? dataPair = default, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, System.DateTimeOffset? timestamp, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + } + public static class HasExtraExtensions + { + public static void SetExtras(this Sentry.IHasExtra hasExtra, System.Collections.Generic.IEnumerable> values) { } + } + public static class HasTagsExtensions + { + public static void SetTags(this Sentry.IHasTags hasTags, System.Collections.Generic.IEnumerable> tags) { } + } + public static class HubExtensions + { + public static void AddBreadcrumb(this Sentry.IHub hub, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHub hub, Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void LockScope(this Sentry.IHub hub) { } + public static System.IDisposable PushAndLockScope(this Sentry.IHub hub) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, string? description) { } + public static void UnlockScope(this Sentry.IHub hub) { } + } + public interface IAttachmentContent + { + System.IO.Stream GetStream(); + } + public interface IEventLike : Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + Sentry.Contexts Contexts { get; set; } + string? Environment { get; set; } + System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + Sentry.SentryLevel? Level { get; set; } + string? Platform { get; set; } + string? Release { get; set; } + Sentry.Request Request { get; set; } + Sentry.SdkVersion Sdk { get; } + string? TransactionName { get; set; } + Sentry.User User { get; set; } + } + public interface IHasBreadcrumbs + { + System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + } + public interface IHasExtra + { + System.Collections.Generic.IReadOnlyDictionary Extra { get; } + void SetExtra(string key, object? value); + } + public interface IHasTags + { + System.Collections.Generic.IReadOnlyDictionary Tags { get; } + void SetTag(string key, string value); + void UnsetTag(string key); + } + public interface IHub : Sentry.ISentryClient, Sentry.ISentryScopeManager + { + Sentry.SentryId LastEventId { get; } + void BindException(System.Exception exception, Sentry.ISpan span); + void EndSession(Sentry.SessionEndStatus status = 0); + Sentry.ISpan? GetSpan(); + Sentry.SentryTraceHeader? GetTraceHeader(); + void PauseSession(); + void ResumeSession(); + void StartSession(); + Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext); + } + public interface IJsonSerializable + { + void WriteTo(System.Text.Json.Utf8JsonWriter writer); + } + public interface IScopeObserver + { + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + void SetExtra(string key, object? value); + void SetTag(string key, string value); + void SetUser(Sentry.User? user); + void UnsetTag(string key); + } + public interface ISentryClient + { + bool IsEnabled { get; } + Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null); + void CaptureSession(Sentry.SessionUpdate sessionUpdate); + void CaptureTransaction(Sentry.Transaction transaction); + void CaptureUserFeedback(Sentry.UserFeedback userFeedback); + System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout); + } + public interface ISentryScopeManager + { + void BindClient(Sentry.ISentryClient client); + void ConfigureScope(System.Action configureScope); + System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope); + System.IDisposable PushScope(); + System.IDisposable PushScope(TState state); + void WithScope(System.Action scopeCallback); + } + public interface ISentryScopeStateProcessor + { + void Apply(Sentry.Scope scope, object state); + } + public interface ISession + { + string? DistinctId { get; } + string? Environment { get; } + int ErrorCount { get; } + Sentry.SentryId Id { get; } + string? IpAddress { get; } + string Release { get; } + System.DateTimeOffset StartTimestamp { get; } + string? UserAgent { get; } + } + public interface ISpan : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + new string? Description { get; set; } + new string Operation { get; set; } + new Sentry.SpanStatus? Status { get; set; } + void Finish(); + void Finish(Sentry.SpanStatus status); + void Finish(System.Exception exception); + void Finish(System.Exception exception, Sentry.SpanStatus status); + Sentry.ISpan StartChild(string operation); + } + public interface ISpanContext : Sentry.Protocol.ITraceContext { } + public interface ISpanData : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + System.DateTimeOffset? EndTimestamp { get; } + bool IsFinished { get; } + System.DateTimeOffset StartTimestamp { get; } + Sentry.SentryTraceHeader GetTraceHeader(); + } + public interface ITransaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + new bool? IsParentSampled { get; set; } + new string Name { get; set; } + System.Collections.Generic.IReadOnlyCollection Spans { get; } + Sentry.ISpan? GetLastActiveSpan(); + } + public interface ITransactionContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + bool? IsParentSampled { get; } + string Name { get; } + } + public interface ITransactionData : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext { } + public sealed class Package : Sentry.IJsonSerializable + { + public Package(string name, string version) { } + public string Name { get; } + public string Version { get; } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Package FromJson(System.Text.Json.JsonElement json) { } + } + public enum ReportAssembliesMode + { + None = 0, + Version = 1, + InformationalVersion = 2, + } + public sealed class Request : Sentry.IJsonSerializable + { + public Request() { } + public string? Cookies { get; set; } + public object? Data { get; set; } + public System.Collections.Generic.IDictionary Env { get; } + public System.Collections.Generic.IDictionary Headers { get; } + public string? Method { get; set; } + public System.Collections.Generic.IDictionary Other { get; } + public string? QueryString { get; set; } + public string? Url { get; set; } + public Sentry.Request Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Request FromJson(System.Text.Json.JsonElement json) { } + } + public class Scope : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + public Scope(Sentry.SentryOptions? options) { } + public System.Collections.Generic.IReadOnlyCollection Attachments { get; } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.ITransaction? Transaction { get; set; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddAttachment(Sentry.Attachment attachment) { } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Apply(Sentry.IEventLike other) { } + public void Apply(Sentry.Scope other) { } + public void Apply(object state) { } + public void ClearAttachments() { } + public Sentry.Scope Clone() { } + public Sentry.ISpan? GetSpan() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + } + public static class ScopeExtensions + { + public static void AddAttachment(this Sentry.Scope scope, string filePath, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, byte[] data, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, System.IO.Stream stream, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddEventProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessor(this Sentry.Scope scope, System.Func processor) { } + public static void AddEventProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.Scope scope) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.Scope scope) { } + } + public sealed class SdkVersion : Sentry.IJsonSerializable + { + public SdkVersion() { } + public string? Name { get; set; } + public System.Collections.Generic.IEnumerable Packages { get; } + public string? Version { get; set; } + public void AddPackage(string name, string version) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SdkVersion FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryClient : Sentry.ISentryClient, System.IDisposable + { + public SentryClient(Sentry.SentryOptions options) { } + public bool IsEnabled { get; } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent? @event, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void Dispose() { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + } + public static class SentryClientExtensions + { + public static Sentry.SentryId CaptureException(this Sentry.ISentryClient client, System.Exception ex) { } + public static Sentry.SentryId CaptureMessage(this Sentry.ISentryClient client, string message, Sentry.SentryLevel level = 1) { } + public static void CaptureUserFeedback(this Sentry.ISentryClient client, Sentry.SentryId eventId, string email, string comments, string? name = null) { } + } + [System.Diagnostics.DebuggerDisplay("{GetType().Name,nq}: {EventId,nq}")] + public sealed class SentryEvent : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable + { + public SentryEvent() { } + public SentryEvent(System.Exception? exception) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Exception? Exception { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Logger { get; set; } + public Sentry.SentryMessage? Message { get; set; } + public System.Collections.Generic.IDictionary Modules { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IEnumerable? SentryExceptions { get; set; } + public System.Collections.Generic.IEnumerable? SentryThreads { get; set; } + public string? ServerName { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public System.DateTimeOffset Timestamp { get; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryEvent FromJson(System.Text.Json.JsonElement json) { } + } + public static class SentryEventExtensions { } + public class SentryHttpMessageHandler : System.Net.Http.DelegatingHandler + { + public SentryHttpMessageHandler() { } + public SentryHttpMessageHandler(Sentry.IHub hub) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler, Sentry.IHub hub) { } + protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { } + } + public readonly struct SentryId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SentryId Empty; + public SentryId(System.Guid guid) { } + public bool Equals(Sentry.SentryId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryId Create() { } + public static Sentry.SentryId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryId Parse(string value) { } + public static System.Guid op_Implicit(Sentry.SentryId sentryId) { } + public static Sentry.SentryId op_Implicit(System.Guid guid) { } + public static bool operator !=(Sentry.SentryId left, Sentry.SentryId right) { } + public static bool operator ==(Sentry.SentryId left, Sentry.SentryId right) { } + } + public enum SentryLevel : short + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = 0, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 1, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 2, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 3, + [System.Runtime.Serialization.EnumMember(Value="fatal")] + Fatal = 4, + } + public sealed class SentryMessage : Sentry.IJsonSerializable + { + public SentryMessage() { } + public string? Formatted { get; set; } + public string? Message { get; set; } + public System.Collections.Generic.IEnumerable? Params { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryMessage FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryMessage op_Implicit(string? message) { } + } + public class SentryOptions + { + public SentryOptions() { } + public bool AttachStacktrace { get; set; } + public bool AutoSessionTracking { get; set; } + public System.TimeSpan AutoSessionTrackingInterval { get; set; } + public System.Func? BeforeBreadcrumb { get; set; } + public System.Func? BeforeSend { get; set; } + public string? CacheDirectoryPath { get; set; } + public System.Action? ConfigureClient { get; set; } + public System.Func? CrashedLastRun { get; set; } + public System.Func? CreateHttpClientHandler { get; set; } + public bool Debug { get; set; } + public System.Net.DecompressionMethods DecompressionMethods { get; set; } + public Sentry.DeduplicateMode DeduplicateMode { get; set; } + public System.Collections.Generic.Dictionary DefaultTags { get; } + public Sentry.StartupTimeDetectionMode DetectStartupTime { get; set; } + public Sentry.SentryLevel DiagnosticLevel { get; set; } + public Sentry.Extensibility.IDiagnosticLogger? DiagnosticLogger { get; set; } + public string? Dsn { get; set; } + public bool EnableScopeSync { get; set; } + public string? Environment { get; set; } + public System.Net.IWebProxy? HttpProxy { get; set; } + public System.TimeSpan InitCacheFlushTimeout { get; set; } + public bool IsEnvironmentUser { get; set; } + public bool IsGlobalModeEnabled { get; set; } + public long MaxAttachmentSize { get; set; } + public int MaxBreadcrumbs { get; set; } + public int MaxCacheItems { get; set; } + public int MaxQueueItems { get; set; } + public string? Release { get; set; } + [System.Obsolete("Use ReportAssembliesMode instead", false)] + public bool ReportAssemblies { get; set; } + public Sentry.ReportAssembliesMode ReportAssembliesMode { get; set; } + public bool RequestBodyCompressionBuffered { get; set; } + public System.IO.Compression.CompressionLevel RequestBodyCompressionLevel { get; set; } + public float? SampleRate { get; set; } + public Sentry.IScopeObserver? ScopeObserver { get; set; } + public bool SendDefaultPii { get; set; } + public Sentry.ISentryScopeStateProcessor SentryScopeStateProcessor { get; set; } + public string? ServerName { get; set; } + public System.TimeSpan ShutdownTimeout { get; set; } + public Sentry.StackTraceMode StackTraceMode { get; set; } + public double TracesSampleRate { get; set; } + public System.Func? TracesSampler { get; set; } + } + public static class SentryOptionsExtensions + { + public static void AddEventProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddEventProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionFilter(this Sentry.SentryOptions options, Sentry.Extensibility.IExceptionFilter exceptionFilter) { } + public static void AddExceptionFilterForType(this Sentry.SentryOptions options) + where TException : System.Exception { } + public static void AddExceptionProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddExceptionProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddInAppExclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddInAppInclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddIntegration(this Sentry.SentryOptions options, Sentry.Integrations.ISdkIntegration integration) { } + public static void ApplyDefaultTags(this Sentry.SentryOptions options, Sentry.IHasTags hasTags) { } + public static void DisableAppDomainProcessExitFlush(this Sentry.SentryOptions options) { } + public static void DisableAppDomainUnhandledExceptionCapture(this Sentry.SentryOptions options) { } + public static void DisableDiagnosticSourceIntegration(this Sentry.SentryOptions options) { } + public static void DisableDuplicateEventDetection(this Sentry.SentryOptions options) { } + public static void DisableTaskUnobservedTaskExceptionCapture(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.SentryOptions options) { } + public static Sentry.SentryOptions UseStackTraceFactory(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryStackTraceFactory sentryStackTraceFactory) { } + } + public static class SentrySdk + { + public static bool IsEnabled { get; } + public static Sentry.SentryId LastEventId { get; } + public static void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? 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 CaptureEvent(Sentry.SentryEvent evt) { } + public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public static Sentry.SentryId CaptureException(System.Exception exception) { } + public static Sentry.SentryId CaptureMessage(string message, Sentry.SentryLevel level = 1) { } + public static void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public static void CaptureTransaction(Sentry.Transaction transaction) { } + public static void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public static void CaptureUserFeedback(Sentry.SentryId eventId, string email, string comments, string? name = null) { } + public static void Close() { } + public static void ConfigureScope(System.Action configureScope) { } + public static System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public static void EndSession(Sentry.SessionEndStatus status = 0) { } + public static System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public static Sentry.ISpan? GetSpan() { } + public static Sentry.SentryTraceHeader? GetTraceHeader() { } + public static System.IDisposable Init() { } + public static System.IDisposable Init(Sentry.SentryOptions options) { } + public static System.IDisposable Init(System.Action? configureOptions) { } + public static System.IDisposable Init(string? dsn) { } + public static void PauseSession() { } + public static System.IDisposable PushScope() { } + public static System.IDisposable PushScope(TState state) { } + public static void ResumeSession() { } + public static void StartSession() { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public static Sentry.ITransaction StartTransaction(string name, string operation) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, string? description) { } + public static void WithScope(System.Action scopeCallback) { } + } + public sealed class SentryStackFrame : Sentry.IJsonSerializable + { + public SentryStackFrame() { } + public string? AbsolutePath { get; set; } + public int? ColumnNumber { get; set; } + public string? ContextLine { get; set; } + public string? FileName { get; set; } + public System.Collections.Generic.IList FramesOmitted { get; } + public string? Function { get; set; } + public long ImageAddress { get; set; } + public bool? InApp { get; set; } + public string? InstructionAddress { get; set; } + public long? InstructionOffset { get; set; } + public int? LineNumber { get; set; } + public string? Module { get; set; } + public string? Package { get; set; } + public string? Platform { get; set; } + public System.Collections.Generic.IList PostContext { get; } + public System.Collections.Generic.IList PreContext { get; } + public long? SymbolAddress { get; set; } + public System.Collections.Generic.IDictionary Vars { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackFrame FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryStackTrace : Sentry.IJsonSerializable + { + public SentryStackTrace() { } + public System.Collections.Generic.IList Frames { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackTrace FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryThread : Sentry.IJsonSerializable + { + public SentryThread() { } + public bool? Crashed { get; set; } + public bool? Current { get; set; } + public int? Id { get; set; } + public string? Name { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryThread FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryTraceHeader + { + public SentryTraceHeader(Sentry.SentryId traceId, Sentry.SpanId spanSpanId, bool? isSampled) { } + public bool? IsSampled { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SentryId TraceId { get; } + public override string ToString() { } + public static Sentry.SentryTraceHeader Parse(string value) { } + } + public sealed class SentryValues : Sentry.IJsonSerializable + { + public SentryValues(System.Collections.Generic.IEnumerable? values) { } + public System.Collections.Generic.IEnumerable Values { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + } + public class Session : Sentry.ISession + { + public Session(string? distinctId, string release, string? environment) { } + public string? DistinctId { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public string Release { get; } + public System.DateTimeOffset StartTimestamp { get; } + public string? UserAgent { get; } + public void ReportError() { } + } + public enum SessionEndStatus + { + Exited = 0, + Crashed = 1, + Abnormal = 2, + } + public class SessionUpdate : Sentry.IJsonSerializable, Sentry.ISession + { + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial) { } + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.ISession session, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.SentryId id, string? distinctId, System.DateTimeOffset startTimestamp, string release, string? environment, string? ipAddress, string? userAgent, int errorCount, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public string? DistinctId { get; } + public System.TimeSpan Duration { get; } + public Sentry.SessionEndStatus? EndStatus { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public bool IsInitial { get; } + public string Release { get; } + public int SequenceNumber { get; } + public System.DateTimeOffset StartTimestamp { get; } + public System.DateTimeOffset Timestamp { get; } + public string? UserAgent { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SessionUpdate FromJson(System.Text.Json.JsonElement json) { } + } + public class Span : Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public Span(Sentry.ISpan tracer) { } + public Span(Sentry.SpanId? parentSpanId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Span FromJson(System.Text.Json.JsonElement json) { } + } + public class SpanContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + public SpanContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled) { } + public string? Description { get; } + public bool? IsSampled { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SpanStatus? Status { get; } + public Sentry.SentryId TraceId { get; } + } + public static class SpanExtensions + { + public static Sentry.ISpan StartChild(this Sentry.ISpan span, string operation, string? description) { } + } + public readonly struct SpanId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SpanId Empty; + public SpanId(string value) { } + public bool Equals(Sentry.SpanId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SpanId Create() { } + public static Sentry.SpanId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SpanId Parse(string value) { } + public static string op_Implicit(Sentry.SpanId id) { } + public static bool operator !=(Sentry.SpanId left, Sentry.SpanId right) { } + public static bool operator ==(Sentry.SpanId left, Sentry.SpanId right) { } + } + public enum SpanStatus + { + Ok = 0, + DeadlineExceeded = 1, + Unauthenticated = 2, + PermissionDenied = 3, + NotFound = 4, + ResourceExhausted = 5, + InvalidArgument = 6, + Unimplemented = 7, + Unavailable = 8, + InternalError = 9, + UnknownError = 10, + Cancelled = 11, + AlreadyExists = 12, + FailedPrecondition = 13, + Aborted = 14, + OutOfRange = 15, + DataLoss = 16, + } + public class SpanTracer : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public SpanTracer(Sentry.IHub hub, Sentry.TransactionTracer transaction, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public enum StackTraceMode + { + Original = 0, + Enhanced = 1, + } + public enum StartupTimeDetectionMode + { + None = 0, + Fast = 1, + Best = 2, + } + public class StreamAttachmentContent : Sentry.IAttachmentContent + { + public StreamAttachmentContent(System.IO.Stream stream) { } + public System.IO.Stream GetStream() { } + } + public class Transaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public Transaction(Sentry.ITransaction tracer) { } + public Transaction(string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Transaction FromJson(System.Text.Json.JsonElement json) { } + } + public class TransactionContext : Sentry.SpanContext, Sentry.ISpanContext, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext + { + public TransactionContext(string name, string operation) { } + public TransactionContext(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public TransactionContext(string name, string operation, bool? isSampled) { } + public TransactionContext(Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, bool? isParentSampled) { } + public TransactionContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled, bool? isParentSampled) { } + public bool? IsParentSampled { get; } + public string Name { get; } + } + public class TransactionSamplingContext + { + public TransactionSamplingContext(Sentry.ITransactionContext transactionContext, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public System.Collections.Generic.IReadOnlyDictionary CustomSamplingContext { get; } + public Sentry.ITransactionContext TransactionContext { get; } + } + public class TransactionTracer : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransaction, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public TransactionTracer(Sentry.IHub hub, Sentry.ITransactionContext context) { } + public TransactionTracer(Sentry.IHub hub, string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; set; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.ISpan? GetLastActiveSpan() { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public sealed class User : Sentry.IJsonSerializable + { + public User() { } + public string? Email { get; set; } + public string? Id { get; set; } + public string? IpAddress { get; set; } + public System.Collections.Generic.IDictionary Other { get; set; } + public string? Username { get; set; } + public Sentry.User Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.User FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class UserFeedback : Sentry.IJsonSerializable + { + public UserFeedback(Sentry.SentryId eventId, string? name, string? email, string? comments) { } + public string? Comments { get; } + public string? Email { get; } + public Sentry.SentryId EventId { get; } + public string? Name { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.UserFeedback FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Extensibility +{ + public abstract class BaseRequestPayloadExtractor : Sentry.Extensibility.IRequestPayloadExtractor + { + protected BaseRequestPayloadExtractor() { } + protected abstract object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request); + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + protected abstract bool IsSupported(Sentry.Extensibility.IHttpRequest request); + } + public class DefaultRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public DefaultRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public static class DiagnosticLoggerExtensions + { + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, System.Exception exception, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2, TArg3 arg3, TArg4 arg4) { } + public static void LogFatal(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + } + public class DisabledHub : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager, System.IDisposable + { + public static readonly Sentry.Extensibility.DisabledHub Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void Dispose() { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public class FormRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public FormRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public sealed class HubAdapter : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager + { + public static readonly Sentry.Extensibility.HubAdapter Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void AddBreadcrumb(Sentry.Infrastructure.ISystemClock clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public Sentry.SentryId CaptureException(System.Exception exception) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback sentryUserFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public interface IDiagnosticLogger + { + bool IsEnabled(Sentry.SentryLevel level); + void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args); + } + public interface IExceptionFilter + { + bool Filter(System.Exception ex); + } + public interface IHttpRequest + { + System.IO.Stream? Body { get; } + long? ContentLength { get; } + string? ContentType { get; } + System.Collections.Generic.IEnumerable>>? Form { get; } + } + public interface IRequestPayloadExtractor + { + object? ExtractPayload(Sentry.Extensibility.IHttpRequest request); + } + public interface ISentryEventExceptionProcessor + { + void Process(System.Exception exception, Sentry.SentryEvent sentryEvent); + } + public interface ISentryEventProcessor + { + Sentry.SentryEvent? Process(Sentry.SentryEvent @event); + } + public interface ISentryStackTraceFactory + { + Sentry.SentryStackTrace? Create(System.Exception? exception = null); + } + public class RequestBodyExtractionDispatcher : Sentry.Extensibility.IRequestPayloadExtractor + { + public RequestBodyExtractionDispatcher(System.Collections.Generic.IEnumerable extractors, Sentry.SentryOptions options, System.Func sizeSwitch) { } + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + } + public enum RequestSize + { + None = 0, + Small = 1, + Medium = 2, + Always = 3, + } + public abstract class SentryEventExceptionProcessor : Sentry.Extensibility.ISentryEventExceptionProcessor + where TException : System.Exception + { + protected SentryEventExceptionProcessor() { } + public void Process(System.Exception? exception, Sentry.SentryEvent sentryEvent) { } + protected abstract void ProcessException(TException exception, Sentry.SentryEvent sentryEvent); + } + public class SentryStackTraceFactory : Sentry.Extensibility.ISentryStackTraceFactory + { + public SentryStackTraceFactory(Sentry.SentryOptions options) { } + public virtual Sentry.SentryStackTrace? Create(System.Exception? exception = null) { } + protected virtual Sentry.SentryStackFrame CreateFrame(System.Diagnostics.StackFrame stackFrame, bool isCurrentStackTrace) { } + protected virtual System.Diagnostics.StackTrace CreateStackTrace(System.Exception? exception) { } + protected virtual System.Reflection.MethodBase? GetMethod(System.Diagnostics.StackFrame stackFrame) { } + protected Sentry.SentryStackFrame InternalCreateFrame(System.Diagnostics.StackFrame stackFrame, bool demangle) { } + } +} +namespace Sentry.Http +{ + public interface ISentryHttpClientFactory + { + System.Net.Http.HttpClient Create(Sentry.SentryOptions options); + } +} +namespace Sentry.Infrastructure +{ + public class ConsoleDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public ConsoleDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [System.Obsolete("Logger doesn\'t work outside of Sentry SDK. Please use TraceDiagnosticLogger inste" + + "ad")] + public class DebugDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public DebugDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + public interface ISystemClock + { + System.DateTimeOffset GetUtcNow(); + } + public sealed class SystemClock : Sentry.Infrastructure.ISystemClock + { + public static readonly Sentry.Infrastructure.SystemClock Clock; + public SystemClock() { } + public System.DateTimeOffset GetUtcNow() { } + } + public class TraceDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public TraceDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } +} +namespace Sentry.Integrations +{ + public interface ISdkIntegration + { + void Register(Sentry.IHub hub, Sentry.SentryOptions options); + } +} +namespace Sentry.PlatformAbstractions +{ + public static class FrameworkInfo + { + public static System.Collections.Generic.IReadOnlyDictionary NetFxReleaseVersionMap { get; } + public static System.Collections.Generic.IEnumerable GetInstallations() { } + public static Sentry.PlatformAbstractions.FrameworkInstallation? GetLatest(int clr) { } + } + public class FrameworkInstallation + { + public FrameworkInstallation() { } + public Sentry.PlatformAbstractions.FrameworkProfile? Profile { get; set; } + public int? Release { get; set; } + public int? ServicePack { get; set; } + public string? ShortName { get; set; } + public System.Version? Version { get; set; } + public override string ToString() { } + } + public enum FrameworkProfile + { + Client = 0, + Full = 1, + } + public class Runtime + { + public Runtime(string? name = null, string? version = null, string? raw = null) { } + public string? Name { get; } + public string? Raw { get; } + public string? Version { get; } + public static Sentry.PlatformAbstractions.Runtime Current { get; } + public bool Equals(Sentry.PlatformAbstractions.Runtime other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string? ToString() { } + } + public static class RuntimeExtensions + { + public static bool IsMono(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetCore(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetFx(this Sentry.PlatformAbstractions.Runtime runtime) { } + } +} +namespace Sentry.Protocol +{ + public sealed class App : Sentry.IJsonSerializable + { + public const string Type = "app"; + public App() { } + public string? Build { get; set; } + public string? BuildType { get; set; } + public string? Hash { get; set; } + public string? Identifier { get; set; } + public string? Name { get; set; } + public System.DateTimeOffset? StartTime { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.App FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Browser : Sentry.IJsonSerializable + { + public const string Type = "browser"; + public Browser() { } + public string? Name { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Browser FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Device : Sentry.IJsonSerializable + { + public const string Type = "device"; + public Device() { } + public string? Architecture { get; set; } + public short? BatteryLevel { get; set; } + public string? BatteryStatus { get; set; } + public System.DateTimeOffset? BootTime { get; set; } + public string? Brand { get; set; } + public string? CpuDescription { get; set; } + public string? DeviceType { get; set; } + public string? DeviceUniqueIdentifier { get; set; } + public long? ExternalFreeStorage { get; set; } + public long? ExternalStorageSize { get; set; } + public string? Family { get; set; } + public long? FreeMemory { get; set; } + public long? FreeStorage { get; set; } + public bool? IsCharging { get; set; } + public bool? IsOnline { get; set; } + public bool? LowMemory { get; set; } + public string? Manufacturer { get; set; } + public long? MemorySize { get; set; } + public string? Model { get; set; } + public string? ModelId { get; set; } + public string? Name { get; set; } + public Sentry.Protocol.DeviceOrientation? Orientation { get; set; } + public int? ProcessorCount { get; set; } + public int? ProcessorFrequency { get; set; } + public float? ScreenDensity { get; set; } + public int? ScreenDpi { get; set; } + public string? ScreenResolution { get; set; } + public bool? Simulator { get; set; } + public long? StorageSize { get; set; } + public bool? SupportsAccelerometer { get; set; } + public bool? SupportsAudio { get; set; } + public bool? SupportsGyroscope { get; set; } + public bool? SupportsLocationService { get; set; } + public bool? SupportsVibration { get; set; } + public System.TimeZoneInfo? Timezone { get; set; } + public long? UsableMemory { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Device FromJson(System.Text.Json.JsonElement json) { } + } + public enum DeviceOrientation + { + [System.Runtime.Serialization.EnumMember(Value="portrait")] + Portrait = 0, + [System.Runtime.Serialization.EnumMember(Value="landscape")] + Landscape = 1, + } + public sealed class Gpu : Sentry.IJsonSerializable + { + public const string Type = "gpu"; + public Gpu() { } + public string? ApiType { get; set; } + public string? GraphicsShaderLevel { get; set; } + public int? Id { get; set; } + public int? MaxTextureSize { get; set; } + public int? MemorySize { get; set; } + public bool? MultiThreadedRendering { get; set; } + public string? Name { get; set; } + public string? NpotSupport { get; set; } + public bool? SupportsComputeShaders { get; set; } + public bool? SupportsDrawCallInstancing { get; set; } + public bool? SupportsGeometryShaders { get; set; } + public bool? SupportsRayTracing { get; set; } + public string? VendorId { get; set; } + public string? VendorName { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Gpu FromJson(System.Text.Json.JsonElement json) { } + } + public interface ITraceContext + { + string? Description { get; } + bool? IsSampled { get; } + string Operation { get; } + Sentry.SpanId? ParentSpanId { get; } + Sentry.SpanId SpanId { get; } + Sentry.SpanStatus? Status { get; } + Sentry.SentryId TraceId { get; } + } + public sealed class Mechanism : Sentry.IJsonSerializable + { + public static readonly string HandledKey; + public static readonly string MechanismKey; + public Mechanism() { } + public System.Collections.Generic.IDictionary Data { get; } + public string? Description { get; set; } + public bool? Handled { get; set; } + public string? HelpLink { get; set; } + public System.Collections.Generic.IDictionary Meta { get; } + public string? Type { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Mechanism FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class OperatingSystem : Sentry.IJsonSerializable + { + public const string Type = "os"; + public OperatingSystem() { } + public string? Build { get; set; } + public string? KernelVersion { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public bool? Rooted { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.OperatingSystem FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Runtime : Sentry.IJsonSerializable + { + public const string Type = "runtime"; + public Runtime() { } + public string? Build { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public string? Version { get; set; } + public Sentry.Protocol.Runtime Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Runtime FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryException : Sentry.IJsonSerializable + { + public SentryException() { } + public System.Collections.Generic.IDictionary Data { get; } + public Sentry.Protocol.Mechanism? Mechanism { get; set; } + public string? Module { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public int ThreadId { get; set; } + public string? Type { get; set; } + public string? Value { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.SentryException FromJson(System.Text.Json.JsonElement json) { } + } + public class Trace : Sentry.IJsonSerializable, Sentry.Protocol.ITraceContext + { + public const string Type = "trace"; + public Trace() { } + public string? Description { get; set; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; set; } + public Sentry.SpanId SpanId { get; set; } + public Sentry.SpanStatus? Status { get; set; } + public Sentry.SentryId TraceId { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Trace FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Reflection +{ + public static class AssemblyExtensions + { + public static Sentry.SdkVersion GetNameAndVersion(this System.Reflection.Assembly asm) { } + } +} +public static class SentryExceptionExtensions +{ + public static void AddSentryContext(this System.Exception ex, string name, System.Collections.Generic.IReadOnlyDictionary data) { } + public static void AddSentryTag(this System.Exception ex, string name, string value) { } +} \ No newline at end of file diff --git a/test/Sentry.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt b/test/Sentry.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt new file mode 100644 index 0000000000..b4c4190961 --- /dev/null +++ b/test/Sentry.Tests/ApiApprovalTests.Run.DotNet4_6.verified.txt @@ -0,0 +1,1301 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.6.1", FrameworkDisplayName=".NET Framework 4.6.1")] +namespace Sentry +{ + [System.Diagnostics.DebuggerDisplay("{FileName}")] + public class Attachment + { + public Attachment(Sentry.AttachmentType type, Sentry.IAttachmentContent content, string fileName, string? contentType) { } + public Sentry.IAttachmentContent Content { get; } + public string? ContentType { get; } + public string FileName { get; } + public Sentry.AttachmentType Type { get; } + } + public enum AttachmentType + { + Default = 0, + Minidump = 1, + AppleCrashReport = 2, + UnrealContext = 3, + UnrealLogs = 4, + } + [System.Diagnostics.DebuggerDisplay("Message: {Message}, Type: {Type}")] + public sealed class Breadcrumb : Sentry.IJsonSerializable + { + public Breadcrumb(string message, string type, System.Collections.Generic.IReadOnlyDictionary? data = null, string? category = null, Sentry.BreadcrumbLevel level = 0) { } + public string? Category { get; } + public System.Collections.Generic.IReadOnlyDictionary? Data { get; } + public Sentry.BreadcrumbLevel Level { get; } + public string? Message { get; } + public System.DateTimeOffset Timestamp { get; } + public string? Type { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Breadcrumb FromJson(System.Text.Json.JsonElement json) { } + } + public enum BreadcrumbLevel + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = -1, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 0, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 1, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 2, + [System.Runtime.Serialization.EnumMember(Value="critical")] + Critical = 3, + } + public static class Constants + { + public const int DefaultMaxBreadcrumbs = 100; + public const string DisableSdkDsnValue = ""; + public const string Platform = "csharp"; + public const int ProtocolVersion = 7; + } + public sealed class Contexts : System.Collections.Concurrent.ConcurrentDictionary, Sentry.IJsonSerializable + { + public Contexts() { } + public Sentry.Protocol.App App { get; } + public Sentry.Protocol.Browser Browser { get; } + public Sentry.Protocol.Device Device { get; } + public Sentry.Protocol.Gpu Gpu { get; } + public Sentry.Protocol.OperatingSystem OperatingSystem { get; } + public Sentry.Protocol.Runtime Runtime { get; } + public Sentry.Protocol.Trace Trace { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Contexts FromJson(System.Text.Json.JsonElement json) { } + } + [System.Flags] + public enum DeduplicateMode + { + SameEvent = 1, + SameExceptionInstance = 2, + InnerException = 4, + AggregateException = 8, + All = 2147483647, + } + public class DefaultSentryScopeStateProcessor : Sentry.ISentryScopeStateProcessor + { + public DefaultSentryScopeStateProcessor() { } + public void Apply(Sentry.Scope scope, object state) { } + } + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.All)] + public class DsnAttribute : System.Attribute + { + public DsnAttribute(string dsn) { } + public string Dsn { get; } + } + public static class EventLikeExtensions + { + public static bool HasUser(this Sentry.IEventLike eventLike) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, System.Collections.Generic.IEnumerable fingerprint) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, params string[] fingerprint) { } + } + public class FileAttachmentContent : Sentry.IAttachmentContent + { + public FileAttachmentContent(string filePath) { } + public System.IO.Stream GetStream() { } + } + public static class HasBreadcrumbsExtensions + { + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, System.DateTimeOffset? timestamp, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + } + public static class HasExtraExtensions + { + public static void SetExtras(this Sentry.IHasExtra hasExtra, System.Collections.Generic.IEnumerable> values) { } + } + public static class HasTagsExtensions + { + public static void SetTags(this Sentry.IHasTags hasTags, System.Collections.Generic.IEnumerable> tags) { } + } + public static class HubExtensions + { + public static void AddBreadcrumb(this Sentry.IHub hub, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHub hub, Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void LockScope(this Sentry.IHub hub) { } + public static System.IDisposable PushAndLockScope(this Sentry.IHub hub) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, string? description) { } + public static void UnlockScope(this Sentry.IHub hub) { } + } + public interface IAttachmentContent + { + System.IO.Stream GetStream(); + } + public interface IEventLike : Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + Sentry.Contexts Contexts { get; set; } + string? Environment { get; set; } + System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + Sentry.SentryLevel? Level { get; set; } + string? Platform { get; set; } + string? Release { get; set; } + Sentry.Request Request { get; set; } + Sentry.SdkVersion Sdk { get; } + string? TransactionName { get; set; } + Sentry.User User { get; set; } + } + public interface IHasBreadcrumbs + { + System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + } + public interface IHasExtra + { + System.Collections.Generic.IReadOnlyDictionary Extra { get; } + void SetExtra(string key, object? value); + } + public interface IHasTags + { + System.Collections.Generic.IReadOnlyDictionary Tags { get; } + void SetTag(string key, string value); + void UnsetTag(string key); + } + public interface IHub : Sentry.ISentryClient, Sentry.ISentryScopeManager + { + Sentry.SentryId LastEventId { get; } + void BindException(System.Exception exception, Sentry.ISpan span); + void EndSession(Sentry.SessionEndStatus status = 0); + Sentry.ISpan? GetSpan(); + Sentry.SentryTraceHeader? GetTraceHeader(); + void PauseSession(); + void ResumeSession(); + void StartSession(); + Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext); + } + public interface IJsonSerializable + { + void WriteTo(System.Text.Json.Utf8JsonWriter writer); + } + public interface IScopeObserver + { + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + void SetExtra(string key, object? value); + void SetTag(string key, string value); + void SetUser(Sentry.User? user); + void UnsetTag(string key); + } + public interface ISentryClient + { + bool IsEnabled { get; } + Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null); + void CaptureSession(Sentry.SessionUpdate sessionUpdate); + void CaptureTransaction(Sentry.Transaction transaction); + void CaptureUserFeedback(Sentry.UserFeedback userFeedback); + System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout); + } + public interface ISentryScopeManager + { + void BindClient(Sentry.ISentryClient client); + void ConfigureScope(System.Action configureScope); + System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope); + System.IDisposable PushScope(); + System.IDisposable PushScope(TState state); + void WithScope(System.Action scopeCallback); + } + public interface ISentryScopeStateProcessor + { + void Apply(Sentry.Scope scope, object state); + } + public interface ISession + { + string? DistinctId { get; } + string? Environment { get; } + int ErrorCount { get; } + Sentry.SentryId Id { get; } + string? IpAddress { get; } + string Release { get; } + System.DateTimeOffset StartTimestamp { get; } + string? UserAgent { get; } + } + public interface ISpan : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + new string? Description { get; set; } + new string Operation { get; set; } + new Sentry.SpanStatus? Status { get; set; } + void Finish(); + void Finish(Sentry.SpanStatus status); + void Finish(System.Exception exception); + void Finish(System.Exception exception, Sentry.SpanStatus status); + Sentry.ISpan StartChild(string operation); + } + public interface ISpanContext : Sentry.Protocol.ITraceContext { } + public interface ISpanData : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + System.DateTimeOffset? EndTimestamp { get; } + bool IsFinished { get; } + System.DateTimeOffset StartTimestamp { get; } + Sentry.SentryTraceHeader GetTraceHeader(); + } + public interface ITransaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + new bool? IsParentSampled { get; set; } + new string Name { get; set; } + System.Collections.Generic.IReadOnlyCollection Spans { get; } + Sentry.ISpan? GetLastActiveSpan(); + } + public interface ITransactionContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + bool? IsParentSampled { get; } + string Name { get; } + } + public interface ITransactionData : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext { } + public sealed class Package : Sentry.IJsonSerializable + { + public Package(string name, string version) { } + public string Name { get; } + public string Version { get; } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Package FromJson(System.Text.Json.JsonElement json) { } + } + public enum ReportAssembliesMode + { + None = 0, + Version = 1, + InformationalVersion = 2, + } + public sealed class Request : Sentry.IJsonSerializable + { + public Request() { } + public string? Cookies { get; set; } + public object? Data { get; set; } + public System.Collections.Generic.IDictionary Env { get; } + public System.Collections.Generic.IDictionary Headers { get; } + public string? Method { get; set; } + public System.Collections.Generic.IDictionary Other { get; } + public string? QueryString { get; set; } + public string? Url { get; set; } + public Sentry.Request Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Request FromJson(System.Text.Json.JsonElement json) { } + } + public class Scope : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + public Scope(Sentry.SentryOptions? options) { } + public System.Collections.Generic.IReadOnlyCollection Attachments { get; } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.ITransaction? Transaction { get; set; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddAttachment(Sentry.Attachment attachment) { } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Apply(Sentry.IEventLike other) { } + public void Apply(Sentry.Scope other) { } + public void Apply(object state) { } + public void ClearAttachments() { } + public Sentry.Scope Clone() { } + public Sentry.ISpan? GetSpan() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + } + public static class ScopeExtensions + { + public static void AddAttachment(this Sentry.Scope scope, string filePath, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, byte[] data, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, System.IO.Stream stream, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddEventProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessor(this Sentry.Scope scope, System.Func processor) { } + public static void AddEventProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.Scope scope) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.Scope scope) { } + } + public sealed class SdkVersion : Sentry.IJsonSerializable + { + public SdkVersion() { } + public string? Name { get; set; } + public System.Collections.Generic.IEnumerable Packages { get; } + public string? Version { get; set; } + public void AddPackage(string name, string version) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SdkVersion FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryClient : Sentry.ISentryClient, System.IDisposable + { + public SentryClient(Sentry.SentryOptions options) { } + public bool IsEnabled { get; } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent? @event, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void Dispose() { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + } + public static class SentryClientExtensions + { + public static Sentry.SentryId CaptureException(this Sentry.ISentryClient client, System.Exception ex) { } + public static Sentry.SentryId CaptureMessage(this Sentry.ISentryClient client, string message, Sentry.SentryLevel level = 1) { } + public static void CaptureUserFeedback(this Sentry.ISentryClient client, Sentry.SentryId eventId, string email, string comments, string? name = null) { } + } + [System.Diagnostics.DebuggerDisplay("{GetType().Name,nq}: {EventId,nq}")] + public sealed class SentryEvent : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable + { + public SentryEvent() { } + public SentryEvent(System.Exception? exception) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Exception? Exception { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Logger { get; set; } + public Sentry.SentryMessage? Message { get; set; } + public System.Collections.Generic.IDictionary Modules { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IEnumerable? SentryExceptions { get; set; } + public System.Collections.Generic.IEnumerable? SentryThreads { get; set; } + public string? ServerName { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public System.DateTimeOffset Timestamp { get; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryEvent FromJson(System.Text.Json.JsonElement json) { } + } + public static class SentryEventExtensions { } + public class SentryHttpMessageHandler : System.Net.Http.DelegatingHandler + { + public SentryHttpMessageHandler() { } + public SentryHttpMessageHandler(Sentry.IHub hub) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler, Sentry.IHub hub) { } + protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { } + } + public readonly struct SentryId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SentryId Empty; + public SentryId(System.Guid guid) { } + public bool Equals(Sentry.SentryId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryId Create() { } + public static Sentry.SentryId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryId Parse(string value) { } + public static System.Guid op_Implicit(Sentry.SentryId sentryId) { } + public static Sentry.SentryId op_Implicit(System.Guid guid) { } + public static bool operator !=(Sentry.SentryId left, Sentry.SentryId right) { } + public static bool operator ==(Sentry.SentryId left, Sentry.SentryId right) { } + } + public enum SentryLevel : short + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = 0, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 1, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 2, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 3, + [System.Runtime.Serialization.EnumMember(Value="fatal")] + Fatal = 4, + } + public sealed class SentryMessage : Sentry.IJsonSerializable + { + public SentryMessage() { } + public string? Formatted { get; set; } + public string? Message { get; set; } + public System.Collections.Generic.IEnumerable? Params { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryMessage FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryMessage op_Implicit(string? message) { } + } + public class SentryOptions + { + public SentryOptions() { } + public bool AttachStacktrace { get; set; } + public bool AutoSessionTracking { get; set; } + public System.TimeSpan AutoSessionTrackingInterval { get; set; } + public System.Func? BeforeBreadcrumb { get; set; } + public System.Func? BeforeSend { get; set; } + public string? CacheDirectoryPath { get; set; } + public System.Action? ConfigureClient { get; set; } + public System.Func? CrashedLastRun { get; set; } + public System.Func? CreateHttpClientHandler { get; set; } + public bool Debug { get; set; } + public System.Net.DecompressionMethods DecompressionMethods { get; set; } + public Sentry.DeduplicateMode DeduplicateMode { get; set; } + public System.Collections.Generic.Dictionary DefaultTags { get; } + public Sentry.StartupTimeDetectionMode DetectStartupTime { get; set; } + public Sentry.SentryLevel DiagnosticLevel { get; set; } + public Sentry.Extensibility.IDiagnosticLogger? DiagnosticLogger { get; set; } + public string? Dsn { get; set; } + public bool EnableScopeSync { get; set; } + public string? Environment { get; set; } + public System.Net.IWebProxy? HttpProxy { get; set; } + public System.TimeSpan InitCacheFlushTimeout { get; set; } + public bool IsEnvironmentUser { get; set; } + public bool IsGlobalModeEnabled { get; set; } + public long MaxAttachmentSize { get; set; } + public int MaxBreadcrumbs { get; set; } + public int MaxCacheItems { get; set; } + public int MaxQueueItems { get; set; } + public string? Release { get; set; } + [System.Obsolete("Use ReportAssembliesMode instead", false)] + public bool ReportAssemblies { get; set; } + public Sentry.ReportAssembliesMode ReportAssembliesMode { get; set; } + public bool RequestBodyCompressionBuffered { get; set; } + public System.IO.Compression.CompressionLevel RequestBodyCompressionLevel { get; set; } + public float? SampleRate { get; set; } + public Sentry.IScopeObserver? ScopeObserver { get; set; } + public bool SendDefaultPii { get; set; } + public Sentry.ISentryScopeStateProcessor SentryScopeStateProcessor { get; set; } + public string? ServerName { get; set; } + public System.TimeSpan ShutdownTimeout { get; set; } + public Sentry.StackTraceMode StackTraceMode { get; set; } + public double TracesSampleRate { get; set; } + public System.Func? TracesSampler { get; set; } + } + public static class SentryOptionsExtensions + { + public static void AddEventProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddEventProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionFilter(this Sentry.SentryOptions options, Sentry.Extensibility.IExceptionFilter exceptionFilter) { } + public static void AddExceptionFilterForType(this Sentry.SentryOptions options) + where TException : System.Exception { } + public static void AddExceptionProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddExceptionProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddInAppExclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddInAppInclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddIntegration(this Sentry.SentryOptions options, Sentry.Integrations.ISdkIntegration integration) { } + public static void ApplyDefaultTags(this Sentry.SentryOptions options, Sentry.IHasTags hasTags) { } + public static void DisableAppDomainProcessExitFlush(this Sentry.SentryOptions options) { } + public static void DisableAppDomainUnhandledExceptionCapture(this Sentry.SentryOptions options) { } + public static void DisableDuplicateEventDetection(this Sentry.SentryOptions options) { } + public static void DisableNetFxInstallationsIntegration(this Sentry.SentryOptions options) { } + public static void DisableTaskUnobservedTaskExceptionCapture(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.SentryOptions options) { } + public static Sentry.SentryOptions UseStackTraceFactory(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryStackTraceFactory sentryStackTraceFactory) { } + } + public static class SentrySdk + { + public static bool IsEnabled { get; } + public static Sentry.SentryId LastEventId { get; } + public static void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? 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 CaptureEvent(Sentry.SentryEvent evt) { } + public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public static Sentry.SentryId CaptureException(System.Exception exception) { } + public static Sentry.SentryId CaptureMessage(string message, Sentry.SentryLevel level = 1) { } + public static void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public static void CaptureTransaction(Sentry.Transaction transaction) { } + public static void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public static void CaptureUserFeedback(Sentry.SentryId eventId, string email, string comments, string? name = null) { } + public static void Close() { } + public static void ConfigureScope(System.Action configureScope) { } + public static System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public static void EndSession(Sentry.SessionEndStatus status = 0) { } + public static System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public static Sentry.ISpan? GetSpan() { } + public static Sentry.SentryTraceHeader? GetTraceHeader() { } + public static System.IDisposable Init() { } + public static System.IDisposable Init(Sentry.SentryOptions options) { } + public static System.IDisposable Init(System.Action? configureOptions) { } + public static System.IDisposable Init(string? dsn) { } + public static void PauseSession() { } + public static System.IDisposable PushScope() { } + public static System.IDisposable PushScope(TState state) { } + public static void ResumeSession() { } + public static void StartSession() { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public static Sentry.ITransaction StartTransaction(string name, string operation) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, string? description) { } + public static void WithScope(System.Action scopeCallback) { } + } + public sealed class SentryStackFrame : Sentry.IJsonSerializable + { + public SentryStackFrame() { } + public string? AbsolutePath { get; set; } + public int? ColumnNumber { get; set; } + public string? ContextLine { get; set; } + public string? FileName { get; set; } + public System.Collections.Generic.IList FramesOmitted { get; } + public string? Function { get; set; } + public long ImageAddress { get; set; } + public bool? InApp { get; set; } + public string? InstructionAddress { get; set; } + public long? InstructionOffset { get; set; } + public int? LineNumber { get; set; } + public string? Module { get; set; } + public string? Package { get; set; } + public string? Platform { get; set; } + public System.Collections.Generic.IList PostContext { get; } + public System.Collections.Generic.IList PreContext { get; } + public long? SymbolAddress { get; set; } + public System.Collections.Generic.IDictionary Vars { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackFrame FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryStackTrace : Sentry.IJsonSerializable + { + public SentryStackTrace() { } + public System.Collections.Generic.IList Frames { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackTrace FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryThread : Sentry.IJsonSerializable + { + public SentryThread() { } + public bool? Crashed { get; set; } + public bool? Current { get; set; } + public int? Id { get; set; } + public string? Name { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryThread FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryTraceHeader + { + public SentryTraceHeader(Sentry.SentryId traceId, Sentry.SpanId spanSpanId, bool? isSampled) { } + public bool? IsSampled { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SentryId TraceId { get; } + public override string ToString() { } + public static Sentry.SentryTraceHeader Parse(string value) { } + } + public sealed class SentryValues : Sentry.IJsonSerializable + { + public SentryValues(System.Collections.Generic.IEnumerable? values) { } + public System.Collections.Generic.IEnumerable Values { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + } + public class Session : Sentry.ISession + { + public Session(string? distinctId, string release, string? environment) { } + public string? DistinctId { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public string Release { get; } + public System.DateTimeOffset StartTimestamp { get; } + public string? UserAgent { get; } + public void ReportError() { } + } + public enum SessionEndStatus + { + Exited = 0, + Crashed = 1, + Abnormal = 2, + } + public class SessionUpdate : Sentry.IJsonSerializable, Sentry.ISession + { + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial) { } + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.ISession session, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.SentryId id, string? distinctId, System.DateTimeOffset startTimestamp, string release, string? environment, string? ipAddress, string? userAgent, int errorCount, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public string? DistinctId { get; } + public System.TimeSpan Duration { get; } + public Sentry.SessionEndStatus? EndStatus { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public bool IsInitial { get; } + public string Release { get; } + public int SequenceNumber { get; } + public System.DateTimeOffset StartTimestamp { get; } + public System.DateTimeOffset Timestamp { get; } + public string? UserAgent { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SessionUpdate FromJson(System.Text.Json.JsonElement json) { } + } + public class Span : Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public Span(Sentry.ISpan tracer) { } + public Span(Sentry.SpanId? parentSpanId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Span FromJson(System.Text.Json.JsonElement json) { } + } + public class SpanContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + public SpanContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled) { } + public string? Description { get; } + public bool? IsSampled { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SpanStatus? Status { get; } + public Sentry.SentryId TraceId { get; } + } + public static class SpanExtensions + { + public static Sentry.ISpan StartChild(this Sentry.ISpan span, string operation, string? description) { } + } + public readonly struct SpanId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SpanId Empty; + public SpanId(string value) { } + public bool Equals(Sentry.SpanId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SpanId Create() { } + public static Sentry.SpanId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SpanId Parse(string value) { } + public static string op_Implicit(Sentry.SpanId id) { } + public static bool operator !=(Sentry.SpanId left, Sentry.SpanId right) { } + public static bool operator ==(Sentry.SpanId left, Sentry.SpanId right) { } + } + public enum SpanStatus + { + Ok = 0, + DeadlineExceeded = 1, + Unauthenticated = 2, + PermissionDenied = 3, + NotFound = 4, + ResourceExhausted = 5, + InvalidArgument = 6, + Unimplemented = 7, + Unavailable = 8, + InternalError = 9, + UnknownError = 10, + Cancelled = 11, + AlreadyExists = 12, + FailedPrecondition = 13, + Aborted = 14, + OutOfRange = 15, + DataLoss = 16, + } + public class SpanTracer : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public SpanTracer(Sentry.IHub hub, Sentry.TransactionTracer transaction, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public enum StackTraceMode + { + Original = 0, + Enhanced = 1, + } + public enum StartupTimeDetectionMode + { + None = 0, + Fast = 1, + Best = 2, + } + public class StreamAttachmentContent : Sentry.IAttachmentContent + { + public StreamAttachmentContent(System.IO.Stream stream) { } + public System.IO.Stream GetStream() { } + } + public class Transaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public Transaction(Sentry.ITransaction tracer) { } + public Transaction(string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Transaction FromJson(System.Text.Json.JsonElement json) { } + } + public class TransactionContext : Sentry.SpanContext, Sentry.ISpanContext, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext + { + public TransactionContext(string name, string operation) { } + public TransactionContext(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public TransactionContext(string name, string operation, bool? isSampled) { } + public TransactionContext(Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, bool? isParentSampled) { } + public TransactionContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled, bool? isParentSampled) { } + public bool? IsParentSampled { get; } + public string Name { get; } + } + public class TransactionSamplingContext + { + public TransactionSamplingContext(Sentry.ITransactionContext transactionContext, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public System.Collections.Generic.IReadOnlyDictionary CustomSamplingContext { get; } + public Sentry.ITransactionContext TransactionContext { get; } + } + public class TransactionTracer : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransaction, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public TransactionTracer(Sentry.IHub hub, Sentry.ITransactionContext context) { } + public TransactionTracer(Sentry.IHub hub, string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; set; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.ISpan? GetLastActiveSpan() { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public sealed class User : Sentry.IJsonSerializable + { + public User() { } + public string? Email { get; set; } + public string? Id { get; set; } + public string? IpAddress { get; set; } + public System.Collections.Generic.IDictionary Other { get; set; } + public string? Username { get; set; } + public Sentry.User Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.User FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class UserFeedback : Sentry.IJsonSerializable + { + public UserFeedback(Sentry.SentryId eventId, string? name, string? email, string? comments) { } + public string? Comments { get; } + public string? Email { get; } + public Sentry.SentryId EventId { get; } + public string? Name { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.UserFeedback FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Extensibility +{ + public abstract class BaseRequestPayloadExtractor : Sentry.Extensibility.IRequestPayloadExtractor + { + protected BaseRequestPayloadExtractor() { } + protected abstract object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request); + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + protected abstract bool IsSupported(Sentry.Extensibility.IHttpRequest request); + } + public class DefaultRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public DefaultRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public static class DiagnosticLoggerExtensions + { + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, System.Exception exception, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2, TArg3 arg3, TArg4 arg4) { } + public static void LogFatal(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + } + public class DisabledHub : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager, System.IDisposable + { + public static readonly Sentry.Extensibility.DisabledHub Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void Dispose() { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public class FormRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public FormRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public sealed class HubAdapter : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager + { + public static readonly Sentry.Extensibility.HubAdapter Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void AddBreadcrumb(Sentry.Infrastructure.ISystemClock clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public Sentry.SentryId CaptureException(System.Exception exception) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback sentryUserFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public interface IDiagnosticLogger + { + bool IsEnabled(Sentry.SentryLevel level); + void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args); + } + public interface IExceptionFilter + { + bool Filter(System.Exception ex); + } + public interface IHttpRequest + { + System.IO.Stream? Body { get; } + long? ContentLength { get; } + string? ContentType { get; } + System.Collections.Generic.IEnumerable>>? Form { get; } + } + public interface IRequestPayloadExtractor + { + object? ExtractPayload(Sentry.Extensibility.IHttpRequest request); + } + public interface ISentryEventExceptionProcessor + { + void Process(System.Exception exception, Sentry.SentryEvent sentryEvent); + } + public interface ISentryEventProcessor + { + Sentry.SentryEvent? Process(Sentry.SentryEvent @event); + } + public interface ISentryStackTraceFactory + { + Sentry.SentryStackTrace? Create(System.Exception? exception = null); + } + public class RequestBodyExtractionDispatcher : Sentry.Extensibility.IRequestPayloadExtractor + { + public RequestBodyExtractionDispatcher(System.Collections.Generic.IEnumerable extractors, Sentry.SentryOptions options, System.Func sizeSwitch) { } + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + } + public enum RequestSize + { + None = 0, + Small = 1, + Medium = 2, + Always = 3, + } + public abstract class SentryEventExceptionProcessor : Sentry.Extensibility.ISentryEventExceptionProcessor + where TException : System.Exception + { + protected SentryEventExceptionProcessor() { } + public void Process(System.Exception? exception, Sentry.SentryEvent sentryEvent) { } + protected abstract void ProcessException(TException exception, Sentry.SentryEvent sentryEvent); + } + public class SentryStackTraceFactory : Sentry.Extensibility.ISentryStackTraceFactory + { + public SentryStackTraceFactory(Sentry.SentryOptions options) { } + public virtual Sentry.SentryStackTrace? Create(System.Exception? exception = null) { } + protected virtual Sentry.SentryStackFrame CreateFrame(System.Diagnostics.StackFrame stackFrame, bool isCurrentStackTrace) { } + protected virtual System.Diagnostics.StackTrace CreateStackTrace(System.Exception? exception) { } + protected virtual System.Reflection.MethodBase? GetMethod(System.Diagnostics.StackFrame stackFrame) { } + protected Sentry.SentryStackFrame InternalCreateFrame(System.Diagnostics.StackFrame stackFrame, bool demangle) { } + } +} +namespace Sentry.Http +{ + public interface ISentryHttpClientFactory + { + System.Net.Http.HttpClient Create(Sentry.SentryOptions options); + } +} +namespace Sentry.Infrastructure +{ + public class ConsoleDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public ConsoleDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [System.Obsolete("Logger doesn\'t work outside of Sentry SDK. Please use TraceDiagnosticLogger inste" + + "ad")] + public class DebugDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public DebugDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + public interface ISystemClock + { + System.DateTimeOffset GetUtcNow(); + } + public sealed class SystemClock : Sentry.Infrastructure.ISystemClock + { + public static readonly Sentry.Infrastructure.SystemClock Clock; + public SystemClock() { } + public System.DateTimeOffset GetUtcNow() { } + } + public class TraceDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public TraceDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } +} +namespace Sentry.Integrations +{ + public interface ISdkIntegration + { + void Register(Sentry.IHub hub, Sentry.SentryOptions options); + } +} +namespace Sentry.PlatformAbstractions +{ + public static class FrameworkInfo + { + public static System.Collections.Generic.IReadOnlyDictionary NetFxReleaseVersionMap { get; } + public static System.Collections.Generic.IEnumerable GetInstallations() { } + public static Sentry.PlatformAbstractions.FrameworkInstallation? GetLatest(int clrVersion) { } + } + public class FrameworkInstallation + { + public FrameworkInstallation() { } + public Sentry.PlatformAbstractions.FrameworkProfile? Profile { get; set; } + public int? Release { get; set; } + public int? ServicePack { get; set; } + public string? ShortName { get; set; } + public System.Version? Version { get; set; } + public override string ToString() { } + } + public enum FrameworkProfile + { + Client = 0, + Full = 1, + } + public class Runtime + { + public Runtime(string? name = null, string? version = null, Sentry.PlatformAbstractions.FrameworkInstallation? frameworkInstallation = null, string? raw = null) { } + public Sentry.PlatformAbstractions.FrameworkInstallation FrameworkInstallation { get; } + public string? Name { get; } + public string? Raw { get; } + public string? Version { get; } + public static Sentry.PlatformAbstractions.Runtime Current { get; } + public bool Equals(Sentry.PlatformAbstractions.Runtime other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string? ToString() { } + } + public static class RuntimeExtensions + { + public static bool IsMono(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetCore(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetFx(this Sentry.PlatformAbstractions.Runtime runtime) { } + } +} +namespace Sentry.Protocol +{ + public sealed class App : Sentry.IJsonSerializable + { + public const string Type = "app"; + public App() { } + public string? Build { get; set; } + public string? BuildType { get; set; } + public string? Hash { get; set; } + public string? Identifier { get; set; } + public string? Name { get; set; } + public System.DateTimeOffset? StartTime { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.App FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Browser : Sentry.IJsonSerializable + { + public const string Type = "browser"; + public Browser() { } + public string? Name { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Browser FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Device : Sentry.IJsonSerializable + { + public const string Type = "device"; + public Device() { } + public string? Architecture { get; set; } + public short? BatteryLevel { get; set; } + public string? BatteryStatus { get; set; } + public System.DateTimeOffset? BootTime { get; set; } + public string? Brand { get; set; } + public string? CpuDescription { get; set; } + public string? DeviceType { get; set; } + public string? DeviceUniqueIdentifier { get; set; } + public long? ExternalFreeStorage { get; set; } + public long? ExternalStorageSize { get; set; } + public string? Family { get; set; } + public long? FreeMemory { get; set; } + public long? FreeStorage { get; set; } + public bool? IsCharging { get; set; } + public bool? IsOnline { get; set; } + public bool? LowMemory { get; set; } + public string? Manufacturer { get; set; } + public long? MemorySize { get; set; } + public string? Model { get; set; } + public string? ModelId { get; set; } + public string? Name { get; set; } + public Sentry.Protocol.DeviceOrientation? Orientation { get; set; } + public int? ProcessorCount { get; set; } + public int? ProcessorFrequency { get; set; } + public float? ScreenDensity { get; set; } + public int? ScreenDpi { get; set; } + public string? ScreenResolution { get; set; } + public bool? Simulator { get; set; } + public long? StorageSize { get; set; } + public bool? SupportsAccelerometer { get; set; } + public bool? SupportsAudio { get; set; } + public bool? SupportsGyroscope { get; set; } + public bool? SupportsLocationService { get; set; } + public bool? SupportsVibration { get; set; } + public System.TimeZoneInfo? Timezone { get; set; } + public long? UsableMemory { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Device FromJson(System.Text.Json.JsonElement json) { } + } + public enum DeviceOrientation + { + [System.Runtime.Serialization.EnumMember(Value="portrait")] + Portrait = 0, + [System.Runtime.Serialization.EnumMember(Value="landscape")] + Landscape = 1, + } + public sealed class Gpu : Sentry.IJsonSerializable + { + public const string Type = "gpu"; + public Gpu() { } + public string? ApiType { get; set; } + public string? GraphicsShaderLevel { get; set; } + public int? Id { get; set; } + public int? MaxTextureSize { get; set; } + public int? MemorySize { get; set; } + public bool? MultiThreadedRendering { get; set; } + public string? Name { get; set; } + public string? NpotSupport { get; set; } + public bool? SupportsComputeShaders { get; set; } + public bool? SupportsDrawCallInstancing { get; set; } + public bool? SupportsGeometryShaders { get; set; } + public bool? SupportsRayTracing { get; set; } + public string? VendorId { get; set; } + public string? VendorName { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Gpu FromJson(System.Text.Json.JsonElement json) { } + } + public interface ITraceContext + { + string? Description { get; } + bool? IsSampled { get; } + string Operation { get; } + Sentry.SpanId? ParentSpanId { get; } + Sentry.SpanId SpanId { get; } + Sentry.SpanStatus? Status { get; } + Sentry.SentryId TraceId { get; } + } + public sealed class Mechanism : Sentry.IJsonSerializable + { + public static readonly string HandledKey; + public static readonly string MechanismKey; + public Mechanism() { } + public System.Collections.Generic.IDictionary Data { get; } + public string? Description { get; set; } + public bool? Handled { get; set; } + public string? HelpLink { get; set; } + public System.Collections.Generic.IDictionary Meta { get; } + public string? Type { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Mechanism FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class OperatingSystem : Sentry.IJsonSerializable + { + public const string Type = "os"; + public OperatingSystem() { } + public string? Build { get; set; } + public string? KernelVersion { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public bool? Rooted { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.OperatingSystem FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Runtime : Sentry.IJsonSerializable + { + public const string Type = "runtime"; + public Runtime() { } + public string? Build { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public string? Version { get; set; } + public Sentry.Protocol.Runtime Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Runtime FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryException : Sentry.IJsonSerializable + { + public SentryException() { } + public System.Collections.Generic.IDictionary Data { get; } + public Sentry.Protocol.Mechanism? Mechanism { get; set; } + public string? Module { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public int ThreadId { get; set; } + public string? Type { get; set; } + public string? Value { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.SentryException FromJson(System.Text.Json.JsonElement json) { } + } + public class Trace : Sentry.IJsonSerializable, Sentry.Protocol.ITraceContext + { + public const string Type = "trace"; + public Trace() { } + public string? Description { get; set; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; set; } + public Sentry.SpanId SpanId { get; set; } + public Sentry.SpanStatus? Status { get; set; } + public Sentry.SentryId TraceId { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Trace FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Reflection +{ + public static class AssemblyExtensions + { + public static Sentry.SdkVersion GetNameAndVersion(this System.Reflection.Assembly asm) { } + } +} +public static class SentryExceptionExtensions +{ + public static void AddSentryContext(this System.Exception ex, string name, System.Collections.Generic.IReadOnlyDictionary data) { } + public static void AddSentryTag(this System.Exception ex, string name, string value) { } +} \ No newline at end of file diff --git a/test/Sentry.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt b/test/Sentry.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt new file mode 100644 index 0000000000..fde187b244 --- /dev/null +++ b/test/Sentry.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt @@ -0,0 +1,1301 @@ +[assembly: System.CLSCompliant(true)] +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName="")] +namespace Sentry +{ + [System.Diagnostics.DebuggerDisplay("{FileName}")] + public class Attachment + { + public Attachment(Sentry.AttachmentType type, Sentry.IAttachmentContent content, string fileName, string? contentType) { } + public Sentry.IAttachmentContent Content { get; } + public string? ContentType { get; } + public string FileName { get; } + public Sentry.AttachmentType Type { get; } + } + public enum AttachmentType + { + Default = 0, + Minidump = 1, + AppleCrashReport = 2, + UnrealContext = 3, + UnrealLogs = 4, + } + [System.Diagnostics.DebuggerDisplay("Message: {Message}, Type: {Type}")] + public sealed class Breadcrumb : Sentry.IJsonSerializable + { + public Breadcrumb(string message, string type, System.Collections.Generic.IReadOnlyDictionary? data = null, string? category = null, Sentry.BreadcrumbLevel level = 0) { } + public string? Category { get; } + public System.Collections.Generic.IReadOnlyDictionary? Data { get; } + public Sentry.BreadcrumbLevel Level { get; } + public string? Message { get; } + public System.DateTimeOffset Timestamp { get; } + public string? Type { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Breadcrumb FromJson(System.Text.Json.JsonElement json) { } + } + public enum BreadcrumbLevel + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = -1, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 0, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 1, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 2, + [System.Runtime.Serialization.EnumMember(Value="critical")] + Critical = 3, + } + public static class Constants + { + public const int DefaultMaxBreadcrumbs = 100; + public const string DisableSdkDsnValue = ""; + public const string Platform = "csharp"; + public const int ProtocolVersion = 7; + } + public sealed class Contexts : System.Collections.Concurrent.ConcurrentDictionary, Sentry.IJsonSerializable + { + public Contexts() { } + public Sentry.Protocol.App App { get; } + public Sentry.Protocol.Browser Browser { get; } + public Sentry.Protocol.Device Device { get; } + public Sentry.Protocol.Gpu Gpu { get; } + public Sentry.Protocol.OperatingSystem OperatingSystem { get; } + public Sentry.Protocol.Runtime Runtime { get; } + public Sentry.Protocol.Trace Trace { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Contexts FromJson(System.Text.Json.JsonElement json) { } + } + [System.Flags] + public enum DeduplicateMode + { + SameEvent = 1, + SameExceptionInstance = 2, + InnerException = 4, + AggregateException = 8, + All = 2147483647, + } + public class DefaultSentryScopeStateProcessor : Sentry.ISentryScopeStateProcessor + { + public DefaultSentryScopeStateProcessor() { } + public void Apply(Sentry.Scope scope, object state) { } + } + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.All)] + public class DsnAttribute : System.Attribute + { + public DsnAttribute(string dsn) { } + public string Dsn { get; } + } + public static class EventLikeExtensions + { + public static bool HasUser(this Sentry.IEventLike eventLike) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, System.Collections.Generic.IEnumerable fingerprint) { } + public static void SetFingerprint(this Sentry.IEventLike eventLike, params string[] fingerprint) { } + } + public class FileAttachmentContent : Sentry.IAttachmentContent + { + public FileAttachmentContent(string filePath) { } + public System.IO.Stream GetStream() { } + } + public static class HasBreadcrumbsExtensions + { + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category, string? type, System.ValueTuple? dataPair = default, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHasBreadcrumbs hasBreadcrumbs, System.DateTimeOffset? timestamp, string message, string? category = null, string? type = null, System.Collections.Generic.IReadOnlyDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + } + public static class HasExtraExtensions + { + public static void SetExtras(this Sentry.IHasExtra hasExtra, System.Collections.Generic.IEnumerable> values) { } + } + public static class HasTagsExtensions + { + public static void SetTags(this Sentry.IHasTags hasTags, System.Collections.Generic.IEnumerable> tags) { } + } + public static class HubExtensions + { + public static void AddBreadcrumb(this Sentry.IHub hub, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(this Sentry.IHub hub, Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void LockScope(this Sentry.IHub hub) { } + public static System.IDisposable PushAndLockScope(this Sentry.IHub hub) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(this Sentry.IHub hub, string name, string operation, string? description) { } + public static void UnlockScope(this Sentry.IHub hub) { } + } + public interface IAttachmentContent + { + System.IO.Stream GetStream(); + } + public interface IEventLike : Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + Sentry.Contexts Contexts { get; set; } + string? Environment { get; set; } + System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + Sentry.SentryLevel? Level { get; set; } + string? Platform { get; set; } + string? Release { get; set; } + Sentry.Request Request { get; set; } + Sentry.SdkVersion Sdk { get; } + string? TransactionName { get; set; } + Sentry.User User { get; set; } + } + public interface IHasBreadcrumbs + { + System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + } + public interface IHasExtra + { + System.Collections.Generic.IReadOnlyDictionary Extra { get; } + void SetExtra(string key, object? value); + } + public interface IHasTags + { + System.Collections.Generic.IReadOnlyDictionary Tags { get; } + void SetTag(string key, string value); + void UnsetTag(string key); + } + public interface IHub : Sentry.ISentryClient, Sentry.ISentryScopeManager + { + Sentry.SentryId LastEventId { get; } + void BindException(System.Exception exception, Sentry.ISpan span); + void EndSession(Sentry.SessionEndStatus status = 0); + Sentry.ISpan? GetSpan(); + Sentry.SentryTraceHeader? GetTraceHeader(); + void PauseSession(); + void ResumeSession(); + void StartSession(); + Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext); + } + public interface IJsonSerializable + { + void WriteTo(System.Text.Json.Utf8JsonWriter writer); + } + public interface IScopeObserver + { + void AddBreadcrumb(Sentry.Breadcrumb breadcrumb); + void SetExtra(string key, object? value); + void SetTag(string key, string value); + void SetUser(Sentry.User? user); + void UnsetTag(string key); + } + public interface ISentryClient + { + bool IsEnabled { get; } + Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null); + void CaptureSession(Sentry.SessionUpdate sessionUpdate); + void CaptureTransaction(Sentry.Transaction transaction); + void CaptureUserFeedback(Sentry.UserFeedback userFeedback); + System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout); + } + public interface ISentryScopeManager + { + void BindClient(Sentry.ISentryClient client); + void ConfigureScope(System.Action configureScope); + System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope); + System.IDisposable PushScope(); + System.IDisposable PushScope(TState state); + void WithScope(System.Action scopeCallback); + } + public interface ISentryScopeStateProcessor + { + void Apply(Sentry.Scope scope, object state); + } + public interface ISession + { + string? DistinctId { get; } + string? Environment { get; } + int ErrorCount { get; } + Sentry.SentryId Id { get; } + string? IpAddress { get; } + string Release { get; } + System.DateTimeOffset StartTimestamp { get; } + string? UserAgent { get; } + } + public interface ISpan : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + new string? Description { get; set; } + new string Operation { get; set; } + new Sentry.SpanStatus? Status { get; set; } + void Finish(); + void Finish(Sentry.SpanStatus status); + void Finish(System.Exception exception); + void Finish(System.Exception exception, Sentry.SpanStatus status); + Sentry.ISpan StartChild(string operation); + } + public interface ISpanContext : Sentry.Protocol.ITraceContext { } + public interface ISpanData : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + System.DateTimeOffset? EndTimestamp { get; } + bool IsFinished { get; } + System.DateTimeOffset StartTimestamp { get; } + Sentry.SentryTraceHeader GetTraceHeader(); + } + public interface ITransaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + new bool? IsParentSampled { get; set; } + new string Name { get; set; } + System.Collections.Generic.IReadOnlyCollection Spans { get; } + Sentry.ISpan? GetLastActiveSpan(); + } + public interface ITransactionContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + bool? IsParentSampled { get; } + string Name { get; } + } + public interface ITransactionData : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext { } + public sealed class Package : Sentry.IJsonSerializable + { + public Package(string name, string version) { } + public string Name { get; } + public string Version { get; } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Package FromJson(System.Text.Json.JsonElement json) { } + } + public enum ReportAssembliesMode + { + None = 0, + Version = 1, + InformationalVersion = 2, + } + public sealed class Request : Sentry.IJsonSerializable + { + public Request() { } + public string? Cookies { get; set; } + public object? Data { get; set; } + public System.Collections.Generic.IDictionary Env { get; } + public System.Collections.Generic.IDictionary Headers { get; } + public string? Method { get; set; } + public System.Collections.Generic.IDictionary Other { get; } + public string? QueryString { get; set; } + public string? Url { get; set; } + public Sentry.Request Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Request FromJson(System.Text.Json.JsonElement json) { } + } + public class Scope : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags + { + public Scope(Sentry.SentryOptions? options) { } + public System.Collections.Generic.IReadOnlyCollection Attachments { get; } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.ITransaction? Transaction { get; set; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddAttachment(Sentry.Attachment attachment) { } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Apply(Sentry.IEventLike other) { } + public void Apply(Sentry.Scope other) { } + public void Apply(object state) { } + public void ClearAttachments() { } + public Sentry.Scope Clone() { } + public Sentry.ISpan? GetSpan() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + } + public static class ScopeExtensions + { + public static void AddAttachment(this Sentry.Scope scope, string filePath, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, byte[] data, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddAttachment(this Sentry.Scope scope, System.IO.Stream stream, string fileName, Sentry.AttachmentType type = 0, string? contentType = null) { } + public static void AddEventProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessor(this Sentry.Scope scope, System.Func processor) { } + public static void AddEventProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionProcessor(this Sentry.Scope scope, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessors(this Sentry.Scope scope, System.Collections.Generic.IEnumerable processors) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.Scope scope) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.Scope scope) { } + } + public sealed class SdkVersion : Sentry.IJsonSerializable + { + public SdkVersion() { } + public string? Name { get; set; } + public System.Collections.Generic.IEnumerable Packages { get; } + public string? Version { get; set; } + public void AddPackage(string name, string version) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SdkVersion FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryClient : Sentry.ISentryClient, System.IDisposable + { + public SentryClient(Sentry.SentryOptions options) { } + public bool IsEnabled { get; } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent? @event, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void Dispose() { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + } + public static class SentryClientExtensions + { + public static Sentry.SentryId CaptureException(this Sentry.ISentryClient client, System.Exception ex) { } + public static Sentry.SentryId CaptureMessage(this Sentry.ISentryClient client, string message, Sentry.SentryLevel level = 1) { } + public static void CaptureUserFeedback(this Sentry.ISentryClient client, Sentry.SentryId eventId, string email, string comments, string? name = null) { } + } + [System.Diagnostics.DebuggerDisplay("{GetType().Name,nq}: {EventId,nq}")] + public sealed class SentryEvent : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable + { + public SentryEvent() { } + public SentryEvent(System.Exception? exception) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Exception? Exception { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public Sentry.SentryLevel? Level { get; set; } + public string? Logger { get; set; } + public Sentry.SentryMessage? Message { get; set; } + public System.Collections.Generic.IDictionary Modules { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public System.Collections.Generic.IEnumerable? SentryExceptions { get; set; } + public System.Collections.Generic.IEnumerable? SentryThreads { get; set; } + public string? ServerName { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public System.DateTimeOffset Timestamp { get; } + public string? TransactionName { get; set; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryEvent FromJson(System.Text.Json.JsonElement json) { } + } + public static class SentryEventExtensions { } + public class SentryHttpMessageHandler : System.Net.Http.DelegatingHandler + { + public SentryHttpMessageHandler() { } + public SentryHttpMessageHandler(Sentry.IHub hub) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler) { } + public SentryHttpMessageHandler(System.Net.Http.HttpMessageHandler innerHandler, Sentry.IHub hub) { } + protected override System.Threading.Tasks.Task SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { } + } + public readonly struct SentryId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SentryId Empty; + public SentryId(System.Guid guid) { } + public bool Equals(Sentry.SentryId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryId Create() { } + public static Sentry.SentryId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryId Parse(string value) { } + public static System.Guid op_Implicit(Sentry.SentryId sentryId) { } + public static Sentry.SentryId op_Implicit(System.Guid guid) { } + public static bool operator !=(Sentry.SentryId left, Sentry.SentryId right) { } + public static bool operator ==(Sentry.SentryId left, Sentry.SentryId right) { } + } + public enum SentryLevel : short + { + [System.Runtime.Serialization.EnumMember(Value="debug")] + Debug = 0, + [System.Runtime.Serialization.EnumMember(Value="info")] + Info = 1, + [System.Runtime.Serialization.EnumMember(Value="warning")] + Warning = 2, + [System.Runtime.Serialization.EnumMember(Value="error")] + Error = 3, + [System.Runtime.Serialization.EnumMember(Value="fatal")] + Fatal = 4, + } + public sealed class SentryMessage : Sentry.IJsonSerializable + { + public SentryMessage() { } + public string? Formatted { get; set; } + public string? Message { get; set; } + public System.Collections.Generic.IEnumerable? Params { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryMessage FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SentryMessage op_Implicit(string? message) { } + } + public class SentryOptions + { + public SentryOptions() { } + public bool AttachStacktrace { get; set; } + public bool AutoSessionTracking { get; set; } + public System.TimeSpan AutoSessionTrackingInterval { get; set; } + public System.Func? BeforeBreadcrumb { get; set; } + public System.Func? BeforeSend { get; set; } + public string? CacheDirectoryPath { get; set; } + public System.Action? ConfigureClient { get; set; } + public System.Func? CrashedLastRun { get; set; } + public System.Func? CreateHttpClientHandler { get; set; } + public bool Debug { get; set; } + public System.Net.DecompressionMethods DecompressionMethods { get; set; } + public Sentry.DeduplicateMode DeduplicateMode { get; set; } + public System.Collections.Generic.Dictionary DefaultTags { get; } + public Sentry.StartupTimeDetectionMode DetectStartupTime { get; set; } + public Sentry.SentryLevel DiagnosticLevel { get; set; } + public Sentry.Extensibility.IDiagnosticLogger? DiagnosticLogger { get; set; } + public string? Dsn { get; set; } + public bool EnableScopeSync { get; set; } + public string? Environment { get; set; } + public System.Net.IWebProxy? HttpProxy { get; set; } + public System.TimeSpan InitCacheFlushTimeout { get; set; } + public bool IsEnvironmentUser { get; set; } + public bool IsGlobalModeEnabled { get; set; } + public long MaxAttachmentSize { get; set; } + public int MaxBreadcrumbs { get; set; } + public int MaxCacheItems { get; set; } + public int MaxQueueItems { get; set; } + public string? Release { get; set; } + [System.Obsolete("Use ReportAssembliesMode instead", false)] + public bool ReportAssemblies { get; set; } + public Sentry.ReportAssembliesMode ReportAssembliesMode { get; set; } + public bool RequestBodyCompressionBuffered { get; set; } + public System.IO.Compression.CompressionLevel RequestBodyCompressionLevel { get; set; } + public float? SampleRate { get; set; } + public Sentry.IScopeObserver? ScopeObserver { get; set; } + public bool SendDefaultPii { get; set; } + public Sentry.ISentryScopeStateProcessor SentryScopeStateProcessor { get; set; } + public string? ServerName { get; set; } + public System.TimeSpan ShutdownTimeout { get; set; } + public Sentry.StackTraceMode StackTraceMode { get; set; } + public double TracesSampleRate { get; set; } + public System.Func? TracesSampler { get; set; } + } + public static class SentryOptionsExtensions + { + public static void AddEventProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventProcessor processor) { } + public static void AddEventProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddEventProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddExceptionFilter(this Sentry.SentryOptions options, Sentry.Extensibility.IExceptionFilter exceptionFilter) { } + public static void AddExceptionFilterForType(this Sentry.SentryOptions options) + where TException : System.Exception { } + public static void AddExceptionProcessor(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryEventExceptionProcessor processor) { } + public static void AddExceptionProcessorProvider(this Sentry.SentryOptions options, System.Func> processorProvider) { } + public static void AddExceptionProcessors(this Sentry.SentryOptions options, System.Collections.Generic.IEnumerable processors) { } + public static void AddInAppExclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddInAppInclude(this Sentry.SentryOptions options, string prefix) { } + public static void AddIntegration(this Sentry.SentryOptions options, Sentry.Integrations.ISdkIntegration integration) { } + public static void ApplyDefaultTags(this Sentry.SentryOptions options, Sentry.IHasTags hasTags) { } + public static void DisableAppDomainProcessExitFlush(this Sentry.SentryOptions options) { } + public static void DisableAppDomainUnhandledExceptionCapture(this Sentry.SentryOptions options) { } + public static void DisableDiagnosticSourceIntegration(this Sentry.SentryOptions options) { } + public static void DisableDuplicateEventDetection(this Sentry.SentryOptions options) { } + public static void DisableTaskUnobservedTaskExceptionCapture(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllEventProcessors(this Sentry.SentryOptions options) { } + public static System.Collections.Generic.IEnumerable GetAllExceptionProcessors(this Sentry.SentryOptions options) { } + public static Sentry.SentryOptions UseStackTraceFactory(this Sentry.SentryOptions options, Sentry.Extensibility.ISentryStackTraceFactory sentryStackTraceFactory) { } + } + public static class SentrySdk + { + public static bool IsEnabled { get; } + public static Sentry.SentryId LastEventId { get; } + public static void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public static void AddBreadcrumb(Sentry.Infrastructure.ISystemClock? clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? 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 CaptureEvent(Sentry.SentryEvent evt) { } + public static Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public static Sentry.SentryId CaptureException(System.Exception exception) { } + public static Sentry.SentryId CaptureMessage(string message, Sentry.SentryLevel level = 1) { } + public static void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public static void CaptureTransaction(Sentry.Transaction transaction) { } + public static void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public static void CaptureUserFeedback(Sentry.SentryId eventId, string email, string comments, string? name = null) { } + public static void Close() { } + public static void ConfigureScope(System.Action configureScope) { } + public static System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public static void EndSession(Sentry.SessionEndStatus status = 0) { } + public static System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public static Sentry.ISpan? GetSpan() { } + public static Sentry.SentryTraceHeader? GetTraceHeader() { } + public static System.IDisposable Init() { } + public static System.IDisposable Init(Sentry.SentryOptions options) { } + public static System.IDisposable Init(System.Action? configureOptions) { } + public static System.IDisposable Init(string? dsn) { } + public static void PauseSession() { } + public static System.IDisposable PushScope() { } + public static System.IDisposable PushScope(TState state) { } + public static void ResumeSession() { } + public static void StartSession() { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context) { } + public static Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public static Sentry.ITransaction StartTransaction(string name, string operation) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public static Sentry.ITransaction StartTransaction(string name, string operation, string? description) { } + public static void WithScope(System.Action scopeCallback) { } + } + public sealed class SentryStackFrame : Sentry.IJsonSerializable + { + public SentryStackFrame() { } + public string? AbsolutePath { get; set; } + public int? ColumnNumber { get; set; } + public string? ContextLine { get; set; } + public string? FileName { get; set; } + public System.Collections.Generic.IList FramesOmitted { get; } + public string? Function { get; set; } + public long ImageAddress { get; set; } + public bool? InApp { get; set; } + public string? InstructionAddress { get; set; } + public long? InstructionOffset { get; set; } + public int? LineNumber { get; set; } + public string? Module { get; set; } + public string? Package { get; set; } + public string? Platform { get; set; } + public System.Collections.Generic.IList PostContext { get; } + public System.Collections.Generic.IList PreContext { get; } + public long? SymbolAddress { get; set; } + public System.Collections.Generic.IDictionary Vars { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackFrame FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryStackTrace : Sentry.IJsonSerializable + { + public SentryStackTrace() { } + public System.Collections.Generic.IList Frames { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryStackTrace FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryThread : Sentry.IJsonSerializable + { + public SentryThread() { } + public bool? Crashed { get; set; } + public bool? Current { get; set; } + public int? Id { get; set; } + public string? Name { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SentryThread FromJson(System.Text.Json.JsonElement json) { } + } + public class SentryTraceHeader + { + public SentryTraceHeader(Sentry.SentryId traceId, Sentry.SpanId spanSpanId, bool? isSampled) { } + public bool? IsSampled { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SentryId TraceId { get; } + public override string ToString() { } + public static Sentry.SentryTraceHeader Parse(string value) { } + } + public sealed class SentryValues : Sentry.IJsonSerializable + { + public SentryValues(System.Collections.Generic.IEnumerable? values) { } + public System.Collections.Generic.IEnumerable Values { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + } + public class Session : Sentry.ISession + { + public Session(string? distinctId, string release, string? environment) { } + public string? DistinctId { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public string Release { get; } + public System.DateTimeOffset StartTimestamp { get; } + public string? UserAgent { get; } + public void ReportError() { } + } + public enum SessionEndStatus + { + Exited = 0, + Crashed = 1, + Abnormal = 2, + } + public class SessionUpdate : Sentry.IJsonSerializable, Sentry.ISession + { + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial) { } + public SessionUpdate(Sentry.SessionUpdate sessionUpdate, bool isInitial, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.ISession session, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public SessionUpdate(Sentry.SentryId id, string? distinctId, System.DateTimeOffset startTimestamp, string release, string? environment, string? ipAddress, string? userAgent, int errorCount, bool isInitial, System.DateTimeOffset timestamp, int sequenceNumber, Sentry.SessionEndStatus? endStatus) { } + public string? DistinctId { get; } + public System.TimeSpan Duration { get; } + public Sentry.SessionEndStatus? EndStatus { get; } + public string? Environment { get; } + public int ErrorCount { get; } + public Sentry.SentryId Id { get; } + public string? IpAddress { get; } + public bool IsInitial { get; } + public string Release { get; } + public int SequenceNumber { get; } + public System.DateTimeOffset StartTimestamp { get; } + public System.DateTimeOffset Timestamp { get; } + public string? UserAgent { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SessionUpdate FromJson(System.Text.Json.JsonElement json) { } + } + public class Span : Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public Span(Sentry.ISpan tracer) { } + public Span(Sentry.SpanId? parentSpanId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Span FromJson(System.Text.Json.JsonElement json) { } + } + public class SpanContext : Sentry.ISpanContext, Sentry.Protocol.ITraceContext + { + public SpanContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled) { } + public string? Description { get; } + public bool? IsSampled { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public Sentry.SpanStatus? Status { get; } + public Sentry.SentryId TraceId { get; } + } + public static class SpanExtensions + { + public static Sentry.ISpan StartChild(this Sentry.ISpan span, string operation, string? description) { } + } + public readonly struct SpanId : Sentry.IJsonSerializable, System.IEquatable + { + public static readonly Sentry.SpanId Empty; + public SpanId(string value) { } + public bool Equals(Sentry.SpanId other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string ToString() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.SpanId Create() { } + public static Sentry.SpanId FromJson(System.Text.Json.JsonElement json) { } + public static Sentry.SpanId Parse(string value) { } + public static string op_Implicit(Sentry.SpanId id) { } + public static bool operator !=(Sentry.SpanId left, Sentry.SpanId right) { } + public static bool operator ==(Sentry.SpanId left, Sentry.SpanId right) { } + } + public enum SpanStatus + { + Ok = 0, + DeadlineExceeded = 1, + Unauthenticated = 2, + PermissionDenied = 3, + NotFound = 4, + ResourceExhausted = 5, + InvalidArgument = 6, + Unimplemented = 7, + Unavailable = 8, + InternalError = 9, + UnknownError = 10, + Cancelled = 11, + AlreadyExists = 12, + FailedPrecondition = 13, + Aborted = 14, + OutOfRange = 15, + DataLoss = 16, + } + public class SpanTracer : Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.Protocol.ITraceContext + { + public SpanTracer(Sentry.IHub hub, Sentry.TransactionTracer transaction, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string operation) { } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public bool IsFinished { get; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public Sentry.SpanId SpanId { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public enum StackTraceMode + { + Original = 0, + Enhanced = 1, + } + public enum StartupTimeDetectionMode + { + None = 0, + Fast = 1, + Best = 2, + } + public class StreamAttachmentContent : Sentry.IAttachmentContent + { + public StreamAttachmentContent(System.IO.Stream stream) { } + public System.IO.Stream GetStream() { } + } + public class Transaction : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.IJsonSerializable, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public Transaction(Sentry.ITransaction tracer) { } + public Transaction(string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public Sentry.SentryId EventId { get; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; } + public string Operation { get; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public void UnsetTag(string key) { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Transaction FromJson(System.Text.Json.JsonElement json) { } + } + public class TransactionContext : Sentry.SpanContext, Sentry.ISpanContext, Sentry.ITransactionContext, Sentry.Protocol.ITraceContext + { + public TransactionContext(string name, string operation) { } + public TransactionContext(string name, string operation, Sentry.SentryTraceHeader traceHeader) { } + public TransactionContext(string name, string operation, bool? isSampled) { } + public TransactionContext(Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, bool? isParentSampled) { } + public TransactionContext(Sentry.SpanId spanId, Sentry.SpanId? parentSpanId, Sentry.SentryId traceId, string name, string operation, string? description, Sentry.SpanStatus? status, bool? isSampled, bool? isParentSampled) { } + public bool? IsParentSampled { get; } + public string Name { get; } + } + public class TransactionSamplingContext + { + public TransactionSamplingContext(Sentry.ITransactionContext transactionContext, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public System.Collections.Generic.IReadOnlyDictionary CustomSamplingContext { get; } + public Sentry.ITransactionContext TransactionContext { get; } + } + public class TransactionTracer : Sentry.IEventLike, Sentry.IHasBreadcrumbs, Sentry.IHasExtra, Sentry.IHasTags, Sentry.ISpan, Sentry.ISpanContext, Sentry.ISpanData, Sentry.ITransaction, Sentry.ITransactionContext, Sentry.ITransactionData, Sentry.Protocol.ITraceContext + { + public TransactionTracer(Sentry.IHub hub, Sentry.ITransactionContext context) { } + public TransactionTracer(Sentry.IHub hub, string name, string operation) { } + public System.Collections.Generic.IReadOnlyCollection Breadcrumbs { get; } + public Sentry.Contexts Contexts { get; set; } + public string? Description { get; set; } + public System.DateTimeOffset? EndTimestamp { get; } + public string? Environment { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Extra { get; } + public System.Collections.Generic.IReadOnlyList Fingerprint { get; set; } + public bool IsFinished { get; } + public bool? IsParentSampled { get; set; } + public bool? IsSampled { get; } + public Sentry.SentryLevel? Level { get; set; } + public string Name { get; set; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; } + public string? Platform { get; set; } + public string? Release { get; set; } + public Sentry.Request Request { get; set; } + public Sentry.SdkVersion Sdk { get; } + public Sentry.SpanId SpanId { get; } + public System.Collections.Generic.IReadOnlyCollection Spans { get; } + public System.DateTimeOffset StartTimestamp { get; } + public Sentry.SpanStatus? Status { get; set; } + public System.Collections.Generic.IReadOnlyDictionary Tags { get; } + public Sentry.SentryId TraceId { get; } + public Sentry.User User { get; set; } + public void AddBreadcrumb(Sentry.Breadcrumb breadcrumb) { } + public void Finish() { } + public void Finish(Sentry.SpanStatus status) { } + public void Finish(System.Exception exception) { } + public void Finish(System.Exception exception, Sentry.SpanStatus status) { } + public Sentry.ISpan? GetLastActiveSpan() { } + public Sentry.SentryTraceHeader GetTraceHeader() { } + public void SetExtra(string key, object? value) { } + public void SetTag(string key, string value) { } + public Sentry.ISpan StartChild(string operation) { } + public void UnsetTag(string key) { } + } + public sealed class User : Sentry.IJsonSerializable + { + public User() { } + public string? Email { get; set; } + public string? Id { get; set; } + public string? IpAddress { get; set; } + public System.Collections.Generic.IDictionary Other { get; set; } + public string? Username { get; set; } + public Sentry.User Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.User FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class UserFeedback : Sentry.IJsonSerializable + { + public UserFeedback(Sentry.SentryId eventId, string? name, string? email, string? comments) { } + public string? Comments { get; } + public string? Email { get; } + public Sentry.SentryId EventId { get; } + public string? Name { get; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.UserFeedback FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Extensibility +{ + public abstract class BaseRequestPayloadExtractor : Sentry.Extensibility.IRequestPayloadExtractor + { + protected BaseRequestPayloadExtractor() { } + protected abstract object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request); + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + protected abstract bool IsSupported(Sentry.Extensibility.IHttpRequest request); + } + public class DefaultRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public DefaultRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public static class DiagnosticLoggerExtensions + { + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogDebug(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, System.Exception exception, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogError(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception exception, TArg arg, TArg2 arg2, TArg3 arg3, TArg4 arg4) { } + public static void LogFatal(this Sentry.Extensibility.IDiagnosticLogger logger, string message, System.Exception? exception = null) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + public static void LogInfo(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2, TArg3 arg3) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg) { } + public static void LogWarning(this Sentry.Extensibility.IDiagnosticLogger logger, string message, TArg arg, TArg2 arg2) { } + } + public class DisabledHub : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager, System.IDisposable + { + public static readonly Sentry.Extensibility.DisabledHub Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope = null) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback userFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void Dispose() { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public class FormRequestPayloadExtractor : Sentry.Extensibility.BaseRequestPayloadExtractor + { + public FormRequestPayloadExtractor() { } + protected override object? DoExtractPayLoad(Sentry.Extensibility.IHttpRequest request) { } + protected override bool IsSupported(Sentry.Extensibility.IHttpRequest request) { } + } + public sealed class HubAdapter : Sentry.IHub, Sentry.ISentryClient, Sentry.ISentryScopeManager + { + public static readonly Sentry.Extensibility.HubAdapter Instance; + public bool IsEnabled { get; } + public Sentry.SentryId LastEventId { get; } + public void AddBreadcrumb(string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void AddBreadcrumb(Sentry.Infrastructure.ISystemClock clock, string message, string? category = null, string? type = null, System.Collections.Generic.IDictionary? data = null, Sentry.BreadcrumbLevel level = 0) { } + public void BindClient(Sentry.ISentryClient client) { } + public void BindException(System.Exception exception, Sentry.ISpan span) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt) { } + public Sentry.SentryId CaptureEvent(Sentry.SentryEvent evt, Sentry.Scope? scope) { } + public Sentry.SentryId CaptureException(System.Exception exception) { } + public void CaptureSession(Sentry.SessionUpdate sessionUpdate) { } + public void CaptureTransaction(Sentry.Transaction transaction) { } + public void CaptureUserFeedback(Sentry.UserFeedback sentryUserFeedback) { } + public void ConfigureScope(System.Action configureScope) { } + public System.Threading.Tasks.Task ConfigureScopeAsync(System.Func configureScope) { } + public void EndSession(Sentry.SessionEndStatus status = 0) { } + public System.Threading.Tasks.Task FlushAsync(System.TimeSpan timeout) { } + public Sentry.ISpan? GetSpan() { } + public Sentry.SentryTraceHeader? GetTraceHeader() { } + public void PauseSession() { } + public System.IDisposable PushScope() { } + public System.IDisposable PushScope(TState state) { } + public void ResumeSession() { } + public void StartSession() { } + public Sentry.ITransaction StartTransaction(Sentry.ITransactionContext context, System.Collections.Generic.IReadOnlyDictionary customSamplingContext) { } + public void WithScope(System.Action scopeCallback) { } + } + public interface IDiagnosticLogger + { + bool IsEnabled(Sentry.SentryLevel level); + void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args); + } + public interface IExceptionFilter + { + bool Filter(System.Exception ex); + } + public interface IHttpRequest + { + System.IO.Stream? Body { get; } + long? ContentLength { get; } + string? ContentType { get; } + System.Collections.Generic.IEnumerable>>? Form { get; } + } + public interface IRequestPayloadExtractor + { + object? ExtractPayload(Sentry.Extensibility.IHttpRequest request); + } + public interface ISentryEventExceptionProcessor + { + void Process(System.Exception exception, Sentry.SentryEvent sentryEvent); + } + public interface ISentryEventProcessor + { + Sentry.SentryEvent? Process(Sentry.SentryEvent @event); + } + public interface ISentryStackTraceFactory + { + Sentry.SentryStackTrace? Create(System.Exception? exception = null); + } + public class RequestBodyExtractionDispatcher : Sentry.Extensibility.IRequestPayloadExtractor + { + public RequestBodyExtractionDispatcher(System.Collections.Generic.IEnumerable extractors, Sentry.SentryOptions options, System.Func sizeSwitch) { } + public object? ExtractPayload(Sentry.Extensibility.IHttpRequest request) { } + } + public enum RequestSize + { + None = 0, + Small = 1, + Medium = 2, + Always = 3, + } + public abstract class SentryEventExceptionProcessor : Sentry.Extensibility.ISentryEventExceptionProcessor + where TException : System.Exception + { + protected SentryEventExceptionProcessor() { } + public void Process(System.Exception? exception, Sentry.SentryEvent sentryEvent) { } + protected abstract void ProcessException(TException exception, Sentry.SentryEvent sentryEvent); + } + public class SentryStackTraceFactory : Sentry.Extensibility.ISentryStackTraceFactory + { + public SentryStackTraceFactory(Sentry.SentryOptions options) { } + public virtual Sentry.SentryStackTrace? Create(System.Exception? exception = null) { } + protected virtual Sentry.SentryStackFrame CreateFrame(System.Diagnostics.StackFrame stackFrame, bool isCurrentStackTrace) { } + protected virtual System.Diagnostics.StackTrace CreateStackTrace(System.Exception? exception) { } + protected virtual System.Reflection.MethodBase? GetMethod(System.Diagnostics.StackFrame stackFrame) { } + protected Sentry.SentryStackFrame InternalCreateFrame(System.Diagnostics.StackFrame stackFrame, bool demangle) { } + } +} +namespace Sentry.Http +{ + public interface ISentryHttpClientFactory + { + System.Net.Http.HttpClient Create(Sentry.SentryOptions options); + } +} +namespace Sentry.Infrastructure +{ + public class ConsoleDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public ConsoleDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + [System.Obsolete("Logger doesn\'t work outside of Sentry SDK. Please use TraceDiagnosticLogger inste" + + "ad")] + public class DebugDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public DebugDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } + public interface ISystemClock + { + System.DateTimeOffset GetUtcNow(); + } + public sealed class SystemClock : Sentry.Infrastructure.ISystemClock + { + public static readonly Sentry.Infrastructure.SystemClock Clock; + public SystemClock() { } + public System.DateTimeOffset GetUtcNow() { } + } + public class TraceDiagnosticLogger : Sentry.Extensibility.IDiagnosticLogger + { + public TraceDiagnosticLogger(Sentry.SentryLevel minimalLevel) { } + public bool IsEnabled(Sentry.SentryLevel level) { } + public void Log(Sentry.SentryLevel logLevel, string message, System.Exception? exception = null, params object?[] args) { } + } +} +namespace Sentry.Integrations +{ + public interface ISdkIntegration + { + void Register(Sentry.IHub hub, Sentry.SentryOptions options); + } +} +namespace Sentry.PlatformAbstractions +{ + public static class FrameworkInfo + { + public static System.Collections.Generic.IReadOnlyDictionary NetFxReleaseVersionMap { get; } + public static System.Collections.Generic.IEnumerable GetInstallations() { } + public static Sentry.PlatformAbstractions.FrameworkInstallation? GetLatest(int clr) { } + } + public class FrameworkInstallation + { + public FrameworkInstallation() { } + public Sentry.PlatformAbstractions.FrameworkProfile? Profile { get; set; } + public int? Release { get; set; } + public int? ServicePack { get; set; } + public string? ShortName { get; set; } + public System.Version? Version { get; set; } + public override string ToString() { } + } + public enum FrameworkProfile + { + Client = 0, + Full = 1, + } + public class Runtime + { + public Runtime(string? name = null, string? version = null, string? raw = null) { } + public string? Name { get; } + public string? Raw { get; } + public string? Version { get; } + public static Sentry.PlatformAbstractions.Runtime Current { get; } + public bool Equals(Sentry.PlatformAbstractions.Runtime other) { } + public override bool Equals(object? obj) { } + public override int GetHashCode() { } + public override string? ToString() { } + } + public static class RuntimeExtensions + { + public static bool IsMono(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetCore(this Sentry.PlatformAbstractions.Runtime runtime) { } + public static bool IsNetFx(this Sentry.PlatformAbstractions.Runtime runtime) { } + } +} +namespace Sentry.Protocol +{ + public sealed class App : Sentry.IJsonSerializable + { + public const string Type = "app"; + public App() { } + public string? Build { get; set; } + public string? BuildType { get; set; } + public string? Hash { get; set; } + public string? Identifier { get; set; } + public string? Name { get; set; } + public System.DateTimeOffset? StartTime { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.App FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Browser : Sentry.IJsonSerializable + { + public const string Type = "browser"; + public Browser() { } + public string? Name { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Browser FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Device : Sentry.IJsonSerializable + { + public const string Type = "device"; + public Device() { } + public string? Architecture { get; set; } + public short? BatteryLevel { get; set; } + public string? BatteryStatus { get; set; } + public System.DateTimeOffset? BootTime { get; set; } + public string? Brand { get; set; } + public string? CpuDescription { get; set; } + public string? DeviceType { get; set; } + public string? DeviceUniqueIdentifier { get; set; } + public long? ExternalFreeStorage { get; set; } + public long? ExternalStorageSize { get; set; } + public string? Family { get; set; } + public long? FreeMemory { get; set; } + public long? FreeStorage { get; set; } + public bool? IsCharging { get; set; } + public bool? IsOnline { get; set; } + public bool? LowMemory { get; set; } + public string? Manufacturer { get; set; } + public long? MemorySize { get; set; } + public string? Model { get; set; } + public string? ModelId { get; set; } + public string? Name { get; set; } + public Sentry.Protocol.DeviceOrientation? Orientation { get; set; } + public int? ProcessorCount { get; set; } + public int? ProcessorFrequency { get; set; } + public float? ScreenDensity { get; set; } + public int? ScreenDpi { get; set; } + public string? ScreenResolution { get; set; } + public bool? Simulator { get; set; } + public long? StorageSize { get; set; } + public bool? SupportsAccelerometer { get; set; } + public bool? SupportsAudio { get; set; } + public bool? SupportsGyroscope { get; set; } + public bool? SupportsLocationService { get; set; } + public bool? SupportsVibration { get; set; } + public System.TimeZoneInfo? Timezone { get; set; } + public long? UsableMemory { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Device FromJson(System.Text.Json.JsonElement json) { } + } + public enum DeviceOrientation + { + [System.Runtime.Serialization.EnumMember(Value="portrait")] + Portrait = 0, + [System.Runtime.Serialization.EnumMember(Value="landscape")] + Landscape = 1, + } + public sealed class Gpu : Sentry.IJsonSerializable + { + public const string Type = "gpu"; + public Gpu() { } + public string? ApiType { get; set; } + public string? GraphicsShaderLevel { get; set; } + public int? Id { get; set; } + public int? MaxTextureSize { get; set; } + public int? MemorySize { get; set; } + public bool? MultiThreadedRendering { get; set; } + public string? Name { get; set; } + public string? NpotSupport { get; set; } + public bool? SupportsComputeShaders { get; set; } + public bool? SupportsDrawCallInstancing { get; set; } + public bool? SupportsGeometryShaders { get; set; } + public bool? SupportsRayTracing { get; set; } + public string? VendorId { get; set; } + public string? VendorName { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Gpu FromJson(System.Text.Json.JsonElement json) { } + } + public interface ITraceContext + { + string? Description { get; } + bool? IsSampled { get; } + string Operation { get; } + Sentry.SpanId? ParentSpanId { get; } + Sentry.SpanId SpanId { get; } + Sentry.SpanStatus? Status { get; } + Sentry.SentryId TraceId { get; } + } + public sealed class Mechanism : Sentry.IJsonSerializable + { + public static readonly string HandledKey; + public static readonly string MechanismKey; + public Mechanism() { } + public System.Collections.Generic.IDictionary Data { get; } + public string? Description { get; set; } + public bool? Handled { get; set; } + public string? HelpLink { get; set; } + public System.Collections.Generic.IDictionary Meta { get; } + public string? Type { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Mechanism FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class OperatingSystem : Sentry.IJsonSerializable + { + public const string Type = "os"; + public OperatingSystem() { } + public string? Build { get; set; } + public string? KernelVersion { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public bool? Rooted { get; set; } + public string? Version { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.OperatingSystem FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class Runtime : Sentry.IJsonSerializable + { + public const string Type = "runtime"; + public Runtime() { } + public string? Build { get; set; } + public string? Name { get; set; } + public string? RawDescription { get; set; } + public string? Version { get; set; } + public Sentry.Protocol.Runtime Clone() { } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Runtime FromJson(System.Text.Json.JsonElement json) { } + } + public sealed class SentryException : Sentry.IJsonSerializable + { + public SentryException() { } + public System.Collections.Generic.IDictionary Data { get; } + public Sentry.Protocol.Mechanism? Mechanism { get; set; } + public string? Module { get; set; } + public Sentry.SentryStackTrace? Stacktrace { get; set; } + public int ThreadId { get; set; } + public string? Type { get; set; } + public string? Value { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.SentryException FromJson(System.Text.Json.JsonElement json) { } + } + public class Trace : Sentry.IJsonSerializable, Sentry.Protocol.ITraceContext + { + public const string Type = "trace"; + public Trace() { } + public string? Description { get; set; } + public bool? IsSampled { get; } + public string Operation { get; set; } + public Sentry.SpanId? ParentSpanId { get; set; } + public Sentry.SpanId SpanId { get; set; } + public Sentry.SpanStatus? Status { get; set; } + public Sentry.SentryId TraceId { get; set; } + public void WriteTo(System.Text.Json.Utf8JsonWriter writer) { } + public static Sentry.Protocol.Trace FromJson(System.Text.Json.JsonElement json) { } + } +} +namespace Sentry.Reflection +{ + public static class AssemblyExtensions + { + public static Sentry.SdkVersion GetNameAndVersion(this System.Reflection.Assembly asm) { } + } +} +public static class SentryExceptionExtensions +{ + public static void AddSentryContext(this System.Exception ex, string name, System.Collections.Generic.IReadOnlyDictionary data) { } + public static void AddSentryTag(this System.Exception ex, string name, string value) { } +} \ No newline at end of file diff --git a/test/Sentry.Tests/ApiApprovalTests.cs b/test/Sentry.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..1d79f77c7b --- /dev/null +++ b/test/Sentry.Tests/ApiApprovalTests.cs @@ -0,0 +1,16 @@ +using System.Threading.Tasks; +using VerifyXunit; +using Xunit; + +namespace Sentry.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentrySdk).Assembly.CheckApproval(); + } + } +} diff --git a/test/Sentry.Tests/Sentry.Tests.csproj b/test/Sentry.Tests/Sentry.Tests.csproj index 37e5885ffc..087190ffae 100644 --- a/test/Sentry.Tests/Sentry.Tests.csproj +++ b/test/Sentry.Tests/Sentry.Tests.csproj @@ -16,10 +16,6 @@ - - - - diff --git a/test/Sentry.Tunnel.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt b/test/Sentry.Tunnel.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt new file mode 100644 index 0000000000..9f2285dd7a --- /dev/null +++ b/test/Sentry.Tunnel.Tests/ApiApprovalTests.Run.DotNet3_1.verified.txt @@ -0,0 +1,14 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v3.1", FrameworkDisplayName="")] +namespace Sentry.Tunnel +{ + public class SentryTunnelMiddleware : Microsoft.AspNetCore.Http.IMiddleware + { + public SentryTunnelMiddleware(string[] allowedHosts) { } + public System.Threading.Tasks.Task InvokeAsync(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Http.RequestDelegate next) { } + } + public static class SentryTunnelingApplicationBuilderExtensions + { + public static void AddSentryTunneling(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, params string[] hostnames) { } + public static void UseSentryTunneling(this Microsoft.AspNetCore.Builder.IApplicationBuilder builder, string path = "/tunnel") { } + } +} \ No newline at end of file diff --git a/test/Sentry.Tunnel.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt b/test/Sentry.Tunnel.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt new file mode 100644 index 0000000000..e9e4818996 --- /dev/null +++ b/test/Sentry.Tunnel.Tests/ApiApprovalTests.Run.DotNet5_0.verified.txt @@ -0,0 +1,14 @@ +[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName="")] +namespace Sentry.Tunnel +{ + public class SentryTunnelMiddleware : Microsoft.AspNetCore.Http.IMiddleware + { + public SentryTunnelMiddleware(string[] allowedHosts) { } + public System.Threading.Tasks.Task InvokeAsync(Microsoft.AspNetCore.Http.HttpContext context, Microsoft.AspNetCore.Http.RequestDelegate next) { } + } + public static class SentryTunnelingApplicationBuilderExtensions + { + public static void AddSentryTunneling(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, params string[] hostnames) { } + public static void UseSentryTunneling(this Microsoft.AspNetCore.Builder.IApplicationBuilder builder, string path = "/tunnel") { } + } +} \ No newline at end of file diff --git a/test/Sentry.Tunnel.Tests/ApiApprovalTests.cs b/test/Sentry.Tunnel.Tests/ApiApprovalTests.cs new file mode 100644 index 0000000000..8d333835c6 --- /dev/null +++ b/test/Sentry.Tunnel.Tests/ApiApprovalTests.cs @@ -0,0 +1,17 @@ +using System.Threading.Tasks; +using Sentry.Tests; +using VerifyXunit; +using Xunit; + +namespace Sentry.Tunnel.Tests +{ + [UsesVerify] + public class ApiApprovalTests + { + [Fact] + public Task Run() + { + return typeof(SentryTunnelMiddleware).Assembly.CheckApproval(); + } + } +} From 5f5ef4a24c7927fe1e1b271dce8738b303c2ffe9 Mon Sep 17 00:00:00 2001 From: Simon Cropp Date: Tue, 12 Oct 2021 10:44:33 +1100 Subject: [PATCH 2/2] Update Sentry.Samples.GenericHost (#1252) --- samples/Sentry.Samples.GenericHost/Program.cs | 84 ++++--------------- .../SampleHostedService.cs | 52 ++++++++++++ .../Sentry.Samples.GenericHost.csproj | 16 ++-- 3 files changed, 74 insertions(+), 78 deletions(-) create mode 100644 samples/Sentry.Samples.GenericHost/SampleHostedService.cs diff --git a/samples/Sentry.Samples.GenericHost/Program.cs b/samples/Sentry.Samples.GenericHost/Program.cs index b932e004d3..ff2163d64e 100644 --- a/samples/Sentry.Samples.GenericHost/Program.cs +++ b/samples/Sentry.Samples.GenericHost/Program.cs @@ -1,76 +1,22 @@ -using System; using System.IO; -using System.Threading; -using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; -using Sentry; -internal static class Program -{ - public static Task Main() - => new HostBuilder() - .ConfigureHostConfiguration(c => - { - c.SetBasePath(Directory.GetCurrentDirectory()); - c.AddJsonFile("appsettings.json", optional: false); - }) - .ConfigureServices((_, s) => { s.AddHostedService(); }) - .ConfigureLogging((c, l) => - { - l.AddConfiguration(c.Configuration); - l.AddConsole(); - l.AddSentry(); - }) - .UseConsoleLifetime() - .Build() - .RunAsync(); - - internal class SampleHostedService : IHostedService +await Host.CreateDefaultBuilder() + .ConfigureHostConfiguration(c => { - private readonly IHub _hub; - private readonly ILogger _logger; - - public SampleHostedService(IHub hub, ILogger logger) - { - _hub = hub; - _logger = logger; - } - - public Task StartAsync(CancellationToken cancellationToken) - { - // Logging integration by default keeps informational logs as Breadcrumb - _logger.LogInformation("Starting sample hosted service. This goes as a breadcrumb"); - // You can also add breadcrumb directly through Sentry.Hub: - _hub.AddBreadcrumb("Breadcrumb added directly to Sentry Hub") - ; - // Hub allows total control of the scope - _hub.ConfigureScope(s => s.SetTag("Worker", nameof(SampleHostedService))); - - // By default Error and Critical log messages are sent to sentry as events - _logger.LogError("An event sent to sentry."); - - return Task.Run(() => - { - try - { - var zero = 0; - _ = 10 / zero; // Throws DivideByZeroException - } - catch (Exception e) - { - // Direct control of capturing errors with Sentry - _hub.CaptureException(e); - } - }, cancellationToken); - } - - public Task StopAsync(CancellationToken cancellationToken) - { - _logger.LogInformation("Stopping sample hosted service."); - return Task.CompletedTask; - } - } -} + c.SetBasePath(Directory.GetCurrentDirectory()); + c.AddJsonFile("appsettings.json", optional: false); + }) + .ConfigureServices((_, s) => s.AddHostedService()) + .ConfigureLogging((c, l) => + { + l.AddConfiguration(c.Configuration); + l.AddConsole(); + l.AddSentry(); + }) + .UseConsoleLifetime() + .Build() + .RunAsync(); diff --git a/samples/Sentry.Samples.GenericHost/SampleHostedService.cs b/samples/Sentry.Samples.GenericHost/SampleHostedService.cs new file mode 100644 index 0000000000..aa38d05544 --- /dev/null +++ b/samples/Sentry.Samples.GenericHost/SampleHostedService.cs @@ -0,0 +1,52 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using Sentry; + +internal class SampleHostedService : IHostedService +{ + private readonly IHub _hub; + private readonly ILogger _logger; + + public SampleHostedService(IHub hub, ILogger logger) + { + _hub = hub; + _logger = logger; + } + + public Task StartAsync(CancellationToken cancellationToken) + { + // Logging integration by default keeps informational logs as Breadcrumb + _logger.LogInformation("Starting sample hosted service. This goes as a breadcrumb"); + // You can also add breadcrumb directly through Sentry.Hub: + _hub.AddBreadcrumb("Breadcrumb added directly to Sentry Hub") + ; + // Hub allows total control of the scope + _hub.ConfigureScope(s => s.SetTag("Worker", nameof(SampleHostedService))); + + // By default Error and Critical log messages are sent to sentry as events + _logger.LogError("An event sent to sentry."); + + return Task.Run(() => + { + try + { + var zero = 0; + _ = 10 / zero; // Throws DivideByZeroException + } + catch (Exception e) + { + // Direct control of capturing errors with Sentry + _hub.CaptureException(e); + } + }, cancellationToken); + } + + public Task StopAsync(CancellationToken cancellationToken) + { + _logger.LogInformation("Stopping sample hosted service."); + return Task.CompletedTask; + } +} diff --git a/samples/Sentry.Samples.GenericHost/Sentry.Samples.GenericHost.csproj b/samples/Sentry.Samples.GenericHost/Sentry.Samples.GenericHost.csproj index 5130781587..e088b5aefa 100644 --- a/samples/Sentry.Samples.GenericHost/Sentry.Samples.GenericHost.csproj +++ b/samples/Sentry.Samples.GenericHost/Sentry.Samples.GenericHost.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.1 + net5 @@ -13,14 +13,12 @@ - - - - - - - - + + + + + +