wrecker 1.2.1.0 → 1.2.2.0
raw patch · 2 files changed
+14/−13 lines, 2 files
Files
- src/Wrecker/Runner.hs +13/−12
- wrecker.cabal +1/−1
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