Skip to content

Decision log plugin: trigger upload as soon as the buffer limit is reached #7455

@sspaink

Description

@sspaink

What is the underlying problem you're trying to solve?

When using the decision log plugin (outside of an SDK), it can only be configured to periodically upload the logged events. The periodic trigger timing is controlled by the options min_delay_seconds and max_delay_seconds, which gives the user a controllable sliding window of time when events are uploaded. Creating a jitter effect. This helps the backend receiving the events not get overloaded with events.

The problem is that if stream of incoming events increases and the delay is too big events could start dropping. To prevent dropping events the users only option is to manually adjust the periodic timer so uploads occur more frequently.

This idea was suggested by @mjungsbluth, thank you!

Describe the ideal solution

Add a new trigger option that changes uploads to occur as soon as the buffer limit is reached OR if the periodic maximum trigger happens. This would enable a more constant stream of events uploaded and minimize dropped events.

The trigger option could be nameddecision_logs.reporting.trigger=upload_size_limit.

name ideas:

  • immediate
  • stream
  • async_push
  • ???

Describe a "Good Enough" solution

Ideally this new trigger option should be supported by both the current buffer implementation and the one being introduced in this PR. But only supporting it for the new "event" buffer implementation would be a good enough solution until there is a demand to also add it to the current implementation.

Additional Context

#7446

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Planning - v1.5

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions