in internal/filter/types/watchlist/watchlist.go [92:109]
func (c *Filter) handleEvent(ctx context.Context, event watch.Event) {
// All K8 objects implement items.Object.
obj := event.Object.(items.Object)
cachedObject, wasSnapshot, wasDeleted := c.setMapItem(obj, event)
entry, err := c.eventToEntry(event, wasSnapshot)
if err != nil {
c.logger.Warn(err.Error())
return
}
if cachedObject || wasSnapshot || wasDeleted {
metrics.DataEntry(ctx, entry)
c.out <- entry
return
}
metrics.StaleData(ctx, entry)
}