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”.
Table 28.16.
| Parameter | Description | Default |
|---|---|---|
| eventType | If '*' 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. | * |
| memberEmail | If '*' is supplied, then it returns a collection of DevTime stream to all all project member, otherwise it returns a stream of the specified user. | * |
| filePattern | Ant-like file pattern specifying the files to be included in computation. | ** |
| isCumulative | If true, an cumulative version of telemetry stream is returned. | false |
| memberEmail | If '*' 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. | * |
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'.
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.
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.