Usage Business Views

Radu Miclaus Updated by Radu Miclaus

Usage Business Views (UBS)

Introduction

Users interact with Tellius and create resources within Tellius. Users' creation and consumption of these resources can be tracked to understand the usage patterns of users within a deployment instance. 

Starting Tellius 3.7, we are implementing the automation of data collections from the infrastructure and application side in order to provide a holistic view of the resources that get consumed as well as the content that gets produced and viewed by the users. This will also help in better planning ahead as the usage patterns change over time.

Administrators will be able to ask usage questions like:

  • Who is the most active user?
  • When did a user interact with Tellius last?
  • Which Tellius feature is used by maximum users?
  • Which is the most used BusinessView(or Dataset or Datasource)?

..As well as questions about infrastructure resource usage like:

  • How many concurrent users accessed Tellius in an hour?
  • How does the CPU or memory percentage varied across different hours?
  • In what timeframe is Tellius running most of the jobs?
  • Is there any timeframe where Tellius can be paused or downscaled for cost savings?

Usage Reporting

Since Tellius has a comprehensive suite of visualization objects, users can build usage reports with the KPIs of interest per above. An example of a Usage Report is found below, including KPIs over multiple time periods, trend graphs and bar charts for category reporting.

Three Areas of Usage

There are three areas that we are organizing as multi-table schema business views (BVs) that get updated regularly from the infrastructure service and metadata repository of the Tellius application.

  1. Object Usage

This analysis is to understand the user's interaction pattern, which objects or object types are most used. This contains information about when an object is Created, Updated, Viewed, Deleted, Object’s metadata, and User performing the operation.

  1. Job Stats

This analysis is to understand the time spent by different users in running different asynchronous jobs within Tellius. This contains information about the jobs like Load, Publish, Insights, Model Training, Job time, and User performing the operation.

  1. Infrastructure Metrics

This analysis is to understand how the resources like RAM, CPU, and Disk Utilization over time. This contains information about the hardware resources over every minute, which can be used to analyze the efficient utilization of resources and evaluate any room for optimization.

Common Table: Instance details

Each deployment of Tellius will have a single entry in the instance data, which has a unique identification number to it and contains the details of the instance. All the Object usage, Job stats, and Infrastructure metrics will have the instance id in them.

Instance table schema
  • id: Unique identification number for the instance.
  • created_at: Timestamp when the instance was created.
  • updated_at: Timestamp when the instance details were updated.
  • account: Name of the account associated with the instance.
  • instance: Name of the instance associated with this instance.

Object Usage

Each object type has its own dimension tables which contain information about the object and one fact table which has an entry for every interaction the user performs on the object. It can be create/update/view/delete operation.

Following would be the structure of the fact table tracking the application usage.

Usage Tracking

This table consists of an entry for every interaction the user performs on different objects within Tellius. The data can grow based on the number of users, frequency of using the platform, etc.

Schema:

  • id: Unique identifier for each action.
  • instance_id: Unique identifier of the instance.
  • user_id: User id performing the operation.
  • resource_type: Type of resources on which operations are performed. user if a user was created/updated/deleted/logged in. insight if an insight was created/updated/deleted/viewed etc.
  • operation_type: Type of operation, depending on the resource type. created/updated/deleted/viewed/logged in etc.
  • dataset_id: Dataset id on which the operation was performed, null if the operation was on other objects.
  • business_view_id: BusinessView id on which the operation was performed, null if the operation was on other objects.
  • vizpad_id: Vizpad id on which the operation was performed, null if the operation was on other objects.
  • insight_id: Insight id on which the operation was performed, null if the operation was on other objects.
  • model_id: Model id on which the operation was performed, null if the operation was on other objects.
  • query_id: Query id, which was executed from Search, null if the operation was on other objects.
  • action_at: Timestamp at which the operation was performed.

Following would be the structure of the dimension tables

Users

This dimension table contains the details of the users created within Tellius, this will be the master table that can be linked to the Usage Tracking data to understand which user is active, what time range they are active, etc. 

