So glad you like it. :)
If you want to display that "refresh" button, simply add this code into the useronline.inc.php file (adjust its position to fit with your needs):
<a href="admin.php?t=useronline" title="Reload"><span class="Icon refresh"> </span></a>
About your question: "how long this log will be kept in database?", well, at the moment there is no time limitation for it, since the purpose of the useronline table is only for keep about the online staff's record.
It means that each time staff (admin/manager/operator) logged in to the staff or admin panel, then this log will be replaced/updated with the newest one. You can see about this from the REPLACE INTO SQL, which has meaning: INSERT INTO useronline table if there is no record for that staff, or, UPDATE useronline table if the record belongs to that staff already exists.
In addition, that log should be deleted when staff logged out from the staff/admin control panel (the first possibility). But, the next question then, how if that staff never logged out, or probably let's say they close the browser without logged out explicitly from the Logout link (the second possibility), then we have to handle it by providing the time limit to keep this information saved in database (similar with System Logs feature that already exists).
I have not implemented about those both possibilities, yet. But I think those both additional features are must for this case. I will add it later and will let you know afterwards. If somebody creates it, please do not hesitate to let us know.
Sincerely,
Masino Sinaga