Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delay operator #760

Open
darach opened this issue Feb 17, 2021 · 4 comments
Open

Delay operator #760

darach opened this issue Feb 17, 2021 · 4 comments
Labels
_complexity:medium A task with a medium complexity that should be challanging enhancement New feature or request good first issue Good for newcomers hacktoberfest _size:small A small task that should be quick to do

Comments

@darach
Copy link
Member

darach commented Feb 17, 2021

Describe the problem you are trying to solve

As a developer/operator of a complex system or service undergoing transformation
or migration to a service oriented architecture, a facility to inject delays into streams
would be a useful migration/debugging aid for complex system and service migrations.

Describe the solution you'd like

Provide delay operator that can be configured with a configurable default delay
in nanoseconds, or a per event delay via metadata ( also in nanoseconds ). Events
are delayed either by the default delay, or the per-event delay provided in metadata.

define qos::delay operator mimic_xdc_latency
with
  delay = 30000000 # 30 millis
end;

create operator mimic_xdc_latency;

select event from in into mimic_xdc_latency;
select event from mimic_xdc_latency into out;

Notes

A more advanced implementation would offer variance of the delayed time to
a distribution ( eg: pareto ) by some mechanism, but even the basic design
highlighted would be super useful for migration/capacity planning and impact
analysis for existing systems/services where tremor is in production.

@darach darach added enhancement New feature or request good first issue Good for newcomers labels Feb 17, 2021
@mfelsche
Copy link
Member

Nice idea. And a metadata value that controls the actual delay would also be nice.

@darach
Copy link
Member Author

darach commented Feb 17, 2021

I clarified the metadata variant in the description - the description wasn't clear enough on per event delay being metadata driven. Thanks @mfelsche !

@Licenser Licenser added _complexity:medium A task with a medium complexity that should be challanging _size:small A small task that should be quick to do labels Mar 31, 2021
@tobehardest
Copy link

Does this problem still need to be solved? I'd like to try it out if I can.

@Licenser
Copy link
Member

Licenser commented Apr 6, 2023

Due to the lack of communication on the other issue you asked to be assigned we're holding off on assigning this for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
_complexity:medium A task with a medium complexity that should be challanging enhancement New feature or request good first issue Good for newcomers hacktoberfest _size:small A small task that should be quick to do
Projects
None yet
Development

No branches or pull requests

4 participants