Overview

// Count of issues completed by cycle
LinearIssues
| where cycleId != ""
| summarize count() by toint(cycleNumber)
| render barchart 

// Count of issues completed by assigneeName
LinearIssues
| where cycleId != ""
| summarize count() by assigneeName
| render barchart 

// Time to close issues by assigneeName
LinearIssues
| where assigneeName != ""
| extend openTime = completedAt - startedAt
| summarize percentiles(openTime, 50, 90) by assigneeName
| sort by assigneeName desc

Per cycle analysis

//Avergage issues completed by a person per cycle
LinearIssues
| where cycleId != ""
| summarize count() by cycleNumber, assigneeName
| summarize percentiles(count_, 50, 90)

//Average issues completed by assignee per cycle
LinearIssues
| where cycleId != "" and assigneeName != ""
| summarize count() by cycleNumber, assigneeName
| summarize percentiles(count_, 50) by assigneeName
| render barchart 

// Time to close issues per cycle
LinearIssues
| where cycleId != ""
| extend openTime = completedAt - startedAt
| summarize percentiles(openTime, 50, 90) by cycleNumber
| sort by cycleNumber desc 

// Time to close issues by assignee per cycle
LinearIssues
| where cycleId != "" and assigneeName != ""
| extend openTime = completedAt - startedAt
| summarize percentiles(openTime, 50, 90) by cycleNumber, assigneeName
| sort by cycleNumber desc