From 07133a8fe9ffefd11a9328bb89ddf5c08165f2af Mon Sep 17 00:00:00 2001 From: Jimmy Byrd Date: Sun, 26 Feb 2023 13:08:55 -0500 Subject: [PATCH] OpenTelemetry settings (#1831) Co-authored-by: Chet Husk --- release/package.json | 19 +++++++++++++++++++ src/Core/LanguageService.fs | 5 +++++ 2 files changed, 24 insertions(+) diff --git a/release/package.json b/release/package.json index a44ba62f..fc9bcf32 100644 --- a/release/package.json +++ b/release/package.json @@ -672,6 +672,25 @@ "description": "Automatically shows the MSBuild output panel when MSBuild functionality is invoked", "type": "boolean" }, + "FSharp.notifications.trace": { + "default": false, + "description": "Enables more verbose notifications using System.Diagnostics.Activity to view traces from FSharp.Compiler.Service.", + "type" : "boolean" + }, + "FSharp.notifications.traceNamespaces": { + "default": [ + "BoundModel.TypeCheck", + "BackgroundCompiler." + ], + "description": "The set of System.Diagnostics.Activity names to watch.", + "type" : "array", + "required": ["FSharp.notifications.trace"] + }, + "FSharp.openTelemetry.enabled": { + "default": false, + "description": "Enables OpenTelemetry exporter. See https://opentelemetry.io/docs/reference/specification/protocol/exporter/ for environment variables to configure for the exporter. Requires Restart.", + "type": "boolean" + }, "FSharp.pipelineHints.enabled": { "default": true, "description": "Enables PipeLine hints, which are like LineLenses that appear along each step of a chain of piped expressions", diff --git a/src/Core/LanguageService.fs b/src/Core/LanguageService.fs index 9d1a5358..9aeb4d5e 100644 --- a/src/Core/LanguageService.fs +++ b/src/Core/LanguageService.fs @@ -677,6 +677,9 @@ Consider: let enableAdaptiveLspServer = "FSharp.enableAdaptiveLspServer" |> Configuration.get false + let openTelemetryEnabled = + "FSharp.openTelemetry.enabled" |> Configuration.get false + let enableProjectGraph = "FSharp.enableMSBuildProjectGraph" |> Configuration.get false @@ -809,6 +812,8 @@ Consider: yield "--project-graph-enabled" if enableAdaptiveLspServer then yield "--adaptive-lsp-server-enabled" + if openTelemetryEnabled then + yield "--otel-exporter-enabled" if verbose then yield "--verbose" if fsacSilencedLogs <> null && fsacSilencedLogs.Length > 0 then