-- | Nrt statistics. module Sound.Sc3.Server.Nrt.Stat where import Sound.Osc.Datum {- hosc -} import Sound.Osc.Packet {- hosc -} import Sound.Sc3.Common.Base {- hsc3 -} import Sound.Sc3.Server.Nrt {- hsc3 -} -- | Nrt statistics, see nrt_stat_param for meanings. type Nrt_Stat = ((String, Time) ,(String, Int) ,(String, Int) ,(String, [(String,Int)])) -- | Nrt_Stat names. nrt_stat_param :: (String, String, String, String) nrt_stat_param = ("duration","# bundles","# messages","command set") -- | Trivial Nrt statistics. nrt_stat :: Nrt -> Nrt_Stat nrt_stat (Nrt b_seq) = let b_msg = map bundleMessages b_seq in p4_zip nrt_stat_param (bundleTime (last b_seq) ,length b_seq ,sum (map length b_msg) ,histogram (concatMap (map messageAddress) b_msg))