-
Notifications
You must be signed in to change notification settings - Fork 67
Description
A core hypothesis is that Runme lets us log the actions taken by developers and this can be used to continuously improve the model.
To support this we need an RPC service that
- Lets us log notebooks
- Instrument runmedev/web to log events.
We have some prior art from foyle
- LogEvents - RPC service to log events
- EventReporter Interface for reporting events from the Runme vscode extension
I think since we aren't constrained by the vscode-platform we have more flexibility to figure out how to handle logging.
At a high level what we'd like to do is periodically snapshot the notebook so the Agent on the backend can index it or otherwise process it to improve itself.
Additionally, since we are persisting notebooks in indexed storage we can potentially enqueue events and send them the next time the app is opened and the network is accessible.
@sourishkrout Do you have thoughts on what a simple, initial implementation for wiring up a LogEvents client?
Could we have a background process which checks which notebooks have changed since their last logging event and then sends an event to log them?
I think the schema is defined by SessionRecord. So I think we could just update that with a field like "lastLogged" to keep track of the last logged time.