-
Notifications
You must be signed in to change notification settings - Fork 202
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
Performance test: trace-ingestion load generator #983
Performance test: trace-ingestion load generator #983
Conversation
Signed-off-by: Chen <[email protected]>
Signed-off-by: Chen <[email protected]>
Signed-off-by: Chen <[email protected]>
Signed-off-by: Chen <[email protected]>
Signed-off-by: Chen <[email protected]>
Signed-off-by: Chen <[email protected]>
Signed-off-by: Chen <[email protected]>
.during(duration) | ||
.on(TraceChain.sendUnframedExportTraceServiceRequest(endpoints, batchSize)); | ||
|
||
{ |
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.
Noob question, why are we using a block?
import java.util.Arrays; | ||
import java.util.List; | ||
|
||
public class SlowBurnTraceSimulation extends Simulation { |
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.
The naming choice is a little confusing. FixedClientTraceSimulation
and SlowBurnTraceSimulation
use Slow Burn
scenario. Yet the difference is fixed and ramping clients. I might recommend FixedClientTraceSimulation
and RampUpClientTraceSimulation
|
||
import java.util.List; | ||
|
||
public class TraceChain { |
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.
Let's call this: TraceChainBuilder.
If we are introducing another Chain
, let's rename the existing one to LogChainBuilder
|
||
public class TraceChain { | ||
private static final JsonFormat.Printer PRINTER = JsonFormat.printer().omittingInsignificantWhitespace(); | ||
|
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.
Let's create a private constructor here:
private TraceChainBuilder() {}
@@ -0,0 +1,135 @@ | |||
/* |
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.
Can you run the formatter on this code? I am noticing some spacing patterns that are making it difficult to read.
for (int i=0; i<peerListSize*batchSize; i+=batchSize) { | ||
results.add(getExportTraceServiceRequest(resourceSpansList.subList(i, i+batchSize))); | ||
} | ||
Collections.shuffle(results); |
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.
Won't this impact reproducibility with the workload?
}).collect(Collectors.toList()); | ||
} | ||
|
||
public static List<ExportTraceServiceRequest> getExportTraceServiceRequests(final int peerListSize, final int batchSize) { |
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.
Do any of the static functions below need to be pubic?
Signed-off-by: Chen <[email protected]>
Description
This PR
Note: manually tested with the following pipelines.yaml:
Issues Resolved
Resolves #940
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.