Skip to content

Commit 1d8907f

Browse files
committed
confine CPP to the EKG module
1 parent 700d73f commit 1d8907f

File tree

3 files changed

+20
-22
lines changed

3 files changed

+20
-22
lines changed

ghcide/exe/Main.hs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
-- Copyright (c) 2019 The DAML Authors. All rights reserved.
22
-- SPDX-License-Identifier: Apache-2.0
33
{-# OPTIONS_GHC -Wno-dodgy-imports #-} -- GHC no longer exports def in GHC 8.6 and above
4-
{-# LANGUAGE CPP #-}
54
{-# LANGUAGE TemplateHaskell #-}
65

76
module Main(main) where
@@ -20,6 +19,8 @@ import Development.IDE.Core.Rules (mainRule)
2019
import qualified Development.IDE.Core.Rules as Rules
2120
import Development.IDE.Core.Tracing (withTelemetryLogger)
2221
import qualified Development.IDE.Main as IDEMain
22+
import qualified Development.IDE.Monitoring.OpenTelemetry as OpenTelemetry
23+
import qualified Development.IDE.Monitoring.EKG as EKG
2324
import qualified Development.IDE.Plugin.HLS.GhcIde as GhcIde
2425
import Development.IDE.Types.Logger (Logger (Logger),
2526
LoggingColumn (DataColumn, PriorityColumn),
@@ -43,11 +44,6 @@ import System.Exit (exitSuccess)
4344
import System.IO (hPutStrLn, stderr)
4445
import System.Info (compilerVersion)
4546

46-
#ifdef MONITORING_EKG
47-
import qualified Development.IDE.Monitoring.OpenTelemetry as OpenTelemetry
48-
import qualified Development.IDE.Monitoring.EKG as EKG
49-
#endif
50-
5147
data Log
5248
= LogIDEMain IDEMain.Log
5349
| LogRules Rules.Log
@@ -147,7 +143,5 @@ main = withTelemetryLogger $ \telemetryLogger -> do
147143
, optCheckProject = pure $ checkProject config
148144
, optRunSubset = not argsConservativeChangeTracking
149145
}
150-
#ifdef MONITORING_EKG
151146
, IDEMain.argsMonitoring = OpenTelemetry.monitoring <> EKG.monitoring logger argsMonitoringPort
152-
#endif
153147
}

ghcide/src/Development/IDE/Main.hs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
{-# LANGUAGE CPP #-}
21
{-# LANGUAGE PackageImports #-}
32
{-# OPTIONS_GHC -Wno-orphans #-}
43
module Development.IDE.Main
@@ -63,6 +62,9 @@ import Development.IDE.LSP.LanguageServer (runLanguageServer)
6362
import qualified Development.IDE.LSP.LanguageServer as LanguageServer
6463
import Development.IDE.Main.HeapStats (withHeapStats)
6564
import qualified Development.IDE.Main.HeapStats as HeapStats
65+
import Development.IDE.Types.Monitoring (Monitoring)
66+
import qualified Development.IDE.Monitoring.EKG as EKG
67+
import qualified Development.IDE.Monitoring.OpenTelemetry as OpenTelemetry
6668
import Development.IDE.Plugin (Plugin (pluginHandlers, pluginModifyDynflags, pluginRules))
6769
import Development.IDE.Plugin.HLS (asGhcIdePlugin)
6870
import qualified Development.IDE.Plugin.HLS as PluginHLS
@@ -130,12 +132,6 @@ import System.Random (newStdGen)
130132
import System.Time.Extra (Seconds, offsetTime,
131133
showDuration)
132134
import Text.Printf (printf)
133-
import Development.IDE.Types.Monitoring (Monitoring)
134-
import qualified Development.IDE.Monitoring.OpenTelemetry as OpenTelemetry
135-
136-
#ifdef MONITORING_EKG
137-
import qualified Development.IDE.Monitoring.EKG as EKG
138-
#endif
139135

140136
data Log
141137
= LogHeapStats !HeapStats.Log
@@ -275,10 +271,7 @@ defaultArguments recorder logger = Arguments
275271
-- the language server tests without the redirection.
276272
putStr " " >> hFlush stdout
277273
return newStdout
278-
, argsMonitoring = OpenTelemetry.monitoring
279-
#ifdef MONITORING_EKG
280-
<> EKG.monitoring logger 8999
281-
#endif
274+
, argsMonitoring = OpenTelemetry.monitoring <> EKG.monitoring logger 8999
282275
}
283276

284277

ghcide/src/Development/IDE/Monitoring/EKG.hs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1+
{-# LANGUAGE CPP #-}
12
module Development.IDE.Monitoring.EKG(monitoring) where
3+
4+
import Development.IDE.Types.Monitoring (Monitoring (..))
5+
import Development.IDE.Types.Logger (Logger)
6+
#ifdef EKG
27
import Control.Concurrent (killThread)
38
import Control.Concurrent.Async (async, waitCatch)
49
import Control.Monad (forM_)
510
import Data.Text (pack)
6-
import Development.IDE.Types.Logger (Logger, logInfo)
7-
import Development.IDE.Types.Monitoring (Monitoring (..))
8-
import qualified System.Metrics as Monitoring
11+
import Development.IDE.Types.Logger (logInfo)
912
import qualified System.Remote.Monitoring.Wai as Monitoring
13+
import qualified System.Metrics as Monitoring
1014

1115
-- | Monitoring using EKG
1216
monitoring :: Logger -> Int -> IO Monitoring
@@ -35,3 +39,10 @@ monitoring logger port = do
3539
logInfo logger "Stopping monitoring server"
3640
killThread $ Monitoring.serverThreadId s
3741
return $ Monitoring {..}
42+
43+
#else
44+
45+
monitoring :: Logger -> Int -> IO Monitoring
46+
monitoring _ _ = mempty
47+
48+
#endif

0 commit comments

Comments
 (0)