@@ -30,38 +30,42 @@ data ItemKey
3030 = ItemKey
3131 { kind :: Text
3232 , item :: Text
33- , producer :: Text
3433 }
3534 deriving (Eq , Ord , Show )
3635
3736data ItemInfo
3837 = ItemInfo
39- { sent :: Minimum Double
38+ { producer :: Text
39+ , sent :: Minimum Double
4040 , size :: Maximum Double
4141 }
4242 deriving (Show )
4343
4444instance Semigroup ItemInfo where
4545 x <> y =
4646 ItemInfo
47- { sent = on (<>) sent x y
47+ { producer = on ((maximum . ) . (. pure ) . (:) ) producer x y
48+ , sent = on (<>) sent x y
4849 , size = on (<>) size x y
4950 }
5051
5152instance Monoid ItemInfo where
5253 mempty =
5354 ItemInfo
54- { sent = mempty
55+ { producer = mempty
56+ , sent = mempty
5557 , size = mempty
5658 }
5759
5860toCSV :: ItemKey -> ItemInfo -> Text -> Double -> String
5961toCSV ItemKey {.. } ItemInfo {.. } recipient received =
60- intercalate sep $
62+ intercalate
63+ sep
6164 [ T. unpack kind
6265 , T. unpack item
6366 , T. unpack producer
6467 , show sent
68+ , show size
6569 , T. unpack recipient
6670 , show received
6771 , show $ (received - ) <$> sent
@@ -74,7 +78,8 @@ itemHeader =
7478 [ " Kind"
7579 , " Item"
7680 , " Producer"
77- , " Sent [s]"
81+ , " Generated [s]"
82+ , " Size [B]"
7883 , " Recipient"
7984 , " Received [s]"
8085 , " Elapsed [s]"
@@ -100,68 +105,63 @@ parseMessage "TXGenerated" item sent =
100105 let kind = " TX"
101106 producer <- message .: " publisher"
102107 size <- message .: " size_bytes"
103- pure (ItemKey {.. }, mempty {size, sent = Minimum $ Just sent}, Nothing )
108+ pure (ItemKey {.. }, mempty {producer, size, sent = Minimum $ Just sent}, Nothing )
104109parseMessage " IBGenerated" item sent =
105110 withObject " IBGenerated" $ \ message ->
106111 do
107112 let kind = " IB"
108113 producer <- message .: " producer"
109114 size <- message .: " size_bytes"
110- pure (ItemKey {.. }, mempty {size, sent = Minimum $ Just sent}, Nothing )
115+ pure (ItemKey {.. }, mempty {producer, size, sent = Minimum $ Just sent}, Nothing )
111116parseMessage " EBGenerated" item sent =
112117 withObject " EBGenerated" $ \ message ->
113118 do
114119 let kind = " EB"
115120 producer <- message .: " producer"
116121 size <- message .: " size_bytes"
117- pure (ItemKey {.. }, mempty {size, sent = Minimum $ Just sent}, Nothing )
122+ pure (ItemKey {.. }, mempty {producer, size, sent = Minimum $ Just sent}, Nothing )
118123parseMessage " RBGenerated" item sent =
119124 withObject " RBGenerated" $ \ message ->
120125 do
121126 let kind = " RB"
122127 producer <- message .: " producer"
123128 size <- message .: " size_bytes"
124- pure (ItemKey {.. }, mempty {size, sent = Minimum $ Just sent}, Nothing )
129+ pure (ItemKey {.. }, mempty {producer, size, sent = Minimum $ Just sent}, Nothing )
125130parseMessage " VTBundleGenerated" item sent =
126131 withObject " VTBundleGenerated" $ \ message ->
127132 do
128133 let kind = " VT"
129134 producer <- message .: " producer"
130135 size <- message .: " size_bytes"
131- pure (ItemKey {.. }, mempty {size, sent = Minimum $ Just sent}, Nothing )
136+ pure (ItemKey {.. }, mempty {producer, size, sent = Minimum $ Just sent}, Nothing )
132137parseMessage " TXReceived" item received =
133138 withObject " TXReceived" $ \ message ->
134139 do
135140 let kind = " TX"
136- producer <- message .: " producer"
137141 recipient <- message .: " recipient"
138142 pure (ItemKey {.. }, mempty , Just (recipient, received))
139143parseMessage " IBReceived" item received =
140144 withObject " IBReceived" $ \ message ->
141145 do
142146 let kind = " IB"
143- producer <- message .: " producer"
144147 recipient <- message .: " recipient"
145148 pure (ItemKey {.. }, mempty , Just (recipient, received))
146149parseMessage " EBReceived" item received =
147150 withObject " EBReceived" $ \ message ->
148151 do
149152 let kind = " EB"
150- producer <- message .: " producer"
151153 recipient <- message .: " recipient"
152154 pure (ItemKey {.. }, mempty , Just (recipient, received))
153155parseMessage " RBReceived" item received =
154156 withObject " RBReceived" $ \ message ->
155157 do
156158 let kind = " RB"
157- producer <- message .: " producer"
158159 recipient <- message .: " recipient"
159160 pure (ItemKey {.. }, mempty , Just (recipient, received))
160161parseMessage " VTBundleReceived" item received =
161162 withObject " VTBundleReceived" $ \ message ->
162163 do
163164 let kind = " VT"
164- producer <- message .: " producer"
165165 recipient <- message .: " recipient"
166166 pure (ItemKey {.. }, mempty , Just (recipient, received))
167167parseMessage _ _ _ =
0 commit comments