Telemetry overview

To support comprehensive evaluation and performance reviews, SuperAnnotate has a native logging system that tracks time spent in a project editor, and any annotation status changes. Any data logged within this system can be found in the Telemetry Reports tab, provided the feature is enabled for the organization.

Each table has a defined retention period, after which data is automatically deleted.

The logging system applies to Multimodal, Image, Video, and Text projects.

Editors time tracking

The logging system tracks a user’s active state while working in the editor to calculate the total working time across any editor.

Whenever a user works on an item in the Editor, their activity is automatically logged. This activity refers to: typing, scrolling, clicking, any mouse movement, playing a video, or opening and closing items. The system checks for activity every 10 seconds, and if any of the aforementioned actions were taken, a new entry is made in the log. The actions taken aren’t specified in the entry.

Activity tracking is limited to the editor — no other sections of the SuperAnnotate platform are monitored. It applies to all user roles.

All the activity tracking logs are aggregated into a daily cumulative working duration for users based on time spent on each item in a project.

Aggregation calculation takes into account the Max inactivity duration, which sets the maximum number of seconds a user can remain inactive. Any inactivity that lasts longer than the maximum duration will be excluded from accumulation.

For example: The maximum duration is set to 60 seconds. If the user was inactive for 59 seconds, then those seconds accumulated as working time. If the user was inactive for 61 seconds, then none of those seconds are accumulated.

The Max inactivity duration is configured from a project’s Setup.

Annotation status change data collection

The logging type tracks all annotation status changes within the SuperAnnotate platform. Logs are recorded whenever an annotation status is updated, and the data is stored in the raw-data-annotation-status table.

Structure: raw-data-annotation-status

Retention period: 6 months

Column

Description

Notes

time

The exact datetime when the event occurred.

Format: datetime
Type: index
Cannot be empty

item_id

The ID of the item whose annotation status was changed.

Format: integer
Cannot be empty

item_name

The name of the item whose annotation status was changed.

Format: string
Cannot be empty

folder_id

The ID of the folder where the item is located in the project.
The item should always be in a folder. If there are no folders created in the project, items will instead be located in the project’s root.

Format: string
Type: index
Cannot be empty

project_id

The ID of the project where the item ID is located.

Format: string
Type: index
Cannot be empty

team_id

The ID of the team where the item ID is located.

Format: string
Type: index
Cannot be empty

organization_id

The organization ID where the item ID is located.

Format: string
Cannot be empty

source

The source from which the item status change was made.

Values: Editor, SDK, Explore
Cannot be empty

user_id

The email address of the user who changed the item’s status status change.
This is set as the Team Owner’s user email when the source is SDK.

Format: string
Cannot be empty

user_role

The ID of the role that is assigned to the user_id user.

Format: integer
Cannot be empty

1 - System “Annotator” role
2 - System “QA” role
3 - Admin roles (Project admin, Team admin, Team owner)
Other values - custom roles

user_role_name

The name of the role user_role.

Format: string
Cannot be empty

status_from

The name of the status that the item_id had before the change.

Format: string
Type: index
Cannot be empty

System statuses:
1 - Not Started
2 - In Progress
3 - Quality Check
4 - Returned
5 - Completed
6 - Skipped

Other status IDs are custom-created statuses.

status_to

The name of the status that the item_id has after the change.

Format: string
Type: index
Cannot be empty

System statuses:
1 - Not Started
2 - In Progress
3 - Quality Check
4 - Returned
5 - Completed
6 - Skipped

Other status IDs are custom-created statuses.

assignment_from_role

The name of the role that corresponds to the status the item_id had before the change by the project’s workflow.

Format: string
empty - when there is no corresponding role for the status by the project’s workflow

assignment_from_id

The email address of the assignee on the assignment_from_role role.

Format: string
empty - when there is no assignee for assignment_from_role
empty - when there is no corresponding role for the status by the project’s workflow

assignment_to_role

The name of the role that corresponds to the status the item_id has after the change by the project’s workflow.

Format: string
empty - when there is no corresponding role for the status by the project’s workflow

assignment_to_id

The email address of the assignee on the assignment_to_role role.

Format: string
empty - when there is no assignee for assignment_to_role
NULL - when there is no corresponding role for the status by the project’s workflow.

Aggregation: raw-data-annotation-status

At the end of each day, we compute and store the item count for each status, along with the number of items that entered and exited that status. The results are aggregated by Day, Folder, and Status.

Aggregation takes place once a day at 00:00 UTC, covering the previous 24 hours and including only projects whose status is not "Completed."

Column

Description

Notes

id

Unique identifier for the generated data row.

No logic is assigned to it. It is just the consecutive number for each newly generated row.

date

Date for the aggregated data. Includes the dates on which at least one status change has been logged, or folders with at least one existing item, at the moment of aggregation.

Format: date / yyyy-mm-dd

folder_id

ID of a folder with at least one existing item or logged status change at the moment of aggregation.

Format: number
Cannot be empty

project_id

Project where the folder is located.

Format: number
Cannot be empty

team_id

Team where the project is located.

Format: number
Cannot be empty

organization_id

Organization where the team is located.

Format: string
Cannot be empty

status

Name of the status in the project's workflow.

Format: string
Cannot be empty

item_count_in

Count of status change transitions on “Status To” that have been done during Date, in Folder.

Format: number
Cannot be empty
In case of no transition: 0
Transitions between the same statuses are not counted.
For example: Transitions from In Progress to In Progress are not counted in item_count_in for In Progress

item_count_out

Count of status change transitions from “Status From” that have been done during Date, in Folder.

Format: number
Cannot be empty
In case no transition: 0
Transitions between the same statuses are not counted.
For example: Transitions from In Progress to In Progress are not counted in item_count_out for In Progress

item_count_eop

Count of unique items within the Folder at the end of the period (day).

Format: number
Cannot be empty
In case of no items: 0