Closed Bug 443979 Opened 16 years ago Closed 16 years ago

talos collects memory information on mac in KB, on linux/win in Bytes

Categories

(Release Engineering :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: anodelman, Assigned: anodelman)

References

Details

Attachments

(2 files)

Should standardize on bytes.  This requires:

- one very minor code change to talos
- fixing all the current values collected for mac talos machines (multiply by 1024) while the tree is closed
- re-opening the tree with the new talos code checked in
Mac collects information about memory footprint through ps which defaults to Kb.  This simply takes those values and multiplies by 1024 to convert to bytes.
Attachment #328556 - Flags: review?(rcampbell)
Comment on attachment 328556 [details] [diff] [review]
[Checked in]have mac collect memory information in bytes

I dug through the ps manpage looking for an option to do this in cmanager_mac.py and vsz and rss seem to return kb only.

Do you really want floats for this value?
Attachment #328556 - Flags: review?(rcampbell) → review+
I believe that this query should update all of the currently stored memory information on mac machines and multiplies by 1024:

update dataset_values set value = value * 1024 where dataset_id in ( select id from dataset_info where (machine like "%pmac%" or machine like "%pleopard%" or machine like "%ptiger%") and (test like "%RSS" or test like "%Private%"));

This is sort of a risky move, so we'd want to stop all of the talos boxes (or make the graph server inaccessible), do the update, push the talos change, re-open the graph server/re-start the talos slaves and then check to see if new memory numbers make sense when plotted against old memory numbers.

None of this is particularly complicated, but it would have to be done careful to ensure that we don't corrupt any data.
Blocks: 444174
Thanks for reminding me about this.  I was doing analysis to try to determine how long this query would take to run, and was unable to get it to complete - at all - as a SELECT.

MySQL doesn't handle subselects very well, not on tables with hundreds of millions of rows (even though dataset_info is only 1.5 million).  Is there any way we can refactor this in the form of a temporary table created manually and maybe a script?

I.e., have a script pull out the subselect data, and then iterate over the main data one value at a time and do the update.

(Did you run this against your local database?  Did it work okay there?)
I'll admit to attempting to run this on graphs-stage and getting bored and killing it.  We've probably hit the limits of my mysql skillz, so I'd by happy for any pointers.
Attachment #333472 - Flags: review?(ccooper) → review+
It ran here, and did complete, but my test data only has 7561 rows in the subselect. As Mark says, you may have to two step this.
Mark - any chance that this would run to completion in a reasonable amount of time now that we've cleaned out all the old crufty data from the db?
Okay, I got this done.  I had to do it in a different fashion and not use the subselect, but it's done now.  Please let me know if you see any weirdness.

If there is a problem I can revert it, I backed up the data I changed.
We need to get that reverted as it needs to land with a matching patch to talos to ensure that all future data is sent using bytes.

Also, I'm not sure if you're query worked or not as the data still seems to be in KB for graphs that should have been affected.
Revert is running.
Comment on attachment 328556 [details] [diff] [review]
[Checked in]have mac collect memory information in bytes

Checking in cmanager_mac.py;
/cvsroot/mozilla/testing/performance/talos/cmanager_mac.py,v  <--  cmanager_mac.py
new revision: 1.3; previous revision: 1.2
done
Attachment #328556 - Attachment description: have mac collect memory information in bytes → [Checked in]have mac collect memory information in bytes
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Component: Release Engineering: Talos → Release Engineering
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: