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

Convert all idlingResource to event-based #275

Open
khandpur opened this issue Sep 17, 2016 · 5 comments
Open

Convert all idlingResource to event-based #275

khandpur opened this issue Sep 17, 2016 · 5 comments

Comments

@khandpur
Copy link
Collaborator

khandpur commented Sep 17, 2016

isIdleNow method is polled by the thread executor. Instead use event-based model in which the thread executor calls CFRunLoopRun and waits for the idling resources to idle. Once all the idling resources are idle, the last one to idle issues a CFRunLoopStop, returning control back to the thread executor.

@LeoNatan
Copy link
Contributor

Hi guys,

Are there any news on this? I see there is no progress on this in Earl Grey 2.

In Detox, we are working on integrating another project which collects performance metrics for each test, and see a very high CPU usage, thus rendering the CPU metric irrelevant.

What are the plans for this enhancement?

Thanks

@tirodkar
Copy link
Collaborator

We haven't prioritized this in this quarter. We can have this as a task for next quarter as it's going to be a pretty complicated change.

We know that due to the polling nature of EarlGrey, there is a spike in CPU usage. Can you share just how much of an increase did you see with the performance metrics project?

@LeoNatan
Copy link
Contributor

LeoNatan commented Mar 18, 2019

Hi,
Thanks for your reply.

We are trying to integrate Detox Instruments into Detox. Right now, we are just exploring and testing, but the idea is to have graphs for different metrics and how they evolve over time for each test.

When recording, we see a constant 60-100% CPU usage, which is not what the app normally uses. FPS metric also sees great fluctuations.

@tirodkar
Copy link
Collaborator

tirodkar commented Mar 18, 2019

That looks really cool. QQ - does Detox Instruments re-launch the app whenever it starts reading info with an instrument?

@LeoNatan
Copy link
Contributor

Thanks
It does not. It records all the metrics in-process by using system API. Collection is started and stopped from Detox, which is also in-process. The resulting recordings are collected by an artifacts manager to display to the user. Right now, as I said, is just testing the waters. We have big plans for this integration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants