Skip to content

Memory metrics for Chrome using window.performance.memory#48

Open
sebadoom wants to merge 2 commits into
axemclion:masterfrom
sebadoom:master
Open

Memory metrics for Chrome using window.performance.memory#48
sebadoom wants to merge 2 commits into
axemclion:masterfrom
sebadoom:master

Conversation

@sebadoom

@sebadoom sebadoom commented Jan 7, 2016

Copy link
Copy Markdown

As title says. Uses setInterval (is this OK?).

@axemclion

Copy link
Copy Markdown
Owner

@sebadoom Thanks a lot of the pull request. I had been exploring ways to get memory profile and I think this is perfect. Just a couple of comments on the code

Comment thread lib/probes/MemoryProbe.js

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Calling eval with a time from webdriver usually results in an extra network call, since the webdriver would have to talk to selenium. This will require the extension to receive the "stringified" message, parse and execute it, increasing the impact of the test on the final data that we get.

Also note that when you collect memory with metrics like frames_per_sec, you may notice differences since this is additional javascript that is executed, and results in network calls. Could that be the reason you are getting some inconsistent results in your metrics ?

@axemclion

Copy link
Copy Markdown
Owner

Did you notice a lot of difference in other data when this was enabled, as opposed to having stopped this metric ? I was wondering if this code would add noise to the data that we finally collect.

@sebadoom

sebadoom commented Jan 9, 2016

Copy link
Copy Markdown
Author

TBH I haven't compared these results to the previous ones. Fortunately they are readily available in the benchmarks repo (https://github.com/auth0/blog-dombench). I will take a look when I have some time (probably tomorrow) and post my findings here.

@sebadoom

Copy link
Copy Markdown
Author

@axemclion have you had a chance to review my comments above?

@axemclion

Copy link
Copy Markdown
Owner

@sebadoom Sorry for the delay. I am currently experimenting to see if there is another way to get the same information that you get using window.performance.memory. I noticed that the timeline that we collect for metrics like frames_per_sec or paint seems to have information like jsHeapSize, etc. Do you think we could instead try to get the information from that ?

Uncommenting this line when running the tests gives you a file called perflogProbe.json, which is a large file that is the representation of the timeline. Do you think we could use that ? The data may also be more accurate, and similar to what the Chrome devtools shows.

@fc

fc commented Dec 20, 2016

Copy link
Copy Markdown

Any progress on this?

Also, it looks like we would need to add --enable-precise-memory-info to get more granular memory information.

http://peter.sh/experiments/chromium-command-line-switches/#enable-precise-memory-info

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants