diff --git a/.craft.yml b/.craft.yml
index cade1b38f6..0453b46dbe 100644
--- a/.craft.yml
+++ b/.craft.yml
@@ -10,7 +10,6 @@ targets:
nuget:Sentry.AspNetCore.Grpc:
nuget:Sentry.AspNetCore.Blazor.WebAssembly:
nuget:Sentry.AspNet:
- nuget:Sentry.Azure.Functions.Worker:
nuget:Sentry.DiagnosticSource:
nuget:Sentry.EntityFramework:
nuget:Sentry.Extensions.Logging:
diff --git a/.generated.NoMobile.sln b/.generated.NoMobile.sln
index 41c02e6c1e..d5e24c17e9 100644
--- a/.generated.NoMobile.sln
+++ b/.generated.NoMobile.sln
@@ -25,7 +25,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.AspNetCore.S
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.Aws.Lambda.AspNetCoreServer", "samples\Sentry.Samples.Aws.Lambda.AspNetCoreServer\Sentry.Samples.Aws.Lambda.AspNetCoreServer.csproj", "{50116F9A-646D-4BF7-9760-66E37CB9C459}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.Azure.Functions.Worker", "samples\Sentry.Samples.Azure.Functions.Worker\Sentry.Samples.Azure.Functions.Worker.csproj", "{1F44075F-ABD6-49A4-8EA1-DBB70304AD24}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.OpenTelemetry.AzureFunctions", "samples\Sentry.Samples.OpenTelemetry.AzureFunctions\Sentry.Samples.OpenTelemetry.AzureFunctions.csproj", "{1F44075F-ABD6-49A4-8EA1-DBB70304AD24}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.Console.Basic", "samples\Sentry.Samples.Console.Basic\Sentry.Samples.Console.Basic.csproj", "{B793249D-3E52-4B0D-964F-BC022CD8A753}"
EndProject
@@ -75,8 +75,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.AspNetCore.Grpc", "s
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.AspNetCore", "src\Sentry.AspNetCore\Sentry.AspNetCore.csproj", "{4B323BCC-0E8D-43CE-9AC2-4B708278C7C2}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Azure.Functions.Worker", "src\Sentry.Azure.Functions.Worker\Sentry.Azure.Functions.Worker.csproj", "{52262FBB-40D0-4F08-B00F-B298185FF6BD}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Bindings.Android", "src\Sentry.Bindings.Android\Sentry.Bindings.Android.csproj", "{759D9E53-4717-491D-9970-B3A3367C65E7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Bindings.Cocoa", "src\Sentry.Bindings.Cocoa\Sentry.Bindings.Cocoa.csproj", "{33336B98-A69E-4F28-A71A-1D8753F3BA24}"
@@ -121,8 +119,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.AspNetCore.TestUtils
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.AspNetCore.Tests", "test\Sentry.AspNetCore.Tests\Sentry.AspNetCore.Tests.csproj", "{6D9EB590-CED1-47C2-87B1-E65EE0EEBB9E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Azure.Functions.Worker.Tests", "test\Sentry.Azure.Functions.Worker.Tests\Sentry.Azure.Functions.Worker.Tests.csproj", "{39F7BB08-908B-49F9-A96B-E14C16B69090}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.DiagnosticSource.IntegrationTests", "test\Sentry.DiagnosticSource.IntegrationTests\Sentry.DiagnosticSource.IntegrationTests.csproj", "{59742E7E-4380-4B40-BCC8-5AB314290198}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.DiagnosticSource.Tests", "test\Sentry.DiagnosticSource.Tests\Sentry.DiagnosticSource.Tests.csproj", "{6222BF96-2F1F-42DA-AF43-388B20151A5A}"
@@ -209,6 +205,77 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Compiler.Extensions.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Maui.CommunityToolkit.Mvvm.Tests", "test\Sentry.Maui.CommunityToolkit.Mvvm.Tests\Sentry.Maui.CommunityToolkit.Mvvm.Tests.csproj", "{ADC91A84-6054-42EC-8241-0D717E4C7194}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{A8A97D6A-02C0-4808-9D62-DFFAB324A323}"
+ ProjectSection(SolutionItems) = preProject
+ scripts\update-cli.ps1 = scripts\update-cli.ps1
+ scripts\bump-version.sh = scripts\bump-version.sh
+ scripts\device-test.ps1 = scripts\device-test.ps1
+ scripts\dirty-check.ps1 = scripts\dirty-check.ps1
+ scripts\update-java.ps1 = scripts\update-java.ps1
+ scripts\bump-version.ps1 = scripts\bump-version.ps1
+ scripts\parse-xunit2-xml.ps1 = scripts\parse-xunit2-xml.ps1
+ scripts\build-sentry-cocoa.sh = scripts\build-sentry-cocoa.sh
+ scripts\update-project-xml.ps1 = scripts\update-project-xml.ps1
+ scripts\build-sentry-native.ps1 = scripts\build-sentry-native.ps1
+ scripts\ios-simulator-utils.ps1 = scripts\ios-simulator-utils.ps1
+ scripts\commit-formatted-code.sh = scripts\commit-formatted-code.sh
+ scripts\accept-verifier-changes.ps1 = scripts\accept-verifier-changes.ps1
+ scripts\generate-cocoa-bindings.ps1 = scripts\generate-cocoa-bindings.ps1
+ scripts\generate-solution-filters.ps1 = scripts\generate-solution-filters.ps1
+ scripts\generate-solution-filters-config.yaml = scripts\generate-solution-filters-config.yaml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{EC6ADE8A-E557-4848-8F03-519039830B5F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{BFF081D8-7CC0-4069-99F5-5CA0D70B56AB}"
+ ProjectSection(SolutionItems) = preProject
+ .github\workflows\build.yml = .github\workflows\build.yml
+ .github\workflows\alpine.yml = .github\workflows\alpine.yml
+ .github\workflows\danger.yml = .github\workflows\danger.yml
+ .github\workflows\release.yml = .github\workflows\release.yml
+ .github\workflows\format-code.yml = .github\workflows\format-code.yml
+ .github\workflows\update-deps.yml = .github\workflows\update-deps.yml
+ .github\workflows\codeql-analysis.yml = .github\workflows\codeql-analysis.yml
+ .github\workflows\vulnerabilities.yml = .github\workflows\vulnerabilities.yml
+ .github\workflows\device-tests-ios.yml = .github\workflows\device-tests-ios.yml
+ .github\workflows\device-tests-android.yml = .github\workflows\device-tests-android.yml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "actions", "actions", "{5D50D425-244F-4B79-B9F5-21D26DD52DC1}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "environment", "environment", "{39216438-F347-427C-AB70-48DB1BA6E299}"
+ ProjectSection(SolutionItems) = preProject
+ .github\actions\environment\action.yml = .github\actions\environment\action.yml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "buildnative", "buildnative", "{A384A71C-A46F-49DB-B7FB-5DEEFC5E6CA3}"
+ ProjectSection(SolutionItems) = preProject
+ .github\actions\buildnative\action.yml = .github\actions\buildnative\action.yml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "freediskspace", "freediskspace", "{E34AA22F-B42E-4D4C-B96E-426AEBC2F367}"
+ ProjectSection(SolutionItems) = preProject
+ .github\actions\freediskspace\action.yml = .github\actions\freediskspace\action.yml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "install-zstd", "install-zstd", "{94A2DCA5-F298-41FB-913A-476668EF5786}"
+ ProjectSection(SolutionItems) = preProject
+ .github\actions\install-zstd\action.yml = .github\actions\install-zstd\action.yml
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "integration-test", "integration-test", "{94CCDBEF-5867-4C24-A305-0C2AE738AF42}"
+ ProjectSection(SolutionItems) = preProject
+ integration-test\common.ps1 = integration-test\common.ps1
+ integration-test\aot.Tests.ps1 = integration-test\aot.Tests.ps1
+ integration-test\cli.Tests.ps1 = integration-test\cli.Tests.ps1
+ integration-test\runtime.Tests.ps1 = integration-test\runtime.Tests.ps1
+ integration-test\pester.ps1 = integration-test\pester.ps1
+ integration-test\ios.Tests.ps1 = integration-test\ios.Tests.ps1
+ integration-test\msbuild.Tests.ps1 = integration-test\msbuild.Tests.ps1
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "net4-console", "net4-console", "{33793113-C7B5-434D-B5C1-6CA1A9587842}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -592,18 +659,6 @@ Global
{4B323BCC-0E8D-43CE-9AC2-4B708278C7C2}.Release|x64.Build.0 = Release|Any CPU
{4B323BCC-0E8D-43CE-9AC2-4B708278C7C2}.Release|x86.ActiveCfg = Release|Any CPU
{4B323BCC-0E8D-43CE-9AC2-4B708278C7C2}.Release|x86.Build.0 = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|x64.ActiveCfg = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|x64.Build.0 = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|x86.ActiveCfg = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|x86.Build.0 = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|Any CPU.Build.0 = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|x64.ActiveCfg = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|x64.Build.0 = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|x86.ActiveCfg = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|x86.Build.0 = Release|Any CPU
{759D9E53-4717-491D-9970-B3A3367C65E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{759D9E53-4717-491D-9970-B3A3367C65E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{759D9E53-4717-491D-9970-B3A3367C65E7}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -832,18 +887,6 @@ Global
{6D9EB590-CED1-47C2-87B1-E65EE0EEBB9E}.Release|x64.Build.0 = Release|Any CPU
{6D9EB590-CED1-47C2-87B1-E65EE0EEBB9E}.Release|x86.ActiveCfg = Release|Any CPU
{6D9EB590-CED1-47C2-87B1-E65EE0EEBB9E}.Release|x86.Build.0 = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|x64.ActiveCfg = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|x64.Build.0 = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|x86.ActiveCfg = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|x86.Build.0 = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|Any CPU.Build.0 = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|x64.ActiveCfg = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|x64.Build.0 = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|x86.ActiveCfg = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|x86.Build.0 = Release|Any CPU
{59742E7E-4380-4B40-BCC8-5AB314290198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59742E7E-4380-4B40-BCC8-5AB314290198}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59742E7E-4380-4B40-BCC8-5AB314290198}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1288,7 +1331,6 @@ Global
{A7F651AD-51D3-4473-9641-7C76D2A0E3B7} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{DF785142-3E65-4176-8A6E-CAAD6BBF771F} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{4B323BCC-0E8D-43CE-9AC2-4B708278C7C2} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
- {52262FBB-40D0-4F08-B00F-B298185FF6BD} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{759D9E53-4717-491D-9970-B3A3367C65E7} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{33336B98-A69E-4F28-A71A-1D8753F3BA24} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{22E4E3F5-8D6E-433D-9456-F60DFB1EFC82} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
@@ -1308,7 +1350,6 @@ Global
{D7D1EA68-ACE3-4DF3-A33C-EBB5B74701F5} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{563FEA1C-FDAE-4EDE-9ABF-22D76F2DA048} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{6D9EB590-CED1-47C2-87B1-E65EE0EEBB9E} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
- {39F7BB08-908B-49F9-A96B-E14C16B69090} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{59742E7E-4380-4B40-BCC8-5AB314290198} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{6222BF96-2F1F-42DA-AF43-388B20151A5A} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{18FDE2B5-6023-487C-A349-E492F3F34B4A} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
@@ -1343,5 +1384,12 @@ Global
{C3CDF61C-3E28-441C-A9CE-011C89D11719} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{3A76FF7D-2F32-4EA5-8999-2FFE3C7CB893} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{ADC91A84-6054-42EC-8241-0D717E4C7194} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
+ {BFF081D8-7CC0-4069-99F5-5CA0D70B56AB} = {EC6ADE8A-E557-4848-8F03-519039830B5F}
+ {5D50D425-244F-4B79-B9F5-21D26DD52DC1} = {EC6ADE8A-E557-4848-8F03-519039830B5F}
+ {39216438-F347-427C-AB70-48DB1BA6E299} = {5D50D425-244F-4B79-B9F5-21D26DD52DC1}
+ {A384A71C-A46F-49DB-B7FB-5DEEFC5E6CA3} = {5D50D425-244F-4B79-B9F5-21D26DD52DC1}
+ {E34AA22F-B42E-4D4C-B96E-426AEBC2F367} = {5D50D425-244F-4B79-B9F5-21D26DD52DC1}
+ {94A2DCA5-F298-41FB-913A-476668EF5786} = {5D50D425-244F-4B79-B9F5-21D26DD52DC1}
+ {33793113-C7B5-434D-B5C1-6CA1A9587842} = {94CCDBEF-5867-4C24-A305-0C2AE738AF42}
EndGlobalSection
EndGlobal
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 37cff669b7..be40f01216 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -13,7 +13,6 @@ body:
- Sentry.AspNetCore.Blazor.WebAssembly
- Sentry.AspNetCore.Grpc
- Sentry.AspNet
- - Sentry.Azure.Functions.Worker
- Sentry.DiagnosticSource
- Sentry.EntityFramework
- Sentry.Extensions.Logging
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e12a0dfb3b..5f2e57a572 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@
- Spans and Transactions now implement `IDisposable` so that they can be used with `using` statements/declarations that will automatically finish the span with a status of OK when it passes out of scope, if it has not already been finished, to be consistent with `Activity` classes when using OpenTelemetry ([#4627](https://github.com/getsentry/sentry-dotnet/pull/4627))
- SpanTracer and TransactionTracer are still public but these are now `sealed` (see also [#4627](https://github.com/getsentry/sentry-dotnet/pull/4627))
- CaptureFeedback now returns a `SentryId` and a `CaptureFeedbackResult` out parameter that indicate whether feedback was captured successfully and what the reason for failure was otherwise ([#4613](https://github.com/getsentry/sentry-dotnet/pull/4613))
+- Deprecated `Sentry.Azure.Functions.Worker` as very few people were using it and the functionality can easily be replaced with OpenTelemetry. We've replaced our integration with a sample showing how to do this using our OpenTelemetry package instead. ([#4693](https://github.com/getsentry/sentry-dotnet/pull/4693))
- UWP support has been dropped. Future efforts will likely focus on WinUI 3, in line with Microsoft's recommendations for building Windows UI apps. ([#4686](https://github.com/getsentry/sentry-dotnet/pull/4686))
- The _Structured Logs_ APIs are now stable: removed `Experimental` from `SentryOptions` ([#4699](https://github.com/getsentry/sentry-dotnet/pull/4699))
diff --git a/README.md b/README.md
index 25d47bc58a..8c07c3ddce 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,6 @@ Sentry SDK for .NET
| **Sentry.AspNetCore.Blazor.WebAssembly** | [](https://www.nuget.org/packages/Sentry.AspNetCore.Blazor.WebAssembly) | [](https://www.nuget.org/packages/Sentry.AspNetCore.Blazor.WebAssembly) | [](https://www.nuget.org/packages/Sentry.AspNetCore.Blazor.WebAssembly) | [](https://docs.sentry.io/platforms/dotnet/guides/blazor-webassembly/) |
| **Sentry.AspNetCore.Grpc** | [](https://www.nuget.org/packages/Sentry.AspNetCore.Grpc) | [](https://www.nuget.org/packages/Sentry.AspNetCore.Grpc) | [](https://www.nuget.org/packages/Sentry.AspNetCore.Grpc) | [](https://docs.sentry.io/platforms/dotnet/guides/aspnetcore/) |
| **Sentry.AspNet** | [](https://www.nuget.org/packages/Sentry.AspNet) | [](https://www.nuget.org/packages/Sentry.AspNet) | [](https://www.nuget.org/packages/Sentry.AspNet) | [](https://docs.sentry.io/platforms/dotnet/guides/aspnet) |
-| **Sentry.Azure.Functions.Worker** | [](https://www.nuget.org/packages/Sentry.Azure.Functions.Worker) | [](https://www.nuget.org/packages/Sentry.Azure.Functions.Worker) | [](https://www.nuget.org/packages/Sentry.Azure.Functions.Worker) | [](https://docs.sentry.io/platforms/dotnet/guides/azure-functions-worker/) |
| **Sentry.DiagnosticSource** | [](https://www.nuget.org/packages/Sentry.DiagnosticSource) | [](https://www.nuget.org/packages/Sentry.DiagnosticSource) | [](https://www.nuget.org/packages/Sentry.DiagnosticSource) | [](https://docs.sentry.io/platforms/dotnet/performance/instrumentation/automatic-instrumentation/#diagnosticsource-integration) |
| **Sentry.EntityFramework** | [](https://www.nuget.org/packages/Sentry.EntityFramework) | [](https://www.nuget.org/packages/Sentry.EntityFramework) | [](https://www.nuget.org/packages/Sentry.EntityFramework) | [](https://docs.sentry.io/platforms/dotnet/guides/entityframework) |
| **Sentry.Extensions.Logging** | [](https://www.nuget.org/packages/Sentry.Extensions.Logging) | [](https://www.nuget.org/packages/Sentry.Extensions.Logging) | [](https://www.nuget.org/packages/Sentry.Extensions.Logging) | [](https://docs.sentry.io/platforms/dotnet/guides/extensions-logging/) |
diff --git a/Sentry-CI-Build-Linux-NoMobile.slnf b/Sentry-CI-Build-Linux-NoMobile.slnf
index e3497886f3..04b4b49290 100644
--- a/Sentry-CI-Build-Linux-NoMobile.slnf
+++ b/Sentry-CI-Build-Linux-NoMobile.slnf
@@ -11,7 +11,6 @@
"samples\\Sentry.Samples.AspNetCore.Serilog\\Sentry.Samples.AspNetCore.Serilog.csproj",
"samples\\Sentry.Samples.AspNetCore.WebAPI.Profiling\\Sentry.Samples.AspNetCore.WebAPI.Profiling.csproj",
"samples\\Sentry.Samples.Aws.Lambda.AspNetCoreServer\\Sentry.Samples.Aws.Lambda.AspNetCoreServer.csproj",
- "samples\\Sentry.Samples.Azure.Functions.Worker\\Sentry.Samples.Azure.Functions.Worker.csproj",
"samples\\Sentry.Samples.Console.Basic\\Sentry.Samples.Console.Basic.csproj",
"samples\\Sentry.Samples.Console.Customized\\Sentry.Samples.Console.Customized.csproj",
"samples\\Sentry.Samples.Console.HeapDump\\Sentry.Samples.Console.HeapDump.csproj",
@@ -27,13 +26,13 @@
"samples\\Sentry.Samples.ME.Logging\\Sentry.Samples.ME.Logging.csproj",
"samples\\Sentry.Samples.NLog\\Sentry.Samples.NLog.csproj",
"samples\\Sentry.Samples.OpenTelemetry.AspNetCore\\Sentry.Samples.OpenTelemetry.AspNetCore.csproj",
+ "samples\\Sentry.Samples.OpenTelemetry.AzureFunctions\\Sentry.Samples.OpenTelemetry.AzureFunctions.csproj",
"samples\\Sentry.Samples.OpenTelemetry.Console\\Sentry.Samples.OpenTelemetry.Console.csproj",
"samples\\Sentry.Samples.Serilog\\Sentry.Samples.Serilog.csproj",
"src\\Sentry.Analyzers\\Sentry.Analyzers.csproj",
"src\\Sentry.AspNetCore.Blazor.WebAssembly\\Sentry.AspNetCore.Blazor.WebAssembly.csproj",
"src\\Sentry.AspNetCore.Grpc\\Sentry.AspNetCore.Grpc.csproj",
"src\\Sentry.AspNetCore\\Sentry.AspNetCore.csproj",
- "src\\Sentry.Azure.Functions.Worker\\Sentry.Azure.Functions.Worker.csproj",
"src\\Sentry.Compiler.Extensions\\Sentry.Compiler.Extensions.csproj",
"src\\Sentry.DiagnosticSource\\Sentry.DiagnosticSource.csproj",
"src\\Sentry.EntityFramework\\Sentry.EntityFramework.csproj",
@@ -50,7 +49,6 @@
"test\\Sentry.AspNetCore.Grpc.Tests\\Sentry.AspNetCore.Grpc.Tests.csproj",
"test\\Sentry.AspNetCore.Tests\\Sentry.AspNetCore.Tests.csproj",
"test\\Sentry.AspNetCore.TestUtils\\Sentry.AspNetCore.TestUtils.csproj",
- "test\\Sentry.Azure.Functions.Worker.Tests\\Sentry.Azure.Functions.Worker.Tests.csproj",
"test\\Sentry.Compiler.Extensions.Tests\\Sentry.Compiler.Extensions.Tests.csproj",
"test\\Sentry.DiagnosticSource.IntegrationTests\\Sentry.DiagnosticSource.IntegrationTests.csproj",
"test\\Sentry.DiagnosticSource.Tests\\Sentry.DiagnosticSource.Tests.csproj",
diff --git a/Sentry-CI-Build-Linux.slnf b/Sentry-CI-Build-Linux.slnf
index 14877f60a6..f53160c6a9 100644
--- a/Sentry-CI-Build-Linux.slnf
+++ b/Sentry-CI-Build-Linux.slnf
@@ -12,7 +12,6 @@
"samples\\Sentry.Samples.AspNetCore.Serilog\\Sentry.Samples.AspNetCore.Serilog.csproj",
"samples\\Sentry.Samples.AspNetCore.WebAPI.Profiling\\Sentry.Samples.AspNetCore.WebAPI.Profiling.csproj",
"samples\\Sentry.Samples.Aws.Lambda.AspNetCoreServer\\Sentry.Samples.Aws.Lambda.AspNetCoreServer.csproj",
- "samples\\Sentry.Samples.Azure.Functions.Worker\\Sentry.Samples.Azure.Functions.Worker.csproj",
"samples\\Sentry.Samples.Console.Basic\\Sentry.Samples.Console.Basic.csproj",
"samples\\Sentry.Samples.Console.Customized\\Sentry.Samples.Console.Customized.csproj",
"samples\\Sentry.Samples.Console.HeapDump\\Sentry.Samples.Console.HeapDump.csproj",
@@ -29,6 +28,7 @@
"samples\\Sentry.Samples.ME.Logging\\Sentry.Samples.ME.Logging.csproj",
"samples\\Sentry.Samples.NLog\\Sentry.Samples.NLog.csproj",
"samples\\Sentry.Samples.OpenTelemetry.AspNetCore\\Sentry.Samples.OpenTelemetry.AspNetCore.csproj",
+ "samples\\Sentry.Samples.OpenTelemetry.AzureFunctions\\Sentry.Samples.OpenTelemetry.AzureFunctions.csproj",
"samples\\Sentry.Samples.OpenTelemetry.Console\\Sentry.Samples.OpenTelemetry.Console.csproj",
"samples\\Sentry.Samples.Serilog\\Sentry.Samples.Serilog.csproj",
"src\\Sentry.Analyzers\\Sentry.Analyzers.csproj",
@@ -36,7 +36,6 @@
"src\\Sentry.AspNetCore.Blazor.WebAssembly\\Sentry.AspNetCore.Blazor.WebAssembly.csproj",
"src\\Sentry.AspNetCore.Grpc\\Sentry.AspNetCore.Grpc.csproj",
"src\\Sentry.AspNetCore\\Sentry.AspNetCore.csproj",
- "src\\Sentry.Azure.Functions.Worker\\Sentry.Azure.Functions.Worker.csproj",
"src\\Sentry.Bindings.Android\\Sentry.Bindings.Android.csproj",
"src\\Sentry.Compiler.Extensions\\Sentry.Compiler.Extensions.csproj",
"src\\Sentry.DiagnosticSource\\Sentry.DiagnosticSource.csproj",
@@ -57,7 +56,6 @@
"test\\Sentry.AspNetCore.Grpc.Tests\\Sentry.AspNetCore.Grpc.Tests.csproj",
"test\\Sentry.AspNetCore.Tests\\Sentry.AspNetCore.Tests.csproj",
"test\\Sentry.AspNetCore.TestUtils\\Sentry.AspNetCore.TestUtils.csproj",
- "test\\Sentry.Azure.Functions.Worker.Tests\\Sentry.Azure.Functions.Worker.Tests.csproj",
"test\\Sentry.Compiler.Extensions.Tests\\Sentry.Compiler.Extensions.Tests.csproj",
"test\\Sentry.DiagnosticSource.IntegrationTests\\Sentry.DiagnosticSource.IntegrationTests.csproj",
"test\\Sentry.DiagnosticSource.Tests\\Sentry.DiagnosticSource.Tests.csproj",
diff --git a/Sentry-CI-Build-Windows-arm64.slnf b/Sentry-CI-Build-Windows-arm64.slnf
index 03b36063fb..b83f3c8428 100644
--- a/Sentry-CI-Build-Windows-arm64.slnf
+++ b/Sentry-CI-Build-Windows-arm64.slnf
@@ -13,7 +13,6 @@
"samples\\Sentry.Samples.AspNetCore.Serilog\\Sentry.Samples.AspNetCore.Serilog.csproj",
"samples\\Sentry.Samples.AspNetCore.WebAPI.Profiling\\Sentry.Samples.AspNetCore.WebAPI.Profiling.csproj",
"samples\\Sentry.Samples.Aws.Lambda.AspNetCoreServer\\Sentry.Samples.Aws.Lambda.AspNetCoreServer.csproj",
- "samples\\Sentry.Samples.Azure.Functions.Worker\\Sentry.Samples.Azure.Functions.Worker.csproj",
"samples\\Sentry.Samples.Console.Basic\\Sentry.Samples.Console.Basic.csproj",
"samples\\Sentry.Samples.Console.Customized\\Sentry.Samples.Console.Customized.csproj",
"samples\\Sentry.Samples.Console.HeapDump\\Sentry.Samples.Console.HeapDump.csproj",
@@ -30,6 +29,7 @@
"samples\\Sentry.Samples.ME.Logging\\Sentry.Samples.ME.Logging.csproj",
"samples\\Sentry.Samples.NLog\\Sentry.Samples.NLog.csproj",
"samples\\Sentry.Samples.OpenTelemetry.AspNetCore\\Sentry.Samples.OpenTelemetry.AspNetCore.csproj",
+ "samples\\Sentry.Samples.OpenTelemetry.AzureFunctions\\Sentry.Samples.OpenTelemetry.AzureFunctions.csproj",
"samples\\Sentry.Samples.OpenTelemetry.Console\\Sentry.Samples.OpenTelemetry.Console.csproj",
"samples\\Sentry.Samples.Serilog\\Sentry.Samples.Serilog.csproj",
"src\\Sentry.Analyzers\\Sentry.Analyzers.csproj",
@@ -38,7 +38,6 @@
"src\\Sentry.AspNetCore.Blazor.WebAssembly\\Sentry.AspNetCore.Blazor.WebAssembly.csproj",
"src\\Sentry.AspNetCore.Grpc\\Sentry.AspNetCore.Grpc.csproj",
"src\\Sentry.AspNetCore\\Sentry.AspNetCore.csproj",
- "src\\Sentry.Azure.Functions.Worker\\Sentry.Azure.Functions.Worker.csproj",
"src\\Sentry.Bindings.Android\\Sentry.Bindings.Android.csproj",
"src\\Sentry.Compiler.Extensions\\Sentry.Compiler.Extensions.csproj",
"src\\Sentry.DiagnosticSource\\Sentry.DiagnosticSource.csproj",
@@ -59,7 +58,6 @@
"test\\Sentry.AspNetCore.Grpc.Tests\\Sentry.AspNetCore.Grpc.Tests.csproj",
"test\\Sentry.AspNetCore.Tests\\Sentry.AspNetCore.Tests.csproj",
"test\\Sentry.AspNetCore.TestUtils\\Sentry.AspNetCore.TestUtils.csproj",
- "test\\Sentry.Azure.Functions.Worker.Tests\\Sentry.Azure.Functions.Worker.Tests.csproj",
"test\\Sentry.Compiler.Extensions.Tests\\Sentry.Compiler.Extensions.Tests.csproj",
"test\\Sentry.Extensions.Logging.Tests\\Sentry.Extensions.Logging.Tests.csproj",
"test\\Sentry.Google.Cloud.Functions.Tests\\Sentry.Google.Cloud.Functions.Tests.csproj",
diff --git a/Sentry-CI-Build-Windows.slnf b/Sentry-CI-Build-Windows.slnf
index 5feb73b587..ac202e9d31 100644
--- a/Sentry-CI-Build-Windows.slnf
+++ b/Sentry-CI-Build-Windows.slnf
@@ -13,7 +13,6 @@
"samples\\Sentry.Samples.AspNetCore.Serilog\\Sentry.Samples.AspNetCore.Serilog.csproj",
"samples\\Sentry.Samples.AspNetCore.WebAPI.Profiling\\Sentry.Samples.AspNetCore.WebAPI.Profiling.csproj",
"samples\\Sentry.Samples.Aws.Lambda.AspNetCoreServer\\Sentry.Samples.Aws.Lambda.AspNetCoreServer.csproj",
- "samples\\Sentry.Samples.Azure.Functions.Worker\\Sentry.Samples.Azure.Functions.Worker.csproj",
"samples\\Sentry.Samples.Console.Basic\\Sentry.Samples.Console.Basic.csproj",
"samples\\Sentry.Samples.Console.Customized\\Sentry.Samples.Console.Customized.csproj",
"samples\\Sentry.Samples.Console.HeapDump\\Sentry.Samples.Console.HeapDump.csproj",
@@ -30,6 +29,7 @@
"samples\\Sentry.Samples.ME.Logging\\Sentry.Samples.ME.Logging.csproj",
"samples\\Sentry.Samples.NLog\\Sentry.Samples.NLog.csproj",
"samples\\Sentry.Samples.OpenTelemetry.AspNetCore\\Sentry.Samples.OpenTelemetry.AspNetCore.csproj",
+ "samples\\Sentry.Samples.OpenTelemetry.AzureFunctions\\Sentry.Samples.OpenTelemetry.AzureFunctions.csproj",
"samples\\Sentry.Samples.OpenTelemetry.Console\\Sentry.Samples.OpenTelemetry.Console.csproj",
"samples\\Sentry.Samples.Serilog\\Sentry.Samples.Serilog.csproj",
"src\\Sentry.Analyzers\\Sentry.Analyzers.csproj",
@@ -38,7 +38,6 @@
"src\\Sentry.AspNetCore.Blazor.WebAssembly\\Sentry.AspNetCore.Blazor.WebAssembly.csproj",
"src\\Sentry.AspNetCore.Grpc\\Sentry.AspNetCore.Grpc.csproj",
"src\\Sentry.AspNetCore\\Sentry.AspNetCore.csproj",
- "src\\Sentry.Azure.Functions.Worker\\Sentry.Azure.Functions.Worker.csproj",
"src\\Sentry.Bindings.Android\\Sentry.Bindings.Android.csproj",
"src\\Sentry.Compiler.Extensions\\Sentry.Compiler.Extensions.csproj",
"src\\Sentry.DiagnosticSource\\Sentry.DiagnosticSource.csproj",
@@ -59,7 +58,6 @@
"test\\Sentry.AspNetCore.Grpc.Tests\\Sentry.AspNetCore.Grpc.Tests.csproj",
"test\\Sentry.AspNetCore.Tests\\Sentry.AspNetCore.Tests.csproj",
"test\\Sentry.AspNetCore.TestUtils\\Sentry.AspNetCore.TestUtils.csproj",
- "test\\Sentry.Azure.Functions.Worker.Tests\\Sentry.Azure.Functions.Worker.Tests.csproj",
"test\\Sentry.Compiler.Extensions.Tests\\Sentry.Compiler.Extensions.Tests.csproj",
"test\\Sentry.DiagnosticSource.IntegrationTests\\Sentry.DiagnosticSource.IntegrationTests.csproj",
"test\\Sentry.DiagnosticSource.Tests\\Sentry.DiagnosticSource.Tests.csproj",
diff --git a/Sentry-CI-Build-macOS.slnf b/Sentry-CI-Build-macOS.slnf
index ae459279f2..8ed63506e9 100644
--- a/Sentry-CI-Build-macOS.slnf
+++ b/Sentry-CI-Build-macOS.slnf
@@ -14,7 +14,6 @@
"samples\\Sentry.Samples.AspNetCore.Serilog\\Sentry.Samples.AspNetCore.Serilog.csproj",
"samples\\Sentry.Samples.AspNetCore.WebAPI.Profiling\\Sentry.Samples.AspNetCore.WebAPI.Profiling.csproj",
"samples\\Sentry.Samples.Aws.Lambda.AspNetCoreServer\\Sentry.Samples.Aws.Lambda.AspNetCoreServer.csproj",
- "samples\\Sentry.Samples.Azure.Functions.Worker\\Sentry.Samples.Azure.Functions.Worker.csproj",
"samples\\Sentry.Samples.Console.Basic\\Sentry.Samples.Console.Basic.csproj",
"samples\\Sentry.Samples.Console.Customized\\Sentry.Samples.Console.Customized.csproj",
"samples\\Sentry.Samples.Console.HeapDump\\Sentry.Samples.Console.HeapDump.csproj",
@@ -34,6 +33,7 @@
"samples\\Sentry.Samples.ME.Logging\\Sentry.Samples.ME.Logging.csproj",
"samples\\Sentry.Samples.NLog\\Sentry.Samples.NLog.csproj",
"samples\\Sentry.Samples.OpenTelemetry.AspNetCore\\Sentry.Samples.OpenTelemetry.AspNetCore.csproj",
+ "samples\\Sentry.Samples.OpenTelemetry.AzureFunctions\\Sentry.Samples.OpenTelemetry.AzureFunctions.csproj",
"samples\\Sentry.Samples.OpenTelemetry.Console\\Sentry.Samples.OpenTelemetry.Console.csproj",
"samples\\Sentry.Samples.Serilog\\Sentry.Samples.Serilog.csproj",
"src\\Sentry.Analyzers\\Sentry.Analyzers.csproj",
@@ -42,7 +42,6 @@
"src\\Sentry.AspNetCore.Blazor.WebAssembly\\Sentry.AspNetCore.Blazor.WebAssembly.csproj",
"src\\Sentry.AspNetCore.Grpc\\Sentry.AspNetCore.Grpc.csproj",
"src\\Sentry.AspNetCore\\Sentry.AspNetCore.csproj",
- "src\\Sentry.Azure.Functions.Worker\\Sentry.Azure.Functions.Worker.csproj",
"src\\Sentry.Bindings.Android\\Sentry.Bindings.Android.csproj",
"src\\Sentry.Bindings.Cocoa\\Sentry.Bindings.Cocoa.csproj",
"src\\Sentry.Compiler.Extensions\\Sentry.Compiler.Extensions.csproj",
@@ -64,7 +63,6 @@
"test\\Sentry.AspNetCore.Grpc.Tests\\Sentry.AspNetCore.Grpc.Tests.csproj",
"test\\Sentry.AspNetCore.Tests\\Sentry.AspNetCore.Tests.csproj",
"test\\Sentry.AspNetCore.TestUtils\\Sentry.AspNetCore.TestUtils.csproj",
- "test\\Sentry.Azure.Functions.Worker.Tests\\Sentry.Azure.Functions.Worker.Tests.csproj",
"test\\Sentry.Compiler.Extensions.Tests\\Sentry.Compiler.Extensions.Tests.csproj",
"test\\Sentry.DiagnosticSource.IntegrationTests\\Sentry.DiagnosticSource.IntegrationTests.csproj",
"test\\Sentry.DiagnosticSource.Tests\\Sentry.DiagnosticSource.Tests.csproj",
diff --git a/Sentry-CI-CodeQL.slnf b/Sentry-CI-CodeQL.slnf
index 859f0c8566..c8234ff35e 100644
--- a/Sentry-CI-CodeQL.slnf
+++ b/Sentry-CI-CodeQL.slnf
@@ -8,7 +8,6 @@
"src\\Sentry.AspNetCore.Blazor.WebAssembly\\Sentry.AspNetCore.Blazor.WebAssembly.csproj",
"src\\Sentry.AspNetCore.Grpc\\Sentry.AspNetCore.Grpc.csproj",
"src\\Sentry.AspNetCore\\Sentry.AspNetCore.csproj",
- "src\\Sentry.Azure.Functions.Worker\\Sentry.Azure.Functions.Worker.csproj",
"src\\Sentry.Compiler.Extensions\\Sentry.Compiler.Extensions.csproj",
"src\\Sentry.DiagnosticSource\\Sentry.DiagnosticSource.csproj",
"src\\Sentry.EntityFramework\\Sentry.EntityFramework.csproj",
diff --git a/Sentry.Azure.Functions.slnf b/Sentry.Azure.Functions.slnf
deleted file mode 100644
index 54c80b23c9..0000000000
--- a/Sentry.Azure.Functions.slnf
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "solution": {
- "path": "Sentry.sln",
- "projects": [
- "samples\\Sentry.Samples.Azure.Functions.Worker\\Sentry.Samples.Azure.Functions.Worker.csproj",
- "samples\\Sentry.Samples.Console.Basic\\Sentry.Samples.Console.Basic.csproj",
- "src\\Sentry.Analyzers\\Sentry.Analyzers.csproj",
- "src\\Sentry.Azure.Functions.Worker\\Sentry.Azure.Functions.Worker.csproj",
- "src\\Sentry.Extensions.Logging\\Sentry.Extensions.Logging.csproj",
- "src\\Sentry\\Sentry.csproj",
- "test\\Sentry.Analyzers.Tests\\Sentry.Analyzers.Tests.csproj",
- "test\\Sentry.Azure.Functions.Worker.Tests\\Sentry.Azure.Functions.Worker.Tests.csproj",
- "test\\Sentry.Testing.CrashableApp\\Sentry.Testing.CrashableApp.csproj",
- "test\\Sentry.Testing\\Sentry.Testing.csproj",
- "test\\Sentry.Tests\\Sentry.Tests.csproj"
- ]
- }
-}
diff --git a/Sentry.sln b/Sentry.sln
index d59c64a7f5..cf1c80a04f 100644
--- a/Sentry.sln
+++ b/Sentry.sln
@@ -25,7 +25,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.AspNetCore.S
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.Aws.Lambda.AspNetCoreServer", "samples\Sentry.Samples.Aws.Lambda.AspNetCoreServer\Sentry.Samples.Aws.Lambda.AspNetCoreServer.csproj", "{50116F9A-646D-4BF7-9760-66E37CB9C459}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.Azure.Functions.Worker", "samples\Sentry.Samples.Azure.Functions.Worker\Sentry.Samples.Azure.Functions.Worker.csproj", "{1F44075F-ABD6-49A4-8EA1-DBB70304AD24}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.OpenTelemetry.AzureFunctions", "samples\Sentry.Samples.OpenTelemetry.AzureFunctions\Sentry.Samples.OpenTelemetry.AzureFunctions.csproj", "{1F44075F-ABD6-49A4-8EA1-DBB70304AD24}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Samples.Console.Basic", "samples\Sentry.Samples.Console.Basic\Sentry.Samples.Console.Basic.csproj", "{B793249D-3E52-4B0D-964F-BC022CD8A753}"
EndProject
@@ -75,8 +75,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.AspNetCore.Grpc", "s
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.AspNetCore", "src\Sentry.AspNetCore\Sentry.AspNetCore.csproj", "{4B323BCC-0E8D-43CE-9AC2-4B708278C7C2}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Azure.Functions.Worker", "src\Sentry.Azure.Functions.Worker\Sentry.Azure.Functions.Worker.csproj", "{52262FBB-40D0-4F08-B00F-B298185FF6BD}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Bindings.Android", "src\Sentry.Bindings.Android\Sentry.Bindings.Android.csproj", "{759D9E53-4717-491D-9970-B3A3367C65E7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Bindings.Cocoa", "src\Sentry.Bindings.Cocoa\Sentry.Bindings.Cocoa.csproj", "{33336B98-A69E-4F28-A71A-1D8753F3BA24}"
@@ -121,8 +119,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.AspNetCore.TestUtils
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.AspNetCore.Tests", "test\Sentry.AspNetCore.Tests\Sentry.AspNetCore.Tests.csproj", "{6D9EB590-CED1-47C2-87B1-E65EE0EEBB9E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Azure.Functions.Worker.Tests", "test\Sentry.Azure.Functions.Worker.Tests\Sentry.Azure.Functions.Worker.Tests.csproj", "{39F7BB08-908B-49F9-A96B-E14C16B69090}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.DiagnosticSource.IntegrationTests", "test\Sentry.DiagnosticSource.IntegrationTests\Sentry.DiagnosticSource.IntegrationTests.csproj", "{59742E7E-4380-4B40-BCC8-5AB314290198}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.DiagnosticSource.Tests", "test\Sentry.DiagnosticSource.Tests\Sentry.DiagnosticSource.Tests.csproj", "{6222BF96-2F1F-42DA-AF43-388B20151A5A}"
@@ -662,18 +658,6 @@ Global
{4B323BCC-0E8D-43CE-9AC2-4B708278C7C2}.Release|x64.Build.0 = Release|Any CPU
{4B323BCC-0E8D-43CE-9AC2-4B708278C7C2}.Release|x86.ActiveCfg = Release|Any CPU
{4B323BCC-0E8D-43CE-9AC2-4B708278C7C2}.Release|x86.Build.0 = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|x64.ActiveCfg = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|x64.Build.0 = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|x86.ActiveCfg = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Debug|x86.Build.0 = Debug|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|Any CPU.Build.0 = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|x64.ActiveCfg = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|x64.Build.0 = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|x86.ActiveCfg = Release|Any CPU
- {52262FBB-40D0-4F08-B00F-B298185FF6BD}.Release|x86.Build.0 = Release|Any CPU
{759D9E53-4717-491D-9970-B3A3367C65E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{759D9E53-4717-491D-9970-B3A3367C65E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{759D9E53-4717-491D-9970-B3A3367C65E7}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -902,18 +886,6 @@ Global
{6D9EB590-CED1-47C2-87B1-E65EE0EEBB9E}.Release|x64.Build.0 = Release|Any CPU
{6D9EB590-CED1-47C2-87B1-E65EE0EEBB9E}.Release|x86.ActiveCfg = Release|Any CPU
{6D9EB590-CED1-47C2-87B1-E65EE0EEBB9E}.Release|x86.Build.0 = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|x64.ActiveCfg = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|x64.Build.0 = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|x86.ActiveCfg = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Debug|x86.Build.0 = Debug|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|Any CPU.Build.0 = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|x64.ActiveCfg = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|x64.Build.0 = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|x86.ActiveCfg = Release|Any CPU
- {39F7BB08-908B-49F9-A96B-E14C16B69090}.Release|x86.Build.0 = Release|Any CPU
{59742E7E-4380-4B40-BCC8-5AB314290198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59742E7E-4380-4B40-BCC8-5AB314290198}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59742E7E-4380-4B40-BCC8-5AB314290198}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1358,7 +1330,6 @@ Global
{A7F651AD-51D3-4473-9641-7C76D2A0E3B7} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{DF785142-3E65-4176-8A6E-CAAD6BBF771F} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{4B323BCC-0E8D-43CE-9AC2-4B708278C7C2} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
- {52262FBB-40D0-4F08-B00F-B298185FF6BD} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{759D9E53-4717-491D-9970-B3A3367C65E7} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{33336B98-A69E-4F28-A71A-1D8753F3BA24} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
{22E4E3F5-8D6E-433D-9456-F60DFB1EFC82} = {230B9384-90FD-4551-A5DE-1A5C197F25B6}
@@ -1378,7 +1349,6 @@ Global
{D7D1EA68-ACE3-4DF3-A33C-EBB5B74701F5} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{563FEA1C-FDAE-4EDE-9ABF-22D76F2DA048} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{6D9EB590-CED1-47C2-87B1-E65EE0EEBB9E} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
- {39F7BB08-908B-49F9-A96B-E14C16B69090} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{59742E7E-4380-4B40-BCC8-5AB314290198} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{6222BF96-2F1F-42DA-AF43-388B20151A5A} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
{18FDE2B5-6023-487C-A349-E492F3F34B4A} = {6987A1CC-608E-4868-A02C-09D30C8B7B2D}
diff --git a/SentryNoMobile.slnf b/SentryNoMobile.slnf
index 8e965ea675..b8ce932b8c 100644
--- a/SentryNoMobile.slnf
+++ b/SentryNoMobile.slnf
@@ -11,7 +11,6 @@
"samples\\Sentry.Samples.AspNetCore.Serilog\\Sentry.Samples.AspNetCore.Serilog.csproj",
"samples\\Sentry.Samples.AspNetCore.WebAPI.Profiling\\Sentry.Samples.AspNetCore.WebAPI.Profiling.csproj",
"samples\\Sentry.Samples.Aws.Lambda.AspNetCoreServer\\Sentry.Samples.Aws.Lambda.AspNetCoreServer.csproj",
- "samples\\Sentry.Samples.Azure.Functions.Worker\\Sentry.Samples.Azure.Functions.Worker.csproj",
"samples\\Sentry.Samples.Console.Basic\\Sentry.Samples.Console.Basic.csproj",
"samples\\Sentry.Samples.Console.Customized\\Sentry.Samples.Console.Customized.csproj",
"samples\\Sentry.Samples.Console.HeapDump\\Sentry.Samples.Console.HeapDump.csproj",
@@ -28,6 +27,7 @@
"samples\\Sentry.Samples.ME.Logging\\Sentry.Samples.ME.Logging.csproj",
"samples\\Sentry.Samples.NLog\\Sentry.Samples.NLog.csproj",
"samples\\Sentry.Samples.OpenTelemetry.AspNetCore\\Sentry.Samples.OpenTelemetry.AspNetCore.csproj",
+ "samples\\Sentry.Samples.OpenTelemetry.AzureFunctions\\Sentry.Samples.OpenTelemetry.AzureFunctions.csproj",
"samples\\Sentry.Samples.OpenTelemetry.Console\\Sentry.Samples.OpenTelemetry.Console.csproj",
"samples\\Sentry.Samples.Serilog\\Sentry.Samples.Serilog.csproj",
"src\\Sentry.Analyzers\\Sentry.Analyzers.csproj",
@@ -35,7 +35,6 @@
"src\\Sentry.AspNetCore.Blazor.WebAssembly\\Sentry.AspNetCore.Blazor.WebAssembly.csproj",
"src\\Sentry.AspNetCore.Grpc\\Sentry.AspNetCore.Grpc.csproj",
"src\\Sentry.AspNetCore\\Sentry.AspNetCore.csproj",
- "src\\Sentry.Azure.Functions.Worker\\Sentry.Azure.Functions.Worker.csproj",
"src\\Sentry.Compiler.Extensions\\Sentry.Compiler.Extensions.csproj",
"src\\Sentry.DiagnosticSource\\Sentry.DiagnosticSource.csproj",
"src\\Sentry.EntityFramework\\Sentry.EntityFramework.csproj",
@@ -53,7 +52,6 @@
"test\\Sentry.AspNetCore.Grpc.Tests\\Sentry.AspNetCore.Grpc.Tests.csproj",
"test\\Sentry.AspNetCore.Tests\\Sentry.AspNetCore.Tests.csproj",
"test\\Sentry.AspNetCore.TestUtils\\Sentry.AspNetCore.TestUtils.csproj",
- "test\\Sentry.Azure.Functions.Worker.Tests\\Sentry.Azure.Functions.Worker.Tests.csproj",
"test\\Sentry.Compiler.Extensions.Tests\\Sentry.Compiler.Extensions.Tests.csproj",
"test\\Sentry.DiagnosticSource.IntegrationTests\\Sentry.DiagnosticSource.IntegrationTests.csproj",
"test\\Sentry.DiagnosticSource.Tests\\Sentry.DiagnosticSource.Tests.csproj",
diff --git a/SentryNoSamples.slnf b/SentryNoSamples.slnf
index 36ad16825b..df020bdb52 100644
--- a/SentryNoSamples.slnf
+++ b/SentryNoSamples.slnf
@@ -9,7 +9,6 @@
"src\\Sentry.AspNetCore.Blazor.WebAssembly\\Sentry.AspNetCore.Blazor.WebAssembly.csproj",
"src\\Sentry.AspNetCore.Grpc\\Sentry.AspNetCore.Grpc.csproj",
"src\\Sentry.AspNetCore\\Sentry.AspNetCore.csproj",
- "src\\Sentry.Azure.Functions.Worker\\Sentry.Azure.Functions.Worker.csproj",
"src\\Sentry.Compiler.Extensions\\Sentry.Compiler.Extensions.csproj",
"src\\Sentry.DiagnosticSource\\Sentry.DiagnosticSource.csproj",
"src\\Sentry.EntityFramework\\Sentry.EntityFramework.csproj",
@@ -30,7 +29,6 @@
"test\\Sentry.AspNetCore.Grpc.Tests\\Sentry.AspNetCore.Grpc.Tests.csproj",
"test\\Sentry.AspNetCore.Tests\\Sentry.AspNetCore.Tests.csproj",
"test\\Sentry.AspNetCore.TestUtils\\Sentry.AspNetCore.TestUtils.csproj",
- "test\\Sentry.Azure.Functions.Worker.Tests\\Sentry.Azure.Functions.Worker.Tests.csproj",
"test\\Sentry.Compiler.Extensions.Tests\\Sentry.Compiler.Extensions.Tests.csproj",
"test\\Sentry.DiagnosticSource.IntegrationTests\\Sentry.DiagnosticSource.IntegrationTests.csproj",
"test\\Sentry.DiagnosticSource.Tests\\Sentry.DiagnosticSource.Tests.csproj",
diff --git a/samples/Sentry.Samples.Azure.Functions.Worker/Program.cs b/samples/Sentry.Samples.Azure.Functions.Worker/Program.cs
deleted file mode 100644
index efc8943223..0000000000
--- a/samples/Sentry.Samples.Azure.Functions.Worker/Program.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using Microsoft.Extensions.Hosting;
-using Sentry.Azure.Functions.Worker;
-
-var host = new HostBuilder()
- .ConfigureFunctionsWorkerDefaults((host, builder) =>
- {
- builder.UseSentry(host, options =>
- {
-#if !SENTRY_DSN_DEFINED_IN_ENV
- // A DSN is required. You can set here in code, or you can set it in the SENTRY_DSN environment variable.
- options.Dsn = SamplesShared.Dsn;
-#endif
- options.TracesSampleRate = 1.0;
- options.Debug = true;
- });
- })
- .Build();
-
-await host.RunAsync();
diff --git a/samples/Sentry.Samples.Azure.Functions.Worker/BadApple.cs b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/BadApple.cs
similarity index 82%
rename from samples/Sentry.Samples.Azure.Functions.Worker/BadApple.cs
rename to samples/Sentry.Samples.OpenTelemetry.AzureFunctions/BadApple.cs
index 0712ad1fe9..4b900b8c0e 100644
--- a/samples/Sentry.Samples.Azure.Functions.Worker/BadApple.cs
+++ b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/BadApple.cs
@@ -1,4 +1,4 @@
-namespace Sentry.Samples.Azure.Functions.Worker;
+namespace Sentry.Samples.OpenTelemetry.AzureFunctions;
internal static class BadApple
{
diff --git a/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/Program.cs b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/Program.cs
new file mode 100644
index 0000000000..65cfddb0bd
--- /dev/null
+++ b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/Program.cs
@@ -0,0 +1,31 @@
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using OpenTelemetry;
+using OpenTelemetry.Trace;
+using Sentry.OpenTelemetry;
+
+using var tracerProvider = Sdk.CreateTracerProviderBuilder()
+ .AddSentry() // <-- Configure OpenTelemetry to send traces to Sentry
+ .AddAspNetCoreInstrumentation() // From OpenTelemetry.Instrumentation.AspNetCore... adds automatic tracing for incoming requests
+ .AddHttpClientInstrumentation() // From OpenTelemetry.Instrumentation.Http... adds automatic tracing for outgoing HTTP requests
+ .Build();
+
+var host = new HostBuilder()
+ .ConfigureFunctionsWorkerDefaults()
+ .ConfigureLogging(logging =>
+ {
+ logging.AddSentry(options =>
+ {
+#if !SENTRY_DSN_DEFINED_IN_ENV
+ // A DSN is required. You can set here in code, or you can set it in the SENTRY_DSN environment variable.
+ options.Dsn = SamplesShared.Dsn;
+#endif
+ options.TracesSampleRate = 1.0;
+ options.UseOpenTelemetry(); // <-- Configure Sentry to use open telemetry
+ options.DisableSentryHttpMessageHandler = true; // So Sentry doesn't also create spans for outbound HTTP requests
+ options.Debug = true;
+ });
+ })
+ .Build();
+
+await host.RunAsync();
diff --git a/samples/Sentry.Samples.Azure.Functions.Worker/SampleHttpTrigger.cs b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/SampleHttpTrigger.cs
similarity index 93%
rename from samples/Sentry.Samples.Azure.Functions.Worker/SampleHttpTrigger.cs
rename to samples/Sentry.Samples.OpenTelemetry.AzureFunctions/SampleHttpTrigger.cs
index 3fc70329ca..3f27000f3a 100644
--- a/samples/Sentry.Samples.Azure.Functions.Worker/SampleHttpTrigger.cs
+++ b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/SampleHttpTrigger.cs
@@ -3,7 +3,7 @@
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Extensions.Logging;
-namespace Sentry.Samples.Azure.Functions.Worker;
+namespace Sentry.Samples.OpenTelemetry.AzureFunctions;
public class SampleHttpTrigger
{
diff --git a/samples/Sentry.Samples.Azure.Functions.Worker/SampleTimerTrigger.cs b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/SampleTimerTrigger.cs
similarity index 94%
rename from samples/Sentry.Samples.Azure.Functions.Worker/SampleTimerTrigger.cs
rename to samples/Sentry.Samples.OpenTelemetry.AzureFunctions/SampleTimerTrigger.cs
index 99f14246b7..6d338f120f 100644
--- a/samples/Sentry.Samples.Azure.Functions.Worker/SampleTimerTrigger.cs
+++ b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/SampleTimerTrigger.cs
@@ -1,7 +1,7 @@
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
-namespace Sentry.Samples.Azure.Functions.Worker;
+namespace Sentry.Samples.OpenTelemetry.AzureFunctions;
public class SampleTimerTrigger
{
diff --git a/samples/Sentry.Samples.Azure.Functions.Worker/Sentry.Samples.Azure.Functions.Worker.csproj b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/Sentry.Samples.OpenTelemetry.AzureFunctions.csproj
similarity index 74%
rename from samples/Sentry.Samples.Azure.Functions.Worker/Sentry.Samples.Azure.Functions.Worker.csproj
rename to samples/Sentry.Samples.OpenTelemetry.AzureFunctions/Sentry.Samples.OpenTelemetry.AzureFunctions.csproj
index 1ee89930e3..2e844d2068 100644
--- a/samples/Sentry.Samples.Azure.Functions.Worker/Sentry.Samples.Azure.Functions.Worker.csproj
+++ b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/Sentry.Samples.OpenTelemetry.AzureFunctions.csproj
@@ -10,6 +10,9 @@
+
+
+
@@ -30,6 +33,7 @@
-
+
+
diff --git a/samples/Sentry.Samples.Azure.Functions.Worker/host.json b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/host.json
similarity index 100%
rename from samples/Sentry.Samples.Azure.Functions.Worker/host.json
rename to samples/Sentry.Samples.OpenTelemetry.AzureFunctions/host.json
diff --git a/samples/Sentry.Samples.Azure.Functions.Worker/local.settings.json b/samples/Sentry.Samples.OpenTelemetry.AzureFunctions/local.settings.json
similarity index 100%
rename from samples/Sentry.Samples.Azure.Functions.Worker/local.settings.json
rename to samples/Sentry.Samples.OpenTelemetry.AzureFunctions/local.settings.json
diff --git a/scripts/generate-solution-filters-config.yaml b/scripts/generate-solution-filters-config.yaml
index 05821343ea..331042afbc 100644
--- a/scripts/generate-solution-filters-config.yaml
+++ b/scripts/generate-solution-filters-config.yaml
@@ -166,22 +166,6 @@ filterConfigs:
- "**/Sentry.Tests.csproj"
- "**/Sentry.Analyzers.Tests.csproj"
- - outputPath: Sentry.Azure.Functions.slnf
- include:
- patterns:
- - "**/*Azure.Functions*.csproj"
- - "**/Sentry.Samples.Console.Basic.csproj"
- - "**/Sentry.Extensions.Logging.csproj"
- - "**/Sentry.csproj"
- - "**/Sentry.Analyzers.csproj"
- - "**/Sentry.Testing.csproj"
- - "**/Sentry.Testing.CrashableApp.csproj"
- - "**/Sentry.Tests.csproj"
- - "**/Sentry.Analyzers.Tests.csproj"
- exclude:
- groups:
- - "artefacts"
-
- outputPath: SentryCore.slnf
solution: .generated.NoMobile.sln
include:
diff --git a/src/Sentry.Azure.Functions.Worker/.editorconfig b/src/Sentry.Azure.Functions.Worker/.editorconfig
deleted file mode 100644
index bdf468a081..0000000000
--- a/src/Sentry.Azure.Functions.Worker/.editorconfig
+++ /dev/null
@@ -1,5 +0,0 @@
-[*.cs]
-
-# Reason: Azure Functions worker doesn't set SynchronizationContext but Durable Functions does and required affinity.
-# (https://github.com/Azure/azure-functions-dotnet-worker/issues/1520)
-dotnet_diagnostic.CA2007.severity = none
\ No newline at end of file
diff --git a/src/Sentry.Azure.Functions.Worker/BindableSentryAzureFunctionsOptions.cs b/src/Sentry.Azure.Functions.Worker/BindableSentryAzureFunctionsOptions.cs
deleted file mode 100644
index b094af917e..0000000000
--- a/src/Sentry.Azure.Functions.Worker/BindableSentryAzureFunctionsOptions.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using Sentry.Extensions.Logging;
-
-namespace Sentry.Azure.Functions.Worker;
-
-///
-internal class BindableSentryAzureFunctionsOptions : BindableSentryLoggingOptions
-{
- public void ApplyTo(SentryAzureFunctionsOptions options)
- {
- base.ApplyTo(options);
- }
-}
diff --git a/src/Sentry.Azure.Functions.Worker/HttpRequestDataExtensions.cs b/src/Sentry.Azure.Functions.Worker/HttpRequestDataExtensions.cs
deleted file mode 100644
index 194e8dcd6f..0000000000
--- a/src/Sentry.Azure.Functions.Worker/HttpRequestDataExtensions.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using Microsoft.Azure.Functions.Worker.Http;
-using Sentry.Extensibility;
-
-namespace Sentry.Azure.Functions.Worker;
-
-internal static class HttpRequestDataExtensions
-{
- public static SentryTraceHeader? TryGetSentryTraceHeader(this HttpRequestData context, IDiagnosticLogger? logger)
- {
- var traceHeaderValue = context.Headers.TryGetValues(SentryTraceHeader.HttpHeaderName, out var values)
- ? values.FirstOrDefault()
- : null;
-
- if (traceHeaderValue is null)
- {
- logger?.LogDebug("Did not receive a Sentry trace header.");
- return null;
- }
-
- logger?.LogDebug("Received Sentry trace header '{0}'.", traceHeaderValue);
-
- try
- {
- return SentryTraceHeader.Parse(traceHeaderValue);
- }
- catch (Exception ex)
- {
- logger?.LogError(ex, "Invalid Sentry trace header '{0}'.", traceHeaderValue);
- return null;
- }
- }
-
- public static BaggageHeader? TryGetBaggageHeader(this HttpRequestData context, IDiagnosticLogger? logger)
- {
- var baggageValue = context.Headers.TryGetValues(BaggageHeader.HttpHeaderName, out var value)
- ? value.FirstOrDefault()
- : null;
-
- if (baggageValue is null)
- {
- logger?.LogDebug("Did not receive a Sentry baggage header.");
- return null;
- }
-
- // Note: If there are multiple baggage headers, they will be joined with comma delimiters,
- // and can thus be treated as a single baggage header.
-
- logger?.LogDebug("Received baggage header '{0}'.", baggageValue);
-
- try
- {
- return BaggageHeader.TryParse(baggageValue, onlySentry: true);
- }
- catch (Exception ex)
- {
- logger?.LogError(ex, "Invalid baggage header '{0}'.", baggageValue);
- return null;
- }
- }
-}
diff --git a/src/Sentry.Azure.Functions.Worker/Sentry.Azure.Functions.Worker.csproj b/src/Sentry.Azure.Functions.Worker/Sentry.Azure.Functions.Worker.csproj
deleted file mode 100644
index c3329b290f..0000000000
--- a/src/Sentry.Azure.Functions.Worker/Sentry.Azure.Functions.Worker.csproj
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
- $(CurrentTfms);netstandard2.0
- $(PackageTags);Azure;Functions;Worker
- Official Azure Functions Worker SDK integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
-
-
-
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Sentry.Azure.Functions.Worker/SentryAzureFunctionsLoggerProvider.cs b/src/Sentry.Azure.Functions.Worker/SentryAzureFunctionsLoggerProvider.cs
deleted file mode 100644
index 175fb966a3..0000000000
--- a/src/Sentry.Azure.Functions.Worker/SentryAzureFunctionsLoggerProvider.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Microsoft.Extensions.Logging;
-using Microsoft.Extensions.Options;
-using Sentry.Extensions.Logging;
-
-namespace Sentry.Azure.Functions.Worker;
-
-[ProviderAlias("Sentry")]
-internal class SentryAzureFunctionsLoggerProvider : SentryLoggerProvider
-{
- public SentryAzureFunctionsLoggerProvider(IOptions options, IHub hub)
- : base(options, hub)
- {
- }
-}
diff --git a/src/Sentry.Azure.Functions.Worker/SentryAzureFunctionsOptions.cs b/src/Sentry.Azure.Functions.Worker/SentryAzureFunctionsOptions.cs
deleted file mode 100644
index 7bf9c4a8ab..0000000000
--- a/src/Sentry.Azure.Functions.Worker/SentryAzureFunctionsOptions.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Sentry.Extensions.Logging;
-
-namespace Sentry.Azure.Functions.Worker;
-
-///
-/// Sentry Azure Functions integration options
-///
-public class SentryAzureFunctionsOptions : SentryLoggingOptions
-{
-}
diff --git a/src/Sentry.Azure.Functions.Worker/SentryAzureFunctionsOptionsSetup.cs b/src/Sentry.Azure.Functions.Worker/SentryAzureFunctionsOptionsSetup.cs
deleted file mode 100644
index 5c34afd748..0000000000
--- a/src/Sentry.Azure.Functions.Worker/SentryAzureFunctionsOptionsSetup.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.Options;
-
-namespace Sentry.Azure.Functions.Worker;
-
-#if NET8_0_OR_GREATER
-internal class SentryAzureFunctionsOptionsSetup : IConfigureOptions
-{
- private readonly IConfiguration _config;
-
- public SentryAzureFunctionsOptionsSetup(IConfiguration config)
- {
- ArgumentNullException.ThrowIfNull(config);
- _config = config;
- }
-
- public void Configure(SentryAzureFunctionsOptions options)
- {
- ArgumentNullException.ThrowIfNull(options);
-
- var bindable = new BindableSentryAzureFunctionsOptions();
- _config.Bind(bindable);
- bindable.ApplyTo(options);
-
- // These can't be changed by the user
- options.TagFilters.Add("AzureFunctions_");
- }
-}
-#else
-internal class SentryAzureFunctionsOptionsSetup : ConfigureFromConfigurationOptions
-{
- public SentryAzureFunctionsOptionsSetup(IConfiguration config) : base(config)
- {
- }
-
- public override void Configure(SentryAzureFunctionsOptions options)
- {
- // Mutable by user options
-
- base.Configure(options);
-
- // Immutable by user options
-
- options.TagFilters.Add("AzureFunctions_");
- }
-}
-#endif
diff --git a/src/Sentry.Azure.Functions.Worker/SentryFunctionsWorkerApplicationBuilderExtensions.cs b/src/Sentry.Azure.Functions.Worker/SentryFunctionsWorkerApplicationBuilderExtensions.cs
deleted file mode 100644
index 250db84e34..0000000000
--- a/src/Sentry.Azure.Functions.Worker/SentryFunctionsWorkerApplicationBuilderExtensions.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-using Microsoft.Azure.Functions.Worker;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Hosting;
-using Microsoft.Extensions.Logging;
-using Microsoft.Extensions.Options;
-using Sentry.Extensions.Logging.Extensions.DependencyInjection;
-
-namespace Sentry.Azure.Functions.Worker;
-
-///
-/// Sentry extension methods for Azure Functions with Isolated Worker SDK
-///
-[EditorBrowsable(EditorBrowsableState.Never)]
-public static class SentryFunctionsWorkerApplicationBuilderExtensions
-{
- ///
- /// Uses Sentry integration.
- ///
- public static IFunctionsWorkerApplicationBuilder UseSentry(this IFunctionsWorkerApplicationBuilder builder, HostBuilderContext context)
- => UseSentry(builder, context, (Action?)null);
-
- ///
- /// Uses Sentry integration.
- ///
- public static IFunctionsWorkerApplicationBuilder UseSentry(this IFunctionsWorkerApplicationBuilder builder, HostBuilderContext context, string dsn)
- => builder.UseSentry(context, o => o.Dsn = dsn);
-
- ///
- /// Uses Sentry integration.
- ///
- public static IFunctionsWorkerApplicationBuilder UseSentry(
- this IFunctionsWorkerApplicationBuilder builder,
- Action? optionsConfiguration)
- {
- if (builder is IHostApplicationBuilder appBuilder)
- {
- return builder.UseSentry(appBuilder.Configuration, optionsConfiguration);
- }
- throw new InvalidOperationException("Builder is not of type " + typeof(IHostApplicationBuilder));
- }
-
- ///
- /// Uses Sentry integration.
- ///
- public static IFunctionsWorkerApplicationBuilder UseSentry(
- this IFunctionsWorkerApplicationBuilder builder,
- HostBuilderContext context,
- Action? optionsConfiguration)
- => builder.UseSentry(context.Configuration, optionsConfiguration);
-
-
- ///
- /// Uses Sentry integration.
- ///
- public static IFunctionsWorkerApplicationBuilder UseSentry(
- this IFunctionsWorkerApplicationBuilder builder,
- IConfiguration configuration,
- Action? optionsConfiguration)
- {
- builder.UseMiddleware();
-
- var services = builder.Services;
- var section = configuration.GetSection("Sentry");
-#if NET8_0_OR_GREATER
- services.AddSingleton>(_ =>
- new SentryAzureFunctionsOptionsSetup(section)
- );
-#else
- services.Configure(options =>
- section.Bind(options));
-#endif
-
- if (optionsConfiguration != null)
- {
- services.Configure(optionsConfiguration);
- }
-
- services.AddLogging();
- services.AddSingleton();
- services.AddSingleton, SentryAzureFunctionsOptionsSetup>();
-
- services.AddSentry();
-
- return builder;
- }
-}
diff --git a/src/Sentry.Azure.Functions.Worker/SentryFunctionsWorkerMiddleware.cs b/src/Sentry.Azure.Functions.Worker/SentryFunctionsWorkerMiddleware.cs
deleted file mode 100644
index 72eebe5d76..0000000000
--- a/src/Sentry.Azure.Functions.Worker/SentryFunctionsWorkerMiddleware.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-using Microsoft.Azure.Functions.Worker;
-using Microsoft.Azure.Functions.Worker.Middleware;
-using Sentry.Extensibility;
-using Sentry.Internal;
-
-namespace Sentry.Azure.Functions.Worker;
-
-internal class SentryFunctionsWorkerMiddleware : IFunctionsWorkerMiddleware
-{
- private const string Operation = "function";
- internal const string AzureFunctionsOrigin = "auto.function.azure";
-
- private readonly IHub _hub;
- private readonly IDiagnosticLogger? _logger;
- private static readonly ConcurrentDictionary TransactionNameCache = new();
-
- public SentryFunctionsWorkerMiddleware(IHub hub)
- {
- _hub = hub;
- _logger = hub.GetSentryOptions()?.DiagnosticLogger;
- }
-
- public async Task Invoke(FunctionContext context, FunctionExecutionDelegate next)
- {
- var transactionContext = await StartOrContinueTraceAsync(context);
- var transaction = _hub.StartTransaction(transactionContext);
- transaction.Contexts.Trace.Origin = AzureFunctionsOrigin;
- Exception? unhandledException = null;
-
- try
- {
- _hub.ConfigureScope(scope =>
- {
- scope.Transaction = transaction;
-
- scope.Contexts["function"] = new Dictionary
- {
- { "name", context.FunctionDefinition.Name },
- { "entryPoint", context.FunctionDefinition.EntryPoint },
- { "invocationId", context.InvocationId }
- };
- });
-
- context.CancellationToken.ThrowIfCancellationRequested();
-
- await next(context);
- }
- catch (Exception exception)
- {
- exception.SetSentryMechanism(nameof(SentryFunctionsWorkerMiddleware),
- "This exception was caught by the Sentry Functions middleware. " +
- "The Function has thrown an exception that was not handled by the user code.",
- handled: false);
-
- unhandledException = exception;
-
- throw;
- }
- finally
- {
- if (unhandledException is not null)
- {
- transaction.Finish(unhandledException);
- }
- else
- {
- var statusCode = context.GetHttpResponseData()?.StatusCode;
-
- // For HTTP triggered function, finish transaction with the returned HTTP status code
- if (statusCode is not null)
- {
- var status = SpanStatusConverter.FromHttpStatusCode(statusCode.Value);
-
- transaction.Finish(status);
- }
- else
- {
- transaction.Finish();
- }
- }
- }
- }
-
- [UnconditionalSuppressMessage("Trimming", "IL2026: RequiresUnreferencedCode", Justification = AotHelper.AvoidAtRuntime)]
- [UnconditionalSuppressMessage("Trimming", "IL2075: DynamicallyAccessedMembers", Justification = AotHelper.AvoidAtRuntime)]
- private async Task StartOrContinueTraceAsync(FunctionContext context)
- {
- var transactionName = context.FunctionDefinition.Name;
-
- // Get the HTTP request data
- var requestData = await context.GetHttpRequestDataAsync();
- if (requestData is null)
- {
- // not an HTTP trigger
- return _hub.ContinueTrace((SentryTraceHeader?)null, (BaggageHeader?)null, transactionName, Operation);
- }
-
- var httpMethod = requestData.Method.ToUpperInvariant();
- var transactionNameKey = $"{context.FunctionDefinition.EntryPoint}-{httpMethod}";
-
- // Note that, when Trimming is enabled, we can't use reflection to read route data from the HttpTrigger
- // attribute. In that case the route name will always be /api/
- // If this is ever a problem for customers, we can potentially see if there are alternate ways to get this info
- // from route tables or something. We're not even sure if anyone will use this functionality for now though.
- if (!AotHelper.IsTrimmed && !TransactionNameCache.TryGetValue(transactionNameKey, out transactionName))
- {
- // Find the HTTP Trigger attribute via reflection
- var assembly = Assembly.LoadFrom(context.FunctionDefinition.PathToAssembly);
- var entryPointName = context.FunctionDefinition.EntryPoint;
-
- var typeName = entryPointName[..entryPointName.LastIndexOf('.')];
- var methodName = entryPointName[(typeName.Length + 1)..];
- var attribute = assembly.GetType(typeName)?.GetMethod(methodName)?.GetParameters()
- .Select(p => p.GetCustomAttribute())
- .FirstOrDefault(a => a is not null);
-
- transactionName = attribute?.Route is { } route
- // Compose the transaction name from the method and route
- ? $"{httpMethod} /{route.TrimStart('/')}"
- // There's no route provided, so use the absolute path of the URL
- : $"{httpMethod} {requestData.Url.AbsolutePath}";
-
- TransactionNameCache.TryAdd(transactionNameKey, transactionName);
- }
-
- var traceHeader = requestData.TryGetSentryTraceHeader(_logger);
- var baggageHeader = requestData.TryGetBaggageHeader(_logger);
-
- return SentrySdk.ContinueTrace(traceHeader, baggageHeader, transactionName, Operation);
- }
-}
diff --git a/src/Sentry.Extensions.Logging/Sentry.Extensions.Logging.csproj b/src/Sentry.Extensions.Logging/Sentry.Extensions.Logging.csproj
index 4201207da5..4f66c6e615 100644
--- a/src/Sentry.Extensions.Logging/Sentry.Extensions.Logging.csproj
+++ b/src/Sentry.Extensions.Logging/Sentry.Extensions.Logging.csproj
@@ -44,8 +44,6 @@
-
-
diff --git a/src/Sentry/Sentry.csproj b/src/Sentry/Sentry.csproj
index ed8451dbfa..76cfe3021b 100644
--- a/src/Sentry/Sentry.csproj
+++ b/src/Sentry/Sentry.csproj
@@ -148,8 +148,6 @@
-
-
diff --git a/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.DotNet10_0.verified.txt b/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.DotNet10_0.verified.txt
deleted file mode 100644
index f6ee752df8..0000000000
--- a/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.DotNet10_0.verified.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace Sentry.Azure.Functions.Worker
-{
- public class SentryAzureFunctionsOptions : Sentry.Extensions.Logging.SentryLoggingOptions
- {
- public SentryAzureFunctionsOptions() { }
- }
- public static class SentryFunctionsWorkerApplicationBuilderExtensions
- {
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Configuration.IConfiguration configuration, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context, string dsn) { }
- }
-}
\ No newline at end of file
diff --git a/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.DotNet8_0.verified.txt b/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.DotNet8_0.verified.txt
deleted file mode 100644
index f6ee752df8..0000000000
--- a/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.DotNet8_0.verified.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace Sentry.Azure.Functions.Worker
-{
- public class SentryAzureFunctionsOptions : Sentry.Extensions.Logging.SentryLoggingOptions
- {
- public SentryAzureFunctionsOptions() { }
- }
- public static class SentryFunctionsWorkerApplicationBuilderExtensions
- {
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Configuration.IConfiguration configuration, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context, string dsn) { }
- }
-}
\ No newline at end of file
diff --git a/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.DotNet9_0.verified.txt b/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.DotNet9_0.verified.txt
deleted file mode 100644
index f6ee752df8..0000000000
--- a/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.DotNet9_0.verified.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace Sentry.Azure.Functions.Worker
-{
- public class SentryAzureFunctionsOptions : Sentry.Extensions.Logging.SentryLoggingOptions
- {
- public SentryAzureFunctionsOptions() { }
- }
- public static class SentryFunctionsWorkerApplicationBuilderExtensions
- {
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Configuration.IConfiguration configuration, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context, string dsn) { }
- }
-}
\ No newline at end of file
diff --git a/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.Net4_8.verified.txt b/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.Net4_8.verified.txt
deleted file mode 100644
index f6ee752df8..0000000000
--- a/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.Run.Net4_8.verified.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace Sentry.Azure.Functions.Worker
-{
- public class SentryAzureFunctionsOptions : Sentry.Extensions.Logging.SentryLoggingOptions
- {
- public SentryAzureFunctionsOptions() { }
- }
- public static class SentryFunctionsWorkerApplicationBuilderExtensions
- {
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Configuration.IConfiguration configuration, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context, System.Action? optionsConfiguration) { }
- public static Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder UseSentry(this Microsoft.Azure.Functions.Worker.IFunctionsWorkerApplicationBuilder builder, Microsoft.Extensions.Hosting.HostBuilderContext context, string dsn) { }
- }
-}
\ No newline at end of file
diff --git a/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.verify.cs b/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.verify.cs
deleted file mode 100644
index a99f9b7b25..0000000000
--- a/test/Sentry.Azure.Functions.Worker.Tests/ApiApprovalTests.verify.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace Sentry.Azure.Functions.Worker.Tests;
-
-public class ApiApprovalTests
-{
- [Fact]
- public Task Run()
- {
- return typeof(SentryFunctionsWorkerMiddleware).Assembly.CheckApproval();
- }
-}
diff --git a/test/Sentry.Azure.Functions.Worker.Tests/BindableSentryAzureFunctionsOptionsTests.cs b/test/Sentry.Azure.Functions.Worker.Tests/BindableSentryAzureFunctionsOptionsTests.cs
deleted file mode 100644
index 2f061b45e2..0000000000
--- a/test/Sentry.Azure.Functions.Worker.Tests/BindableSentryAzureFunctionsOptionsTests.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-#if NET8_0_OR_GREATER
-using Microsoft.Extensions.Configuration;
-
-namespace Sentry.Azure.Functions.Worker.Tests;
-
-public class BindableSentryAzureFunctionsOptionsTests : BindableTests
-{
- [Fact]
- public void BindableProperties_MatchOptionsProperties()
- {
- var actual = GetPropertyNames();
- AssertContainsAllOptionsProperties(actual);
- }
-
- [Fact]
- public void ApplyTo_SetsOptionsFromConfig()
- {
- // Arrange
- var actual = new SentryAzureFunctionsOptions();
- var bindable = new BindableSentryAzureFunctionsOptions();
-
- // Act
- Fixture.Config.Bind(bindable);
- bindable.ApplyTo(actual);
-
- // Assert
- AssertContainsExpectedPropertyValues(actual);
- }
-}
-#endif
diff --git a/test/Sentry.Azure.Functions.Worker.Tests/Sentry.Azure.Functions.Worker.Tests.csproj b/test/Sentry.Azure.Functions.Worker.Tests/Sentry.Azure.Functions.Worker.Tests.csproj
deleted file mode 100644
index 7e2f3e1603..0000000000
--- a/test/Sentry.Azure.Functions.Worker.Tests/Sentry.Azure.Functions.Worker.Tests.csproj
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- $(CurrentTfms)
-
- $(TargetFrameworks);net48
-
-
-
-
-
-
-
-
diff --git a/test/Sentry.Azure.Functions.Worker.Tests/SentryFunctionsWorkerMiddlewareTests.cs b/test/Sentry.Azure.Functions.Worker.Tests/SentryFunctionsWorkerMiddlewareTests.cs
deleted file mode 100644
index 2408e00d1a..0000000000
--- a/test/Sentry.Azure.Functions.Worker.Tests/SentryFunctionsWorkerMiddlewareTests.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-using Microsoft.Azure.Functions.Worker;
-using Microsoft.Azure.Functions.Worker.Http;
-
-namespace Sentry.Azure.Functions.Worker.Tests;
-
-public class SentryFunctionsWorkerMiddlewareTests
-{
- private class Fixture
- {
- public IHub Hub { get; set; }
- public IInternalScopeManager ScopeManager { get; }
- public SentryTransaction Transaction { get; set; }
-
- public Fixture()
- {
- var options = new SentryOptions
- {
- Dsn = ValidDsn,
- TracesSampleRate = 1.0,
- };
-
- var client = Substitute.For();
- var sessionManager = Substitute.For();
-
- client.When(x => x.CaptureTransaction(Arg.Any(), Arg.Any(), Arg.Any()))
- .Do(callback => Transaction = callback.Arg());
-
- ScopeManager = new SentryScopeManager(options, client);
- Hub = new Hub(options, client, sessionManager, new MockClock(), ScopeManager);
- }
-
- public SentryFunctionsWorkerMiddleware GetSut() => new(Hub);
- }
-
- private readonly Fixture _fixture = new();
-
- [Function(nameof(ThrowingHttpFunction))]
- private Task ThrowingHttpFunction([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req,
- FunctionContext executionContext)
- {
- throw new Exception("Kaboom, Riko!");
- }
-
- [Function(nameof(HttpFunction))]
- private Task HttpFunction([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req,
- FunctionContext executionContext)
- {
- return Task.FromResult(Substitute.For(executionContext));
- }
-
- [Fact]
- public async Task Original_exception_rethrown()
- {
- var functionContext = Substitute.For();
- var expected = "Kaboom, Riko!";
- Task FunctionExecutionDelegate(FunctionContext context) => ThrowingHttpFunction(null, context);
-
- var sut = _fixture.GetSut();
-
- var actual = await Assert.ThrowsAsync(async () => await sut.Invoke(functionContext, FunctionExecutionDelegate));
-
- actual.Message.Should().Be(expected);
- }
-
- [Fact]
- public async Task Transaction_PropertiesAreSet()
- {
- // Arrange
- var functionContext = Substitute.For();
- var functionDefinition = Substitute.For();
- functionContext.FunctionDefinition.Returns(functionDefinition);
- functionDefinition.Name.Returns(nameof(HttpFunction));
-
- var sut = _fixture.GetSut();
-
- // Act
- await sut.Invoke(functionContext, context => HttpFunction(null, context));
-
- // Assert
- var transaction = _fixture.Transaction;
- transaction.Should().NotBeNull();
- transaction.Name.Should().Be(functionDefinition.Name);
- transaction.Operation.Should().Be("function");
- transaction.Origin.Should().Be(SentryFunctionsWorkerMiddleware.AzureFunctionsOrigin);
- }
-
- [Fact]
- public async Task Tags_set()
- {
- var functionContext = Substitute.For();
- var functionDefinition = Substitute.For();
- functionContext.FunctionDefinition.Returns(functionDefinition);
- functionDefinition.Name.Returns(nameof(HttpFunction));
-
- var sut = _fixture.GetSut();
-
- await sut.Invoke(functionContext, context => HttpFunction(null, context));
-
- var scope = _fixture.ScopeManager.GetCurrent().Key;
- var context = scope.Contexts["function"].As>();
-
- context.Should().NotBeNull();
- context.Count.Should().Be(3);
- context["name"].Should().Be(functionDefinition.Name);
- context["entryPoint"].Should().Be(functionDefinition.EntryPoint);
- context["invocationId"].Should().Be(functionContext.InvocationId);
- }
-
- [Fact]
- public async Task Unhandled_exception_sets_mechanism()
- {
- var functionContext = Substitute.For();
-
- var sut = _fixture.GetSut();
-
- var actual = await Assert.ThrowsAsync(async () => await sut.Invoke(functionContext, context => ThrowingHttpFunction(null, context)));
-
- actual.Data[Mechanism.MechanismKey].Should().Be(nameof(SentryFunctionsWorkerMiddleware));
- actual.Data[Mechanism.HandledKey].Should().Be(false);
- actual.Data[Mechanism.DescriptionKey].Should().NotBeNull();
- }
-
- [Fact]
- public async Task Skips_function_invocation_when_cancellation_requested()
- {
- var functionContext = Substitute.For();
- functionContext.CancellationToken.Returns(new CancellationToken(canceled: true));
- var functionInvoked = false;
-
- var sut = _fixture.GetSut();
-
- _ = await Assert.ThrowsAsync(() => sut.Invoke(functionContext, _ =>
- {
- functionInvoked = true;
- return Task.CompletedTask;
- }));
-
- functionInvoked.Should().BeFalse();
- }
-}
diff --git a/test/Sentry.Testing/Sentry.Testing.csproj b/test/Sentry.Testing/Sentry.Testing.csproj
index ef007c56b8..4a5c86e2bd 100644
--- a/test/Sentry.Testing/Sentry.Testing.csproj
+++ b/test/Sentry.Testing/Sentry.Testing.csproj
@@ -14,7 +14,6 @@
-
diff --git a/test/Sentry.TrimTest/Sentry.TrimTest.csproj b/test/Sentry.TrimTest/Sentry.TrimTest.csproj
index 5b671fa03e..4a525274ef 100644
--- a/test/Sentry.TrimTest/Sentry.TrimTest.csproj
+++ b/test/Sentry.TrimTest/Sentry.TrimTest.csproj
@@ -39,7 +39,6 @@
-