SeattleTestbed / nodemanager

Remote control server for SeattleTestbed nodes
MIT License
0 stars 10 forks source link

Provide means to clear the VM log? #123

Closed aaaaalbert closed 8 years ago

aaaaalbert commented 8 years ago

I received feedback that the backlog of previous experiments is confusing, especially for newcomers who are not sure whether their latest experiment has already started, etc.

The nodemanager API doesn't currently allow clearing the log but leaving the files intact. The ResetVessel (nmAPI) / reset (seash) commands clear the log, but also remove all files from the vessel.

I tend to work around the issue instead of modifying the nodemanager API. For example, you could run a Repy program that sends backspace characters, \b, to the log. I've just tried this on OS X, and indeed, characters already printed to the log "disappear" (i.e. aren't printed anymore). Obviously, show log still needs to transfer up to 10kB of backspace chars. --- The feasibility of this approach needs to be checked on Windows too, as their ANSI terminal might handle things differently.

An alternative workaround would involve downloading all files, resetting the vessel, then re-uploading the files. This would make for a fine (albeit slow) seash module.

aaaaalbert commented 8 years ago

Hmmm, I overlooked that printing backspaces doesn't work across lines. "One one\b\b\btwo" prints "One two" just fine, but \b doesn't undo newlines. In other words, my first proposed workaround doesn't work :-(

lukpueh commented 8 years ago

What about some show log options, like --last-n-lines=n, --last-n-experiments=n, ... ?

aaaaalbert commented 8 years ago

Good idea. Let's solve this in user space (think: seash module), and not change the nodemanager API. Closing!