#54 assigned enhancement

port memory usage tests to windows

Reported by: zooko Owned by: davidsarah
Priority: major Milestone: eventually
Component: code Version: 0.6.0
Keywords: windows memory performance test Cc:
Launchpad Bug:

Description (last modified by zooko)

Make the following also work on Windows: Measure the memory usage in different operations (upload, download, sustained server operation, ...) and graph it with a munin plugin. (Issue #29)

Attachments (2)

thread628262.html (55.7 KB) - added by zooko at 2007-05-28T23:14:33Z.
tips and tricks for measuring CPU and RAM on Windows
memcheck-win32.diff (4.7 KB) - added by Grumpf at 2009-12-20T16:10:06Z.

Download all attachments as: .zip

Change History (16)

Changed at 2007-05-28T23:14:33Z by zooko

tips and tricks for measuring CPU and RAM on Windows

comment:1 Changed at 2007-05-30T16:57:40Z by zooko

  • Description modified (diff)
  • Owner changed from warner to zooko
  • Status changed from new to assigned
  • Summary changed from memory usage tests to port memory usage tests to windows

See #29 for the general memory-usage tests and fixing the memory-usage problems.

comment:2 Changed at 2007-07-14T06:57:57Z by warner

  • Component changed from dev-infrastructure to code

comment:3 Changed at 2007-08-14T18:53:54Z by warner

  • Component changed from code to code-performance

comment:4 Changed at 2007-09-25T04:19:30Z by zooko

  • Milestone set to 0.6.1
  • Version changed from 0.2.0 to 0.6.0

comment:5 Changed at 2007-10-01T19:36:00Z by zooko

  • Milestone changed from 0.6.1 to undecided

bumping this issue out of the v0.6.1 milestone because there are too many other more urgent things for this milestone

comment:6 Changed at 2009-05-04T17:47:01Z by zooko

If you love this ticket (#54), then you might like tickets #227 (our automated memory measurements might be measuring the wrong thing), #419 (pycryptopp uses up too much RAM), #478 (add memory-usage to stats-provider numbers), and #97 (reducing memory footprint in share reception).

comment:7 Changed at 2009-12-04T05:14:40Z by davidsarah

  • Component changed from code-performance to code
  • Keywords windows memory performance test added

Changed at 2009-12-20T16:10:06Z by Grumpf

comment:8 Changed at 2009-12-20T16:21:35Z by Grumpf

Here is a patch proposal. It also makes "make check-memory" works under MinGW, with or without installed Twisted.

The "VmData?" value doesn't seems to have any equivalence in GetProcessMemoryInfo?() nor any use in current code, so might be stripped out.

comment:9 follow-up: Changed at 2009-12-21T02:12:44Z by davidsarah

  • Keywords reviewed added

Comments on the patch:

  • on non-Windows a failure of the code in the try: block will cause the values to be left at zero, but on Windows a failure will propagate the exception. Make it consistent.
  • the duplication of code in startstop_node.py and check_memory.py is undesirable -- move it to pyutil, perhaps.

comment:10 in reply to: ↑ 9 Changed at 2009-12-21T02:19:53Z by davidsarah

Replying to davidsarah:

Seems like a suitable place would be find_exe.find_twistd.

comment:11 Changed at 2009-12-27T22:40:59Z by zooko

  • Keywords reviewed removed
  • Owner changed from zooko to Grumpf
  • Status changed from assigned to new

Grumpf: thank you for the patch!

So let's see, since David-Sarah's review indicated that this patch isn't ready to be committed then we should unset the reviewed keyword, right? By the way, http://allmydata.org/trac/pyutil/browser/pyutil/pyutil/memutil.py would be an ideal place for this functionality to live, eventually, but this doesn't directly help Tahoe-LAFS until and unless #47 (use pyutil as a separate package and contribute src/allmydata/util/* into pyutil) is closed.

Okay unsetting reviewed and assigning it to Grumpf to write a patch that fixes the issues raised by David-Sarah. Grumpf: I think David-Sarah is right that using src/allmydata/util/find_exe.py is a good way to do the "find twistd" behavior.

comment:12 Changed at 2009-12-27T22:49:43Z by zooko

Oh sorry, I didn't read your patch and see that you were already using find_exe. I guess the code duplication that David-Sarah was talking about was the part that comes after find_exe about looking for an executable that was installed in ./support relative to the basedir.

It is the code in src/allmydata/control.py which could potentially be merged with the comparable code in http://allmydata.org/trac/pyutil/browser/pyutil/pyutil/memutil.py .

comment:13 Changed at 2010-01-10T23:42:44Z by zooko

Grumpf: if you are going to work on this patch then please "accept" this ticket (using the control panel at the bottom of this page). If you don't then anyone else should feel free to update the patch to fix the details noted by David-Sarah's review.

comment:14 Changed at 2011-09-02T17:04:32Z by davidsarah

  • Owner changed from Grumpf to davidsarah
  • Status changed from new to assigned
Note: See TracTickets for help on using tickets.