It should be possible to profile Python programs in a different machine. In this example let's consider
that the client is a windows machine and the server a Linux machine.
To make the profile in this case you should:
1. Start pyvmmonitor-ui on your windows machine
2. Copy the contents of C:\bin\PyVmMonitor VERSION\public_api to the Linux machine
3. Add to the start of your code:
# Add the public_api to the PYTHONPATH (could be done by changing environment
# variable or adding the contents inside public_api to site-packages too).
# Note that the port may be different... in the
# right-bottom corner of pyvmmonitor it'll show the port it's listening to.
By doing so it should connect to the pyvmmonitor ui at startup.
It should start showing the live-tree results at that point
and if you have yappi installed on your server you could also start/stop a profile session interactively.
Another option would be following the steps above for setup and later using the
pyvmmonitor.profile_method() decorator to make a deterministic profiling session.
Note: The CPU and memory views don't currently work when doing a profile in a different machine.