Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

In this wiki, We are going to discuss about  method to capture the telemetry events to compute the usage of the  each features in all the products and we will discuss about below scenario

  • Feature usage computation for the existing features of each product.
  • Feature usage computation for the upcoming new features of each product 

Solution 1: 

        Description:  Feature dashboard will give insight about the feature usage in terms of events received. This will be computed on a daily basis. The data will  populated in Superset for Analysis.

       Event Name:   FEATUREwe will discuss an approach to compute usage of various features across different components. The usage of features can be captured using telemetry events and then subsequently used for analysis of different feature usage. We will discuss the following computations as part of this wiki

  • Approach for computation of feature for existing features.
  • Approach for capturing required details for feature usage computation for new features.

Solution:

Description:  The usage of various features can be directly derived from telemetry events after defining a structure for instrumenting the usage of features. A data product summariser will operate on the telemetry events to compute the feature usage data. The usage data can then be indexed into Druid for further visualisation or analysis.


      Event Flow:     

     Image Added

      Event Name:   FEATURE

  

      Event Data Structure:

Code Block
languagejs
themeEmacs
titleFeature Event Object
linenumberstrue
{
	id:"Feature Identifier", //required
	name:"Editor Undo Redo", // Optional
	description:"", // Optional
    version:"1.0", // Version of the feature
	releaseversionreleasedversion:"15.0", // Required, In which version of product having this featureId
	category:"SunbirdEd" //  RequiredOptional, Defined this feature is related to SunbirdEd or SunbirdCore (Ex: SunbirdEd or SunbirdCore)
	duration:"42343", //Optional, Time spent in 	releasedate:"" // optional, Releasing date of the feature.
    lastupdateddate:"" // Optional, When this feature is got updated.
second 
	
}


Existing features usage computation:

 


FeatureEvent NameProperties
1Youtube video in the ECML ContentINTERACT

actor.type='User'

context.env='contenteditor'

object.type='content'

edata.type='select'

edata.plugin.id='org.ekstep.video'

2Question Plugin INTERACT

actor.type='User'

context.env='contenteditor'

object.type='content'

edata.type='click'

edata.id='button'

edata.subtype='select'

edata.plugin.id='org.ekstep.questionbank'

3Content suggestion in textbookINTERACT

actor.type='User'

context.env='contenteditor'

object.type='content'

edata.type='click'

edata.id='button'

edata.subtype='select'

edata.plugin.id='org.ekstep.suggestioncontent'


4Math symbol and formulaINTERACT

actor.type='User'

context.env='contenteditor'

object.type='content'

edata.type='TOUCH'

edata.id='input'

edata.pageid='question-creation-mcq-form'

edata.plugin.id='org.ekstep.questionunit.mcq'


5Assessment summariser in the mobile appIMPRESSION

actor.type='User'

context.env='reports-users-group'

edata.pageid='user'

edata.uri='user'

edata.type='view'



6User Groups in mobile appIMPRESSION

actor.type='User'

context.env='user'

edata.pageid='users-groups'

edata.uri='users-groups'

edata.type='view'



Conclusion:


* Instead of generating new FEATURE event object from the upstream component, generate a INREACT Event with cdata object having featureId with this we can compute the feature usage.

* For the existing features, Implement data product to compute the feature usage only if the computation is not possible from the druid.