From d29a0a65ac8927bec85d95a801f3b7013c224b3b Mon Sep 17 00:00:00 2001
From: Jakub Majocha <1760221+majocha@users.noreply.github.com>
Date: Wed, 29 Jan 2025 23:31:07 +0100
Subject: [PATCH] enable otel in tests on demand
---
tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj | 2 ++
tests/FSharp.Test.Utilities/XunitHelpers.fs | 5 +++++
2 files changed, 7 insertions(+)
diff --git a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
index 37c1940b7a9..98da652d668 100644
--- a/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
+++ b/tests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj
@@ -15,6 +15,8 @@
true
XUNIT_EXTRAS
+
+
diff --git a/tests/FSharp.Test.Utilities/XunitHelpers.fs b/tests/FSharp.Test.Utilities/XunitHelpers.fs
index ce4d47b9635..b4c67fe33cf 100644
--- a/tests/FSharp.Test.Utilities/XunitHelpers.fs
+++ b/tests/FSharp.Test.Utilities/XunitHelpers.fs
@@ -155,6 +155,8 @@ type FSharpXunitFramework(sink: IMessageSink) =
AssemblyResolver.addResolver ()
#endif
+// Uncomment definition in project file to enable OpenTelemetry tracing.
+#if OTEL
let traceProvider =
Sdk.CreateTracerProviderBuilder()
.AddSource(ActivityNames.FscSourceName)
@@ -162,12 +164,15 @@ type FSharpXunitFramework(sink: IMessageSink) =
ResourceBuilder.CreateDefault().AddService(serviceName="F#", serviceVersion = "1.0.0"))
.AddOtlpExporter()
.Build()
+#endif
interface IDisposable with
member _.Dispose() =
cleanUpTemporaryDirectoryOfThisTestRun ()
+#if OTEL
traceProvider.ForceFlush() |> ignore
traceProvider.Dispose()
+#endif
base.Dispose()
// Group test run under single activity, to make traces more readable.