Telemetry overview

Telemetry is the explicit and ethical collection of operation data. By default, telemetry is not available in Eclipse Che, but there is an abstract API that allows enabling telemetry using the plug-in mechanism. This approach is used in the Eclipse Che hosted by Red Hat service where telemetry is enabled for every 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.

  • The list of plug-ins enabled in a workspace

  • Programming languages and devfiles used in workspaces. See Authoring a devfile 2

How it works

When a Che workspace starts, the che-theia container starts the telemetry plug-in, which is responsible for sending telemetry events to a back-end. If the $CHE_WORKSPACE_TELEMETRY_BACKEND_PORT environment variable was set in the workspace Pod, the telemetry plug-in will send events to a back-end listening at that port.

If the Che workspace has a telemetry back-end container running, and it is listening on $CHE_WORKSPACE_TELEMETRY_BACKEND_PORT, it takes the events sent from the telemetry plug-in, turns them into the back-end-specific representation of events, and sends them to the configured analytics back-end (for example, Segment or Woopra).

telemetry diagram