-
Notifications
You must be signed in to change notification settings - Fork 20
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
[receiver/loadgen] Simulate multiple agents via new concurrency
config
#313
Conversation
5552d83
to
43e0ea2
Compare
concurrency
concurrency
concurrency
config
type Config struct { | ||
Metrics MetricsConfig `mapstructure:"metrics"` | ||
Logs LogsConfig `mapstructure:"logs"` | ||
Traces TracesConfig `mapstructure:"traces"` | ||
|
||
// Concurrency is the amount of concurrency when sending to next consumer. | ||
// The concurrent workers share the amount of workload, instead of multiplying the amount of workload, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[to reviewer] I've made a design decision here for it to share the workload instead of multiplying the amount of workload. The implication is that when we use this config in otelbench, as concurrency increases, time/op will decrease. If it was implemented otherwise, the time/op will be equal or higher as concurrency increases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left a comment for a small fix in the loop behavior
@@ -1,5 +1,6 @@ | |||
receivers: | |||
loadgen: | |||
# concurrency: 16 # defaults to GOMAXPROCS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Out of curiosity, how is otelsoak
configured to stop at some point? I don't see a possibility to configure a time or similar?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does not terminate now. I'm not aware of a way to notify the otel collector to stop, unless we write code to make it panic or os.Exit
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, thanks for confirming; probably something for us to look into, but in another issue/PR
@@ -1,5 +1,6 @@ | |||
receivers: | |||
loadgen: | |||
# concurrency: 16 # defaults to GOMAXPROCS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, thanks for confirming; probably something for us to look into, but in another issue/PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
Add a
concurrency
config to loadgenreceiver to simulate multiple agents (agent_replicas
in apmsoak) sending otlp requests.Fixes #305