IdrisDoc: Effect.Perf

Effect.Perf

A naive performance effect for gathering data about the
performance of effectful programmes.

MkPMetrics : (canPerf : Bool) -> (livePerf : Bool) -> (counters : List (String, Nat)) -> (timers : List (String, Timer)) -> (stime : Integer) -> (stamps : List (String, Integer)) -> PMetrics
MkTimer : (desc : String) -> (start : Integer) -> (stop : Integer) -> (splits : List (Integer, Maybe String)) -> Timer
PERF : EFFECT
record PMetrics 

Performance Metrics to keep during program lifetime.

MkPMetrics : (canPerf : Bool) -> (livePerf : Bool) -> (counters : List (String, Nat)) -> (timers : List (String, Timer)) -> (stime : Integer) -> (stamps : List (String, Integer)) -> PMetrics
canPerf : (rec : PMetrics) -> Bool
livePerf : (rec : PMetrics) -> Bool
counters : (rec : PMetrics) -> List (String, Nat)
timers : (rec : PMetrics) -> List (String, Timer)
stime : (rec : PMetrics) -> Integer
stamps : (rec : PMetrics) -> List (String, Integer)
data Perf : Effect
GetMetrics : sig Perf PMetrics PMetrics
TurnOn : Bool -> sig Perf () PMetrics PMetrics
MkCounter : String -> sig Perf () PMetrics PMetrics
IncCounter : String -> sig Perf () PMetrics PMetrics
Timestamp : String -> sig Perf () PMetrics PMetrics
MkStopWatch : String -> sig Perf () PMetrics PMetrics
TimerStuff : TOpt -> String -> Maybe String -> sig Perf () PMetrics PMetrics
data TOpt : Type
START : TOpt
STOP : TOpt
SPLIT : TOpt
record Timer 

A Simple timer.

MkTimer : (desc : String) -> (start : Integer) -> (stop : Integer) -> (splits : List (Integer, Maybe String)) -> Timer
desc : (rec : Timer) -> String
start : (rec : Timer) -> Integer
stop : (rec : Timer) -> Integer
splits : (rec : Timer) -> List (Integer, Maybe String)
collectPMetrics : Bool -> Eff () [PERF]
collectPMetricsAndShow : Eff () [PERF]

Turn on performance metrics and show during operation

collectPMetricsOnly : Eff () [PERF]

Turn on performance metrics.

defaultTimer : String -> Timer
displayPerfMetrics : PMetrics -> String
displayTimer : Timer -> String
displayTimerOpt : TOpt -> String
getPerfMetrics : Eff PMetrics [PERF]

Return gathered metrics

incCounter : String -> Eff () [PERF]

Increment the counter

incCounter' : String -> PMetrics -> PMetrics
mkCounter : String -> Eff () [PERF]

Create a counter

mkTimer : String -> Eff () [PERF]
perfLog : PMetrics -> String -> IO ()
splitTimer : String -> Eff () [PERF]

Split a timer

splitTimerMsg : String -> String -> Eff () [PERF]
startTimer : String -> Eff () [PERF]

Start a timer

stopTimer : String -> Eff () [PERF]

Stop a timer

timerStuff' : TOpt -> Integer -> String -> Maybe String -> PMetrics -> PMetrics
timestamp : String -> Eff () [PERF]

Create a time stamp.