Schema:

  • id: Unique Identification for the user.
  • username: Username of the user.
  • first_name: First name of the user.
  • last_name: Last name of the user.
  • email: Email of the user.
  • role: Role of the user.
  • effective_role: Effective role of the user based on the group(s) the user is a part of.
  • created_at: Timestamp when the user was created.
  • updated_at: Timestamp when the user details were last updated.
  • deleted_at: If the user was deleted, timestamp when the user was deleted. If not, null

Operations tracked for Users

  • created
  • updated
  • deleted
  • logged_in_with_success
  • log_in_failure
Datasources

This dimension table contains the details of the data sources created within Tellius, this will be the master table that can be linked to the Usage Tracking data to understand which data source is most used, when it was deleted, which users accessed the datasource etc.

Schema:

  • id: Unique Identification for the datasource.
  • owner_id: User id of the owner of the datasource.
  • name: Name of the dataset.
  • source_type: Type of the datasource.
  • created_at: Timestamp when the datasource was created.
  • updated_at: Timestamp when the datasource was last updated.
  • deleted_at: Timestamp when datasource was deleted else null if datasource not deleted.

Operations tracked for datasource.

  • created
  • updated
  • viewed
  • deleted
Datasets

This dimension table contains the details of the datasets created within Tellius, this will be the master table that can be linked to the Usage Tracking data to understand which dataset is most used, when it was deleted, which users accessed the dataset, etc.

Schema:

  • id: Unique Identification for the dataset.
  • owner_id: User id of the owner of the dataset.
  • name: Name of the dataset.
  • datasource_id: Id of the datasource, from which the dataset was loaded.
  • size: Size of the dataset in bytes.
  • created_at: Timestamp when the dataset was created.
  • updated_at: Timestamp when the dataset was last updated.
  • deleted_at: Timestamp when the dataset was deleted else null if the dataset was not deleted.

Operations tracked for datasets.

  • created
  • updated
  • viewed
  • deleted
BusinessViews

This dimension table contains the details of the Business Views created within Tellius, this will be the master table which can be linked to the Usage Tracking data to understand which BusinessView is most used, when it was deleted, which users accessed the BusinessView, It can also be linked to resources like Vizpads/Insights, etc to understand the usage pattern for those objects created from this BusinessView.

Schema:

  • id: Unique Identification for the Business View.
  • owner_id: User id of the owner of the Business View.
  • name: Name of the Business View.
  • created_at: Timestamp when the Business View was created.
  • updated_at: Timestamp when the Business View was last updated.
  • deleted_at: Timestamp when the Business View was deleted else null if the dataset is not deleted.

Operations tracked for Business Views.

  • created
  • updated
  • viewed
  • deleted
Vizpads

This dimension table contains the details of the Vizpads created within Tellius, this will be the master table that can be linked to the Usage Tracking data to understand which Vizpad is most used, when it was deleted, which users accessed them.

Schema:

  • id: Unique Identification for the Vizpad.
  • owner_id: User id of the owner of the Vizpad.
  • name: Name of the Vizpad.
  • business_view_id: Id of the Business View, Vizpad is associated with.
  • workspace_id: Id of the Workspace, Vizpad is a part of.
  • created_at: Timestamp when the Vizpad was created.
  • updated_at: Timestamp when the Vizpad was last updated.
  • deleted_at: Timestamp when the Vizpad was deleted else null if the dataset is not deleted.

Operations tracked for Vizpads.

  • created
  • updated
  • viewed
  • deleted
Insights

This dimension table contains the details of the Insights created within Tellius, this will be the master table that can be linked to the Usage Tracking data to understand which Insight is most used, when it was deleted, which users accessed them.

Schema:

  • id: Unique Identification for the Insight.
  • owner_id: User id of the owner of the Insight.
  • name: Name of the Insight.
  • type: Type of the Insight, where it is Discovery or Driver.
  • driver_type: Type of the driver, where it is Trend Based or Segment Discovery or Cohort Driver.
  • business_view_id: Id of the Business View, Insight is associated with.
  • workspace_id: Id of the Workspace, Insight is a part of.
  • created_at: Timestamp when the Insight was created.
  • updated_at: Timestamp when the Insight was last updated.
  • deleted_at: Timestamp when the Insight was deleted else null if the dataset is not deleted.

