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.