Skip to content

Telemetry Service

Telemetry Service is a highly scalable micro service which allows various components in the Sunbird platform to send the event level data generated from various activities in the platform. These event level data could be either from clients such as the user apps or from micro services such as Sunbird Lern.

Telemetry Service Workflow

  1. Horizontally Scalable: The service can be scaled horizontally to handle increase in Telemetry data traffic as the operations are idempotent.
  2. Configurable storage: The service supports disk storage, Apache Kafka, Apache Cassandra as data storage.
  3. In-built compression: Efficient use of network bandwidth by compressing the messages sent to the data storage.
PropertyDescriptionDefault
localStorageEnabledA boolean flag to enable on disk storagetrue
dispatcherSupported dispatchers are kafka, cassandra, file and consoleconsole
kafkaHostHost or IP address of the Kafka broker serversnone
topicThe kafka topic to which telemetry data will be pushed tonone
compression_typeType of compression to use if kafka dispatcher is chosen. Possible values are none, gzip and snappynone
filenameThe name of the file to write data to if file dispatcher is chosentelemetry-%DATE%.log
maxSizeRoll over max size for file based dispatched100 Mb
maxFilesMax files to keep for a file based dispatcher100
partitionByTime based partitioning key for a Cassandra dispatcherhour
keyspaceKeyspace name for a Cassandra dispatchernone
cassandraTtlTTL for retention of data for a Cassandra dispatchernone
threadsNumber of cpu threads to be used by the serviceDefault number of cpus on the machine

Source Code