Operations tracked for Insights.

  • created
  • updated
  • viewed
  • deleted
Models

This dimension table contains the details of the Models created within Tellius, this will be the master table that can be linked to the Usage Tracking data to understand which Model is most used, When it was deleted, Which users accessed them.

Schema:

  • id: Unique Identification for the Model.
  • owner_id: User id of the owner of the Model.
  • name: Name of the Model.
  • algorithm: Name of the Algorithm, which the model is associated with.
  • algorithm_type: Type of the Algorithm, which the model is associated with.
  • persisted: Boolean flag representing if the model is saved by the user or not.
  • auto_ml_name: Name of the AutoML model specified by the user. Can be used to check if the model was created using auto ml.
  • business_view_id: Id of the Business View, Model is associated with.
  • workspace_id: Id of the Workspace, Model is a part of.
  • created_at: Timestamp when the Model was created.
  • updated_at: Timestamp when the Model was last updated.
  • deleted_at: Timestamp when the Model was deleted else null if the Model was not deleted.

Operations tracked for Models.

  • created
  • updated
  • viewed
  • deleted
Query

This dimension table contains the details of the Queries executed from Search within Tellius, this will be the master table which will mostly be of the same size as that of the Tracking table as we will create a new query object for each query executed and saved to History. This can be linked to the Usage Tracking data to understand which users are using Search more, what BusinessView was queried most, Which type of queries were run.

Schema

  • id: Unique Identification for the Query.
  • user_id: User id of the user who executed the Query.
  • query: Exact query which was executed by the User.
  • query_type: Type of the query, executed by the user.
  • business_view_id: Id of the Business View, Model is associated with.
  • query_time: Timestamp of when the query was executed.
  • time_taken: Time taken in seconds for the query to be executed.

Job Stats

Details of each asynchronous job run within Tellius are captured in this and are linked to the users' dimension table to understand which users are running the jobs, how much time was spent, the status of the jobs, etc.

This table consists of an entry for every job triggered within Tellius. The data can grow based on the number of users performing asynchronous jobs within Tellius.

While the rest of the dimension tables are the same as the ones in the Object Usage BV, the one table that is different is the Job Stats fact table. The schema is below:

Schema:

  • id: Unique Identification for the Job.
  • instance_id: Unique identifier of the instance.
  • user_id: User id of the user who triggered this job.
  • type: Type of the Job. This has the specific Job type which is shown on the Notifications page.
  • status: Status of the Job, if it is RUNNING, CANCELLED, SUCCESS, PARTIALSUCCESS, FAILURE
  • started_at: Timestamp at which the job was started.
  • completed_at: Timestamp at which the job was completed.
  • duration: Duration of Job in seconds.
  • no_of_resources: Number of resources created from this job.
  • datasource_id: Datasource id of the object related to the job.
  • dataset_id: Id of the dataset which was created/published/refreshed as a part of this job.
  • business_view_id: Id of the business view which was created/published/refreshed as a part of this job.
  • insight_id: Id of the insight which was created/updated as a part of this job.
  • model_id: Id of the model which was trained/refreshed as a part of this job.

Infrastructure Metrics

Details of different metrics of the hardware resources like CPU, Disk, RAM, etc are captured on a regular basis (every minute) and saved. This data can be analyzed to get some insights on when the resources are most used, if the infrastructure running low on resources, or if there is a timeframe when the infrastructure can be scaled down to save costs.

While the Instance Table is the same as described above, the Infrastructure Metrics table schema can be viewed below:

Schema:

  • instance_id: Unique identifier of the instance.
  • available_cpu: Cores of CPU available for Tellius.
  • used_cpu: Cores of CPU used by Tellius at this point in time.
  • available_ram: Amount of RAM in GBs available for Tellius.
  • used_ram: Amount of RAM in GBs used by Tellius at this point in time.
  • available_disk: Amount of Disk in GBs available for Tellius.
  • used_disk: Amount of Disk in GBs used by Tellius at this point in time.
  • timestamp: Timestamp at which the resources were captured.

How did we do?

Resource Consumption

Usage & Billing

Contact