Che-Theia workspaces

Telemetry overview

Telemetry is the explicit and ethical collection of operation data. By default, telemetry is not available in Eclipse Che, but in the Che-Theia editor there is an abstract API that allows enabling telemetry using the plug-in mechanism and in the chectl command line tool usage data can be collected using segment. This approach is used in the Eclipse Che hosted by Red Hat service where telemetry is enabled for every Che-Theia workspace.

This documentation includes a guide describing how to make your own telemetry client for Eclipse Che, followed by an overview of the Eclipse Che Woopra Telemetry Plugin.

Use cases

Eclipse Che telemetry API allows tracking:

  • Duration of a workspace utilization

  • User-driven actions such as file editing, committing, and pushing to remote repositories.

  • Programming languages and devfiles used in workspaces.

How it works

When a Dev Workspace starts, the che-theia container starts the telemetry plug-in which is responsible for sending telemetry events to a backend. If the $DEVWORKSPACE_TELEMETRY_BACKEND_PORT environment variable is set in the Dev Workspace Pod, the telemetry plug-in sends events to a backend listening at that port. The backend turns received events into a backend-specific representation of the events and sends them to the configured analytics backend (for example, Segment or Woopra).

telemetry diagram

Events sent to the backend by the Che-Theia telemetry plug-in

Event Description

WORKSPACE_OPENED

Sent when Che-Theia starts running

COMMIT_LOCALLY

Sent when a commit was made locally with the git.commit Theia command

PUSH_TO_REMOTE

Sent when a Git push was made with the git.push Theia command

EDITOR_USED

Sent when a file was changed within the editor

Other events such as WORKSPACE_INACTIVE and WORKSPACE_STOPPED can be detected within the back-end plug-in.