Skip to content

Commit 81b103d

Browse files
mfadl1Muhammad Fadli Gunardi
andauthored
chore: add the latency and count metric in the deserialization and dedup logic (#55)
* chore: add the latency and count metric in the deserialization and dedup logic * chore: rename the metric --------- Co-authored-by: Muhammad Fadli Gunardi <muhammad.gunardi@gojek.com>
1 parent a83e1e4 commit 81b103d

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

ingestionrule/action/dedup.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ import (
1919
)
2020

2121
const (
22-
metricNameEventDeserializationError = "event_deserialization_error"
22+
metricNameEventDeserializationError = "event_deserialization_error"
23+
metricNameEventDeserializationLatency = "event_deserialization_latency"
24+
metricNameEventDuplicateCheckerLatency = "event_duplicate_checker_latency"
2325
)
2426

2527
const (
@@ -76,7 +78,10 @@ func (d *Dedup) Apply(ctx context.Context, events []*pb.Event, connGroup string)
7678
uniqueEvents := make([]*pb.Event, 0, len(events))
7779

7880
for _, event := range events {
81+
startDeserialize := time.Now()
7982
meta, err := d.extractMetadata(event, connGroup)
83+
metrics.Timing(metricNameEventDeserializationLatency, time.Since(startDeserialize).Milliseconds(), fmt.Sprintf("conn_group=%s", connGroup))
84+
8085
if err != nil {
8186
logger.Errorf("dedup: failed to extract metadata: %v", err)
8287
uniqueEvents = append(uniqueEvents, event)
@@ -89,14 +94,18 @@ func (d *Dedup) Apply(ctx context.Context, events []*pb.Event, connGroup string)
8994
continue
9095
}
9196

97+
startCheck := time.Now()
9298
isDuplicate, cacheErr := d.checker.IsDuplicate(ctx, meta)
99+
metrics.Timing(metricNameEventDuplicateCheckerLatency, time.Since(startCheck).Milliseconds(), fmt.Sprintf("conn_group=%s", connGroup))
100+
93101
if cacheErr != nil {
94102
logger.Errorf("dedup: cache verification failed, bypassing filter: %v", cacheErr)
95103
uniqueEvents = append(uniqueEvents, event)
96104
continue
97105
}
98106

99107
if isDuplicate {
108+
metrics.Increment(metricEventLossCount, fmt.Sprintf("reason=DEDUP_POLICY,event_name=%s,product=%s,conn_group=%s,event_type=%s", event.EventName, event.Product, connGroup, event.Type))
100109
continue
101110
}
102111

0 commit comments

Comments
 (0)