Analytics allows the platform developer to view a history of requests users have made to the platform. The platform stores a small amount of metadata on each request; the IP it came from, the date, what was requested, and on what resources.
There are several types of calls that can be made; Storage Size, Count, Event Totals, Event List, and User Events.
Storage size allows the developer to query the size (in bytes) of regular collection tables stored within the platform.
Count gets the count of rows.
Event Totals gets the total number of requests for each type of event. This is intended to provide a summary of actions the users have requested from the platform over periods of time.
Event List allows the developer to drill down, and returns a selection of discrete events that have been performed against the platform.
User Events is the previous Event List but query-able by user. This is particularly useful for auditing.
Note that analytics calls are only available to developer users.
A key concept to analytics is scope. Scope is the breadth of the data-set. There are several scopes:
The largest scope is “Platform” which allows the user to to see the totals for the entire platform, including every system and its sub-components.
|Platform||The largest scope. It aggregates data across every system on the platform|
|Organization||When a developer registers, they provide an organization. This allows the data to be aggregated across any developer and developer’s systems who belong to the specified organization.|
|Developer||Covers the systems owned by a specific developer|
|System||Only that system and it’s sub-components|
Here is a listing of event types that the platform records:
|Create||The creation of some kind of resource in the platform, a collection, or an item within the collection|
|Password Reset||A user resets their password|
|Update||Updating a resource within the platform|
|Dev Alter||A developer altering a resource in the platform|
|Dev Password Reset||A developer resets their password|
|Dev Delete||A developer deletes a resource|
|Dev Read||A dev reads a resource out of the platform|
|Dev Update||A dev updates a resource|
|Read||A user reads|
|Delete||A user deletes a resource|
|Dev Create||A dev creates a resource|
|Execute||A service is executed|
|Dev Save||A developer saves a code service|
|Publish||A message is published via MQTT|
|Connection||A client connects to MQTT|
|Login||A user logs in to the platform|
|Logout||A user logs out of the platform|
|Subscribe||A client subscribes to an MQTT topic|
|Unsubscribe||A client unsubscribes to an MQTT topic|
|Disconnect||A client disconnects from MQTT|