packages feed

wrecker 1.2.1.0 → 1.2.2.0

raw patch · 2 files changed

+14/−13 lines, 2 files

Files

src/Wrecker/Runner.hs view
@@ -86,19 +86,12 @@     recorderRef <- newIORef $ recorder env     let takeRecorder = atomicModifyIORef' recorderRef $ \x -> (Recorder.split x, x)         actionThread =-            void $             BoundedThreadGroup.forkIO threadLimit $ do-                rec <- takeRecorder-                handle-                    (\e -> do-                         case fromException e of-                             Just (Recorder.HandledError he) -> void $ logWarn logger $ show he-                             Nothing -> do-                                 logWarn logger $ show e-                                 Recorder.addEvent (recorder env) Recorder.RuntimeError-                                 Recorder.addEvent (recorder env) Recorder.End) $ do-                    action (env {recorder = rec})-                    Recorder.addEvent rec Recorder.End+                bracket takeRecorder (\rec -> Recorder.addEvent rec Recorder.End) $ \rec -> do+                    result <- try $ action (env {recorder = rec})+                    case result of+                        Right _ -> return ()+                        Left e -> recordException e     case runStyle of         RunCount count -> replicateM_ (count * concurrency) actionThread         RunTimed time -> void $ timeout (time * 1000000) $ forever actionThread@@ -106,6 +99,14 @@     case mtimeout of         Nothing -> void $ logError logger $ "Timed out waiting for all " ++ "threads to complete"         Just () -> return ()+  where+    recordException e =+        case fromException e of+            Just (Recorder.HandledError he) -> do+                void $ logWarn logger $ show he+            _ -> do+                logWarn logger $ show e+                Recorder.addEvent (recorder env) Recorder.RuntimeError  ------------------------------------------------------------------------------ ---   Generic Run Function
wrecker.cabal view
@@ -1,5 +1,5 @@ name:                wrecker-version:             1.2.1.0+version:             1.2.2.0 synopsis:            An HTTP Performance Benchmarker description:  'wrecker' is a library and executable for creating HTTP benchmarks. It is designed for