Analytics

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.

Scope

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.

Scope Description
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

Event Types

Here is a listing of event types that the platform records:

Event Type Description
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