-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
k6: group special async function treatment #2863
Conversation
A group provided with an async function will now: 1. Treat the whole time it take for the async function promise to finisher the duration of the group. 2. It will also use goja's AsyncContextTracker to make it so that the code using `await` within the group will still continue to be tagged with the group after `await` returns. 3. Instead of directly calling the async function it schedules it to be called the next time a promise job will work. The current AsyncContextTracker is only used for this and as such is directly changed in the `k6` module. In the future there likely will be API so that multiple modules can use it simultaneously, but that seems way too involved to be included in this change and also currently only `group` needs this. fixes #2848 #2728
7f348c4
to
cba2e6f
Compare
Moving this to a draft in favor of #2875 |
How to get notified when this is fixed? |
For more information you likely should follow #2728 as this PR at this time is very unlikely to be merged as is. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2863 +/- ##
==========================================
- Coverage 76.15% 76.15% -0.01%
==========================================
Files 217 218 +1
Lines 16604 16669 +65
==========================================
+ Hits 12645 12694 +49
- Misses 3185 3196 +11
- Partials 774 779 +5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
I am closing this PR as it is really unlikely we will go down this route |
A group provided with an async function will now:
await
within the group will still continue to be tagged with the group afterawait
returns.The current AsyncContextTracker is only used for this and as such is directly changed in the
k6
module. In the future there likely will be API so that multiple modules can use it simultaneously, but that seems way too involved to be included in this change and also currently onlygroup
needs this.fixes #2848 #2728