From acfc49efc22b443896b42cba17b42ef234ff4f82 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Fri, 29 Sep 2023 19:04:06 +0200 Subject: feat(users/Profpatsch/MonadPostgres): trace db queries MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Experiment of how to instrument a lib I’m using to trace instead of log. Now that we added MonadTracer to Transaction, we can drop the unlifted `inSpanT`. Change-Id: Iea891a58cfb33a0837978611456c33aefcccf0d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9491 Autosubmit: Profpatsch Tested-by: BuildkiteCI Reviewed-by: Profpatsch --- users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) (limited to 'users/Profpatsch/whatcd-resolver') diff --git a/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs b/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs index c105de9aff..5498cb235f 100644 --- a/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs +++ b/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs @@ -41,7 +41,6 @@ import Network.HTTP.Types qualified as Http import Network.Wai qualified as Wai import Network.Wai.Handler.Warp qualified as Warp import OpenTelemetry.Trace qualified as Otel hiding (getTracer, inSpan) -import OpenTelemetry.Trace qualified as OtelTrace import OpenTelemetry.Trace.Monad qualified as Otel import PossehlAnalyticsPrelude import Postgres.Decoder qualified as Dec @@ -918,7 +917,7 @@ migrate :: Otel.MonadTracer m ) => Transaction m (Label "numberOfRowsAffected" Natural) -migrate = inSpanT "Database Migration" $ do +migrate = inSpan "Database Migration" $ do execute_ [sql| CREATE SCHEMA IF NOT EXISTS redacted; @@ -1048,18 +1047,6 @@ getBestTorrents = do inSpan :: (MonadUnliftIO m, Otel.MonadTracer m) => Text -> m a -> m a inSpan name = Otel.inSpan name Otel.defaultSpanArguments -inSpanT :: (Otel.MonadTracer m, MonadUnliftIO m) => Text -> Transaction m b -> Transaction m b -inSpanT name transaction = do - tracer <- lift @Transaction $ Otel.getTracer - -- I don’t want to implement MonadTracer for Transaction, - -- so I’m unlifting it via IO, that should work :P - withRunInIO $ \runInIO -> do - OtelTrace.inSpan - tracer - name - Otel.defaultSpanArguments - (runInIO transaction) - hush :: Either a1 a2 -> Maybe a2 hush (Left _) = Nothing hush (Right a) = Just a -- cgit 1.4.1