Like the currently online feature in the forum module? :D
All members have a Last Visited field so something like $members = DataObject::get('Member', "\"LastVisited\" > NOW() - INTERVAL 15 MINUTE"); will get all the members who have visited in the last 15 minutes.
I'm struggling with this - the documentation for reports is really out of date: http://doc.silverstripe.org/site-reports - and I'm having trouble piecing the new parts together. This is far as I've got:
...and that's where I hit some major confusion - do we still use fieldsToShow() or do we use columns() ? And if so what syntax? I want to list the username, e-mail address, and when they were last active.
Best bet is to have a read of the API docs - http://api.silverstripe.org/2.4/cms/reports/SS_Report.html.
We are busily working on the docs as I speak. If you feel this area needs to be documented better then please make a documentation request on open.silverstripe.org (see http://open.silverstripe.org/report/12).
Thanks for baring with any confusion in the docs! We're in the process of doing a massive migration for it. API docs will be more up to date (although uglier)