|
| 1 | +// ============================================================================= |
| 2 | +// MANAGER_REGISTRATION.FAILED — Property Validation by Manager × Error Type (stable >= 1.24.0) |
| 3 | +// For each manager, shows the breakdown of error types from registration failures. |
| 4 | +// errorType reference: spawn_timeout, spawn_enoent, permission_denied, canceled, |
| 5 | +// parse_error, process_crash, unknown. |
| 6 | +// MachinePct = % of all stable machines that hit this manager+errorType combination. |
| 7 | +// ============================================================================= |
| 8 | +RawEventsVSCodeExt |
| 9 | +| where ServerTimestamp > ago(28d) |
| 10 | +| where EventName == "ms-python.vscode-python-envs/manager_registration.failed" |
| 11 | +| extend ExtVersion = tostring(Properties["common.extversion"]) |
| 12 | +| extend _minor = toint(extract("^1\\.(\\d+)", 1, ExtVersion)) |
| 13 | +| where _minor >= 24 and (_minor % 2) == 0 |
| 14 | +| summarize |
| 15 | + EventCount = count(), |
| 16 | + UniqueMachines = dcount(VSCodeMachineId) |
| 17 | + by ManagerName = tostring(Properties.managername), ErrorType = tostring(Properties.errortype) |
| 18 | +| extend TotalUniqueMachines = toscalar( |
| 19 | + RawEventsVSCodeExt |
| 20 | + | where ServerTimestamp > ago(28d) |
| 21 | + | where ExtensionName == "ms-python.vscode-python-envs" |
| 22 | + | where ExtensionVersion != "" |
| 23 | + | extend _minor = toint(extract("^1\\.(\\d+)", 1, ExtensionVersion)) |
| 24 | + | where _minor >= 24 and (_minor % 2) == 0 |
| 25 | + | summarize dcount(VSCodeMachineId) |
| 26 | +) |
| 27 | +| extend MachinePct = round(todouble(UniqueMachines) / todouble(TotalUniqueMachines) * 100, 2) |
| 28 | +| order by EventCount desc |
| 29 | + |
| 30 | + |
| 31 | +// ============================================================================= |
| 32 | +// MANAGER_REGISTRATION.FAILED — Total Failures by Manager × Extension Version (stable >= 1.24.0) |
| 33 | +// Total failure count per manager per version, regardless of error type. |
| 34 | +// MachinePct = % of machines on that version that had any registration failure for this manager. |
| 35 | +// Same manager name appears in consecutive rows, sorted by version ascending. |
| 36 | +// ============================================================================= |
| 37 | +let totalByVersion = RawEventsVSCodeExt |
| 38 | +| where ServerTimestamp > ago(28d) |
| 39 | +| where ExtensionName == "ms-python.vscode-python-envs" |
| 40 | +| extend ExtVersion = tostring(Properties["common.extversion"]) |
| 41 | +| where ExtVersion != "" |
| 42 | +| extend _minor = toint(extract("^1\\.(\\d+)", 1, ExtVersion)) |
| 43 | +| where _minor >= 24 and (_minor % 2) == 0 |
| 44 | +| summarize TotalMachines = dcount(VSCodeMachineId) by ExtVersion; |
| 45 | +RawEventsVSCodeExt |
| 46 | +| where ServerTimestamp > ago(28d) |
| 47 | +| where EventName == "ms-python.vscode-python-envs/manager_registration.failed" |
| 48 | +| extend ExtVersion = tostring(Properties["common.extversion"]) |
| 49 | +| extend _minor = toint(extract("^1\\.(\\d+)", 1, ExtVersion)) |
| 50 | +| where _minor >= 24 and (_minor % 2) == 0 |
| 51 | +| summarize |
| 52 | + EventCount = count(), |
| 53 | + UniqueMachines = dcount(VSCodeMachineId) |
| 54 | + by ManagerName = tostring(Properties.managername), ExtVersion |
| 55 | +| join kind=inner totalByVersion on ExtVersion |
| 56 | +| extend MachinePct = round(todouble(UniqueMachines) / todouble(TotalMachines) * 100, 2) |
| 57 | +| project ManagerName, ExtVersion, EventCount, UniqueMachines, TotalMachines, MachinePct |
| 58 | +| order by ManagerName asc, ExtVersion asc |
| 59 | + |
| 60 | + |
| 61 | +// ============================================================================= |
| 62 | +// SPAWN_TIMEOUT Failures by Manager × Extension Version (stable >= 1.24.0) |
| 63 | +// Shows whether spawn_timeout is improving or worsening across stable releases. |
| 64 | +// If a new stable version shows higher MachinePct → that release regressed timeout handling. |
| 65 | +// ============================================================================= |
| 66 | +let totalByVersion = RawEventsVSCodeExt |
| 67 | +| where ServerTimestamp > ago(28d) |
| 68 | +| where ExtensionName == "ms-python.vscode-python-envs" |
| 69 | +| where ExtensionVersion != "" |
| 70 | +| extend _minor = toint(extract("^1\\.(\\d+)", 1, ExtensionVersion)) |
| 71 | +| where _minor >= 24 and (_minor % 2) == 0 |
| 72 | +| summarize TotalMachines = dcount(VSCodeMachineId) by ExtVersion = ExtensionVersion; |
| 73 | +RawEventsVSCodeExt |
| 74 | +| where ServerTimestamp > ago(28d) |
| 75 | +| where EventName == "ms-python.vscode-python-envs/manager_registration.failed" |
| 76 | +| extend ExtVersion = tostring(Properties["common.extversion"]) |
| 77 | +| extend _minor = toint(extract("^1\\.(\\d+)", 1, ExtVersion)) |
| 78 | +| where _minor >= 24 and (_minor % 2) == 0 |
| 79 | +| where tostring(Properties.errortype) == "spawn_timeout" |
| 80 | +| summarize |
| 81 | + EventCount = count(), |
| 82 | + UniqueMachines = dcount(VSCodeMachineId) |
| 83 | + by ManagerName = tostring(Properties.managername), ExtVersion |
| 84 | +| join kind=inner totalByVersion on ExtVersion |
| 85 | +| extend MachinePct = round(todouble(UniqueMachines) / todouble(TotalMachines) * 100, 2) |
| 86 | +| project ManagerName, ExtVersion, EventCount, UniqueMachines, TotalMachines, MachinePct |
| 87 | +| order by ManagerName asc, ExtVersion asc |
| 88 | + |
| 89 | + |
| 90 | + |
| 91 | +// ============================================================================= |
| 92 | +// Process Crash Failures by Manager × Extension Version (stable >= 1.24.0) |
| 93 | +// Uses leftouter join from totalByVersion so ALL stable versions appear, including |
| 94 | +// those with 0 crashes. With kind=inner, versions that had no process_crash failures |
| 95 | +// (e.g. 1.24.x) are silently dropped — that's why only 1.26.0 was visible before. |
| 96 | +// ============================================================================= |
| 97 | +let totalByVersion = RawEventsVSCodeExt |
| 98 | +| where ServerTimestamp > ago(28d) |
| 99 | +| where ExtensionName == "ms-python.vscode-python-envs" |
| 100 | +| where ExtensionVersion != "" |
| 101 | +| extend _minor = toint(extract("^1\\.(\\d+)", 1, ExtensionVersion)) |
| 102 | +| where _minor >= 24 and (_minor % 2) == 0 |
| 103 | +| summarize TotalMachines = dcount(VSCodeMachineId) by ExtVersion = ExtensionVersion; |
| 104 | +let crashes = RawEventsVSCodeExt |
| 105 | +| where ServerTimestamp > ago(28d) |
| 106 | +| where EventName == "ms-python.vscode-python-envs/manager_registration.failed" |
| 107 | +| extend ExtVersion = tostring(Properties["common.extversion"]) |
| 108 | +| extend _minor = toint(extract("^1\\.(\\d+)", 1, ExtVersion)) |
| 109 | +| where _minor >= 24 and (_minor % 2) == 0 |
| 110 | +| where tostring(Properties.errortype) == "process_crash" |
| 111 | +| summarize |
| 112 | + EventCount = count(), |
| 113 | + UniqueMachines = dcount(VSCodeMachineId) |
| 114 | + by ManagerName = tostring(Properties.managername), ExtVersion; |
| 115 | +totalByVersion |
| 116 | +| join kind=leftouter crashes on ExtVersion |
| 117 | +| where isnotempty(ManagerName) |
| 118 | +| extend MachinePct = round(todouble(UniqueMachines) / todouble(TotalMachines) * 100, 2) |
| 119 | +| project ManagerName, ExtVersion, EventCount, UniqueMachines, TotalMachines, MachinePct |
| 120 | +| order by ManagerName asc, ExtVersion asc |
| 121 | + |
| 122 | + |
| 123 | +// ============================================================================= |
| 124 | +// UNKNOWN Failures by Manager × Extension Version (stable >= 1.24.0) |
| 125 | +// Shows whether unknown (unclassified) errors are improving or worsening across stable releases. |
| 126 | +// High counts in the latest stable version → new unclassified error paths need investigation. |
| 127 | +// ============================================================================= |
| 128 | +let totalByVersion = RawEventsVSCodeExt |
| 129 | +| where ServerTimestamp > ago(28d) |
| 130 | +| where ExtensionName == "ms-python.vscode-python-envs" |
| 131 | +| where ExtensionVersion != "" |
| 132 | +| extend _minor = toint(extract("^1\\.(\\d+)", 1, ExtensionVersion)) |
| 133 | +| where _minor >= 24 and (_minor % 2) == 0 |
| 134 | +| summarize TotalMachines = dcount(VSCodeMachineId) by ExtVersion = ExtensionVersion; |
| 135 | +RawEventsVSCodeExt |
| 136 | +| where ServerTimestamp > ago(28d) |
| 137 | +| where EventName == "ms-python.vscode-python-envs/manager_registration.failed" |
| 138 | +| extend ExtVersion = tostring(Properties["common.extversion"]) |
| 139 | +| extend _minor = toint(extract("^1\\.(\\d+)", 1, ExtVersion)) |
| 140 | +| where _minor >= 24 and (_minor % 2) == 0 |
| 141 | +| where tostring(Properties.errortype) == "unknown" |
| 142 | +| summarize |
| 143 | + EventCount = count(), |
| 144 | + UniqueMachines = dcount(VSCodeMachineId) |
| 145 | + by ManagerName = tostring(Properties.managername), ExtVersion |
| 146 | +| join kind=inner totalByVersion on ExtVersion |
| 147 | +| extend MachinePct = round(todouble(UniqueMachines) / todouble(TotalMachines) * 100, 2) |
| 148 | +| project ManagerName, ExtVersion, EventCount, UniqueMachines, TotalMachines, MachinePct |
| 149 | +| order by ManagerName asc, ExtVersion asc |
0 commit comments