Rob identified the need for MOL to track UI and API usage. On the UI side we just need to enable Google Analytics for now. On the API side we need to track API requests (including API name, request params, result metadata, origin host, etc). There are a couple of different approaches here. We could add information logging to API handlers and then just download/process logs directly for reporting. Or we could create an Analytics kind for storing per-request API usage. The second option needs to be carefully designed since high API usage would result in datastore write contention. We could use a memcache as a write-through cache here and also the deferred tasks API.
Rob identified the need for MOL to track UI and API usage. On the UI side we just need to enable Google Analytics for now. On the API side we need to track API requests (including API name, request params, result metadata, origin host, etc). There are a couple of different approaches here. We could add information logging to API handlers and then just download/process logs directly for reporting. Or we could create an Analytics kind for storing per-request API usage. The second option needs to be carefully designed since high API usage would result in datastore write contention. We could use a memcache as a write-through cache here and also the deferred tasks API.