File tree 1 file changed +16
-2
lines changed
1 file changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -221,7 +221,8 @@ func (c *asyncClient) sendEvents(ref *msgRef, events []publisher.Event) error {
221
221
window [i ] = & events [i ].Content
222
222
}
223
223
ref .count .Add (1 )
224
- return client .Send (ref .callback , window )
224
+
225
+ return client .Send (ref .customizedCallback (), window )
225
226
}
226
227
227
228
func (c * asyncClient ) getClient () * v2.AsyncClient {
@@ -231,7 +232,15 @@ func (c *asyncClient) getClient() *v2.AsyncClient {
231
232
return client
232
233
}
233
234
234
- func (r * msgRef ) callback (n uint32 , err error ) {
235
+ func (r * msgRef ) customizedCallback () func (uint32 , error ) {
236
+ start := time .Now ()
237
+
238
+ return func (n uint32 , err error ) {
239
+ r .callback (start , n , err )
240
+ }
241
+ }
242
+
243
+ func (r * msgRef ) callback (start time.Time , n uint32 , err error ) {
235
244
r .client .observer .AckedEvents (int (n ))
236
245
r .slice = r .slice [n :]
237
246
r .deadlockListener .ack (int (n ))
@@ -246,6 +255,11 @@ func (r *msgRef) callback(n uint32, err error) {
246
255
r .win .tryGrowWindow (r .batchSize )
247
256
}
248
257
}
258
+
259
+ // Report the latency for the batch of events
260
+ duration := time .Since (start )
261
+ r .client .observer .ReportLatency (duration )
262
+
249
263
r .dec ()
250
264
}
251
265
You can’t perform that action at this time.
0 commit comments