28.17. MemberDevTime

28.17.1. Description

The MemberDevTime reduction function computes and returns a collection of telemetry streams representing the DevTime associated with individual project members. This enables you to understand how individual members contribute to the overall DevTime associated with a Project.

For more information about the DevTime analysis in general, see Section 28.9, “DevTime”. For DevTime analyses associated with individual event types, see Section 28.10, “EventTypeDevTime”. For DevTime analyses associated with individual workspaces, see Section 28.36, “WorkspaceDevTime”.

28.17.2. Parameters

Table 28.16. 

ParameterDescriptionDefault
eventTypeIf '*' is supplied, then all event types' DevTime is summed up in the computation. If a event type is supplied, only that event type's DevTime is used in the computation.*
memberEmailIf '*' is supplied, then it returns a collection of DevTime stream to all all project member, otherwise it returns a stream of the specified user. *
filePatternAnt-like file pattern specifying the files to be included in computation.**
isCumulativeIf true, an cumulative version of telemetry stream is returned.false
memberEmailIf '*' is supplied, then a collection of telemetry streams is returned, with one telemetry stream for each member in the project. If a member email is supplied, then only one telemetry stream is returned representing this member's DevTime in the project. *

28.17.3. Example 1: DevTime for all members

Example 28.25. MemberDevTime

streams MemberDevTimeStream(eventType, memberEmail, filePattern, cumulative) = {
   "DevTime", MemberDevTime(eventType, memberEmail, filePattern, cumulative)
};

y-axis yAxis(label) = {label};

chart MemberDevTimeChart(memberEmail) = {
  "Member DevTime", 
  (MemberDevTimeStream("*", memberEmail, "**", "false"), yAxis("DevTime Hours"))
};

draw MemberDevTimeChart("*");

This is a telemetry chart that displays multiple telemtry streams, one for each member in the project. Note that "*" is passed as the value of the parameter 'memberEmail'.

28.17.4. Example 2: Individual member's DevTime

Example 28.26. MemberDevTime: Individual Member DevTime

streams MemberDevTimeStream(eventType, memberEmail, filePattern, cumulative) = {
   "DevTime", MemberDevTime(eventType, memberEmail, filePattern, cumulative)
};

y-axis yAxis(label) = {label};

chart MemberDevTimeChart(memberEmail) = {
  "Member DevTime", 
  (MemberDevTimeStream("*", memberEmail, "**", "false"), yAxis("DevTime Hours"))
};

draw MemberDevTimeChart("johnson@hawaii.edu");

This is a telemetry chart containing one single telemetry stream (non-cumulative DevTime) for the member "johnson@hawaii.edu", which was passed as the value of memberEmail.

28.17.5. DevTime vs. Active Time

While Active Time is computed based upon a single event (file editing) from a single kind of sensor (those for interactive development environments), DevEvents are computed from a broader range of events and a broader range of sensors (IDEs, build invocations, command line invocations). As a result, we recommend the use of DevEvents and the DevTime analyses over Active Time.