@@ -6,7 +6,10 @@ module Development.IDE.Core.Tracing
6
6
, startTelemetry
7
7
, measureMemory
8
8
, getInstrumentCached
9
- ,otTracedProvider ,otSetUri )
9
+ , otTracedProvider
10
+ , otSetUri
11
+ , isTracingEnabled
12
+ )
10
13
where
11
14
12
15
import Control.Concurrent.Async (Async , async )
@@ -58,14 +61,15 @@ otTracedHandler
58
61
-> (SpanInFlight -> m a )
59
62
-> m a
60
63
otTracedHandler requestType label act =
61
- let ! name =
62
- if null label
63
- then requestType
64
- else requestType <> " :" <> show label
65
- -- Add an event so all requests can be quickly seen in the viewer without searching
66
- in do
67
- runInIO <- askRunInIO
68
- liftIO $ withSpan (fromString name) (\ sp -> addEvent sp " " (fromString $ name <> " received" ) >> runInIO (act sp))
64
+ | isTracingEnabled = do
65
+ let ! name =
66
+ if null label
67
+ then requestType
68
+ else requestType <> " :" <> show label
69
+ -- Add an event so all requests can be quickly seen in the viewer without searching
70
+ runInIO <- askRunInIO
71
+ liftIO $ withSpan (fromString name) (\ sp -> addEvent sp " " (fromString $ name <> " received" ) >> runInIO (act sp))
72
+ | otherwise = act
69
73
70
74
otSetUri :: SpanInFlight -> Uri -> IO ()
71
75
otSetUri sp (Uri t) = setTag sp " uri" (encodeUtf8 t)
@@ -106,11 +110,13 @@ otTracedProvider :: MonadUnliftIO m => PluginId -> ByteString -> m a -> m a
106
110
#else
107
111
otTracedProvider :: MonadUnliftIO m => PluginId -> String -> m a -> m a
108
112
#endif
109
- otTracedProvider (PluginId pluginName) provider act = do
110
- runInIO <- askRunInIO
111
- liftIO $ withSpan (provider <> " provider" ) $ \ sp -> do
112
- setTag sp " plugin" (encodeUtf8 pluginName)
113
- runInIO act
113
+ otTracedProvider (PluginId pluginName) provider act
114
+ | isTracingEnabled = do
115
+ runInIO <- askRunInIO
116
+ liftIO $ withSpan (provider <> " provider" ) $ \ sp -> do
117
+ setTag sp " plugin" (encodeUtf8 pluginName)
118
+ runInIO act
119
+ | otherwise = act
114
120
115
121
startTelemetry :: Bool -> Logger -> Var Values -> IO ()
116
122
startTelemetry allTheTime logger stateRef = do
0 commit comments