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

[Perf] Perf framework should allow last in-flight operation to complete #21635

Closed
mikeharder opened this issue May 18, 2021 · 1 comment
Closed
Assignees
Labels
Central-EngSys This issue is owned by the Engineering System team. Client This issue points to a problem in the data-plane of the library. pillar-performance The issue is related to performance, one of our core engineering pillars.

Comments

@mikeharder
Copy link
Member

Ideally, the Java perf framework should allow the last in-flight operation to complete. For example, say duration = 1 but each operation takes 5 seconds to complete. Ideally, the perf framework should run for 5 seconds and report throughput of 0.2 ops/sec. However, the perf framework currently terminates immediately when the duration expires, due to the use of Flux.take(duration):

return Flux.just(1)
.repeat()
.flatMap(i -> test.runAsync().then(Mono.just(1)), 1)
.doOnNext(v -> {
completedOperations[index]++;
lastCompletionNanoTimes[index] = System.nanoTime() - startNanoTime;
})
.take(Duration.ofNanos(endNanoTime - startNanoTime))
.then();

Here's what we want this code to do:

  1. Call test.runAsync() and block until complete
  2. Increment completed operations
  3. Update lastCompletionNanoTimes
  4. If duration has not expired, goto 1
@mikeharder mikeharder added Client This issue points to a problem in the data-plane of the library. pillar-performance The issue is related to performance, one of our core engineering pillars. Central-EngSys This issue is owned by the Engineering System team. labels May 18, 2021
@mikeharder mikeharder self-assigned this May 18, 2021
@mikeharder
Copy link
Member Author

Fixed by: #21030

azure-sdk pushed a commit to azure-sdk/azure-sdk-for-java that referenced this issue Nov 25, 2022
[Hub Generated] Publish private branch 'servicelinker/update-readme-apiversion' (Azure#21635)

* add or modify files

* hide unused changes

* eliminate diff from private repo
@github-actions github-actions bot locked and limited conversation to collaborators Apr 12, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Central-EngSys This issue is owned by the Engineering System team. Client This issue points to a problem in the data-plane of the library. pillar-performance The issue is related to performance, one of our core engineering pillars.
Projects
None yet
Development

No branches or pull requests

1 participant