At least one metric is below 95%. Action required — see recommendations. Lowest weekly average: 94.85%.
CapacityNotActive surged 3.2× (1,775 → 5,629 events, 82 unique notebooks) — see Save Reliability.GetMWCToken_403_Unkown surged 2.7× (27 → 74 events, 4 unique notebooks) — see Save Reliability.Bands: ≥ 99% Healthy 95–99% Watch < 95% Degraded · Y-axis auto-scales to the data range for clearer trend visibility. Hover any dot for the exact daily value.
Rolled-out client versions ranked by total join attempts this week. A clearly worse rate on a specific build hints at a regression in that release.
| Component Version | Join Rate | Success | Total |
|---|---|---|---|
1.7.8 | 99.72% | 870,058 | 872,502 |
1.7.7 | 100.00% | 228 | 228 |
1.7.3 | 100.00% | 97 | 97 |
1.7.5 | 100.00% | 94 | 94 |
1.7.6 | 100.00% | 37 | 37 |
1.7.2 | 100.00% | 20 | 20 |
1.7.4 | 100.00% | 13 | 13 |
Rolling 14-day window: 2026-05-31 → 2026-06-14. Inconsistency rate = % of instances that fired dataIntegrity/error in AzNB.Client events. Lower is better.
| Message | Occurrences | Distinct Instances | Distinct Clients |
|---|---|---|---|
| Cell source mismatch between local and fluid (editor mismatched with fluid) | 50,233 | 791 | 611 |
| Cell source mismatch between local and fluid (editor not mounted) | 9,833 | 153 | 120 |
| Cell count mismatch between local and fluid DDS | 490 | 19 | 18 |
| Local cell doesn't have mapped remote id | 2,190 | 12 | 12 |
Bands: ≥ 99% Healthy 95–99% Watch < 95% Degraded · Hover any dot for the exact daily value.
Overall: every save attempt counts equally. Excluding user errors: ignores user-side reasons (size limits, capacity inactive, auth). Unique notebook: % of distinct notebooks that saved at least once.
📌 Rows tagged SystemError / Service have an amber background — these are service-side issues we own. Click sample text to expand the full JSON.
| Error Code | Category | Events | Unique Notebooks | Sample Error (click to expand) |
|---|---|---|---|---|
UserDevice_NetworkError | UserError | 30,505 | 3,609 | |
UserDevice_ProxyError | UserError | 22,857 | 29 | |
NotebookSave_ExceedMaximumSize | UserError | 16,130 | 96 | |
CapacityNotActive | UserError | 5,629 | 82 | |
MwcRequest_Status404 | UserError | 3,542 | 185 | |
GetMWCToken_Other | UnknownError | 2,570 | 24 | |
GetMWCToken_401_PowerBINotAuthorizedException | UserError | 1,852 | 35 | |
GetMWCToken_401_TokenExpired | SystemError | 1,604 | 16 | |
ArtifactWrite_Unauthorized | UserError | 842 | 9 | |
GetMWCToken_0_SharedNetworkConnectionIssue | UserError | 225 | 54 | |
FaileToGetEtagOfNotebook | SystemError | 219 | 67 | |
GetMWCToken_403_TenantNotAuthorizedForCluster | UserError | 182 | 4 | |
GetMWCToken_429_Unkown | UserError | 171 | 15 | |
GetMWCToken_403_Unkown | UserError | 74 | 4 | |
GetMWCToken_403_TokenExpired | SystemError | 27 | 3 | |
MwcRequest_Status401 | SystemError | 24 | 15 | |
GetMWCToken_404_CapacityNotActive | UserError | 21 | 20 | |
MWCToken_ValidationException | SystemError | 17 | 15 | |
NotebookSave_PreconditionFailed | SystemError | 17 | 17 | |
GetMWCToken_500_ServerInternalError | SystemError | 11 | 6 |
Both PUT (save) and HEAD (etag pre-fetch) calls are counted at the network layer. The HTTP 500 Deep-Dive section below only covers PUT failures that reached the app-level save-error log path, so its unique-notebook count can legitimately be lower (a HEAD-500 may prevent the PUT from ever being attempted).
| Environment | Status | Unique Notebook URLs |
|---|---|---|
| PROD | 200 | 366,612 |
| PROD | 0 | 2,004 |
| PROD | 412 | 462 |
| PROD | 404 | 225 |
| PROD | 401 | 171 |
| PROD | 403 | 45 |
| PROD | 500 | 4 |
| PROD | 413 | 1 |
| Message (click to expand) | Status | Unique Notebooks |
|---|---|---|
| TypeError: Failed to fetch (browser thrown this error when response is not returned) | — | 2,752 |
| Failed to fetch [ParentActivityId:<g-u-i-d>] | — | 1,096 |
| Failed to get etag | — | 289 |
| Failed to get etag | 404 | 185 |
| Notebook content size <#> MB exceeds maximum allowed size 32 MB | — | 96 |
| CapacityNotActive | — | 82 |
| — | — | 29 |
| NetworkError when attempting to fetch resource. [ParentActivityId:<g-u-i-d>] | — | 26 |
| Load failed [ParentActivityId:<g-u-i-d>] | — | 23 |
| [Metastore/PreconditionFailed/NotebookServiceError] Failed to update entity <g-u-i-d>/<g-u-i-d>. | 412 | 17 |
| Failed to get etag | 401 | 15 |
| [MwcTokenValidationException] Internal error MwcTokenValidationException. | 401 | 15 |
401 | 9 | |
| Failed to retrieve MWC token for "Notebook": WorkspaceId=<g-u-i-d> CapacityId=<g-u-i-d> ArtifactId=<g-u-i-d>. | — | 9 |
| Failed to get etag | 403 | 6 |
| The notebook has been deleted. | 404 | 5 |
| System error. The content of this notebook is missing. Artifact Id: <g-u-i-d>. | 500 | 3 |
404 | 3 | |
| Timeout fetching MWC token for Notebook. 72007s elapsed. Please retry your operation. | — | 1 |
| Timeout fetching MWC token for Notebook. 57862s elapsed. Please retry your operation. | — | 1 |
Server-internal errors during PUT /content. These are service-owned — review correlated logs in the artifact storage service. Use the correlation IDs in the sample response body to trace upstream.
| Error Code | Component Version | Environment | Events | Unique Notebooks | Sample Message + Response Body |
|---|---|---|---|---|---|
500_NotebookContentIsMissing | — | PROD | 10 | 3 | view samplemessage: System error. The content of this notebook is missing. Artifact Id: 83d7b08b-fc4c-47fa-8f72-2f6f76958d88. |
MwcRequestError | — | PROD | 1 | 1 | view samplemessage: [NBSServiceProxyException] Notebook Service failed to response. |
componentVersion — if 500s concentrate on one build, suspect a recent client-side change that triggered a backend regression. (2) Search artifact-storage logs for the CorrelationId in response.body. (3) Compare event count to last week — a 2× surge appears in the WoW banner above.Each save failure mapped to the network call it came from and the HTTP status returned. Use this to trace user-visible errors back to the responsible service layer.
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
HEAD /workspaces/{ws}/artifacts/{id}/content | — | 26,818 | 2,989 | UserDevice_NetworkError |
other / uncategorized | — | 28,503 | 126 | UserDevice_ProxyError Timeout fetching MWC token for Notebook. 72007s elapsed. Please retry your operation. |
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
PUT /content (generic fetch error) | — | 10,377 | 1,096 | UserDevice_NetworkError Failed to fetch [ParentActivityId:001fffec-3d3d-471d-a875-f853ce69e444] |
PUT /content (browser network error) | — | 32 | 26 | UserDevice_NetworkError NetworkError when attempting to fetch resource. [ParentActivityId:001ff9f3-f9f0-43bf-b101-a4c287904c90] |
PUT /content (browser load failed) | — | 65 | 23 | UserDevice_NetworkError Load failed [ParentActivityId:001fff73-3f92-4987-93fb-a972e8fd0ab2] |
PUT /content (browser aborted before response) | — | 2 | 2 | UserDevice_NetworkError |
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
HEAD /workspaces/{ws}/artifacts/{id}/content | 404 | 3,542 | 185 | MwcRequest_Status404 |
other / uncategorized | 412 | 17 | 17 | NotebookSave_PreconditionFailed |
other / uncategorized | 404 | 8 | 8 | NotebookSave_ItemDeleted |
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
PUT /content (rejected client-side, oversize) | — | 16,130 | 96 | NotebookSave_ExceedMaximumSize Notebook content size 96.4 MB exceeds maximum allowed size 32 MB. |
PUT /content (rejected client-side, oversize) | 413 | 10 | 1 | MwcRequestError|NotebookMaxContentLengthExceeded [NotebookMaxContentLengthExceeded] file content size 33779906 is over 33554432 Bytes. |
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
other / uncategorized | 401 | 859 | 24 | MWCToken_ValidationException |
HEAD /workspaces/{ws}/artifacts/{id}/content | 401 | 24 | 15 | MwcRequest_Status401 |
HEAD /workspaces/{ws}/artifacts/{id}/content | 403 | 158 | 6 | FaileToGetEtagOfNotebook |
other / uncategorized | 403 | 1 | 1 | 403_TokenExpired |
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
other / uncategorized | 500 | 11 | 4 | MwcRequestError [NBSServiceProxyException] Notebook Service failed to response. |
statusCode + path. AAD / Authorization = token / capacity / workspace permission issue, route to identity team. Client (size limit) = SDK rejected the save before sending; user-side education or limit raise.| Outcome | Detail | Env | Unique Instances | Events |
|---|---|---|---|---|
| NotNeeded | Not needed (isLeader=false / collStatus=joined) | PROD | 3,937 | 60,787 |
| NotNeeded | Not needed (isLeader= / collStatus=) | PROD | 270 | 25,257 |
| NotNeeded | Not needed (isLeader=false / collStatus=inactive) | PROD | 461 | 5,275 |
| NotNeeded | Not needed (isLeader=false / collStatus=failed) | PROD | 62 | 4,957 |
| YieldFailed | Yield failed | PROD | 107 | 4,817 |
| YieldSucceeded | Yield succeeded | PROD | 64 | 288 |
| NotNeeded | Not needed (isLeader=false / collStatus=in-progress) | PROD | 4 | 4 |
| NotNeeded | Not needed (isLeader=true / collStatus=inactive) | PROD | 2 | 2 |
Counts of File version is updated to … events on the new leader within 20 seconds of yield — the success signal that the handoff actually unblocked the user.
| Env | Unique instances | Unique notebooks | Saves Succeeded |
|---|---|---|---|
| PROD | 16 | 15 | 24 |
Grouped error messages from Failed to yield save leader and Yield save leader completed. Yield success: false events.
| Error message (click to expand) | Env | Unique Instances | Events |
|---|---|---|---|
| No other clients in the session that we can yield to | PROD | 106 | 4,808 |
| Timeout waiting for new leader | PROD | 6 | 6 |
| New leader is still this client | PROD | 3 | 3 |
When a yield succeeds, did the new leader actually save? These rows are SAVE_FAILED events on the new leader within 20 seconds of the yield — grouped by error so you can see the dominant failure modes.
| Error message (click to expand) | Env | Unique instances | Unique notebooks | Save Failures |
|---|---|---|---|---|
| Unexpected token '<', "<!--# FVtH"... is not valid JSON | PROD | 2 | 1 | 86 |
| Unexpected token '<', "<!--# 1Rrm"... is not valid JSON | PROD | 2 | 1 | 38 |
| Notebook content size 32.41 MB exceeds maximum allowed size 32 MB. | PROD | 1 | 1 | 5 |
| Notebook content size 33.68 MB exceeds maximum allowed size 32 MB. | PROD | 2 | 1 | 5 |
| Invalid operation. Notebook 0d92d122-7f4e-4d2a-a5d2-82a0ba068254 does not exist. | PROD | 1 | 1 | 3 |
| Notebook content size 32.39 MB exceeds maximum allowed size 32 MB. | PROD | 1 | 1 | 2 |
| Notebook content size 33.66 MB exceeds maximum allowed size 32 MB. | PROD | 1 | 1 | 2 |
| Unexpected token '<', "<!--# qPj1"... is not valid JSON | PROD | 1 | 1 | 2 |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001fbb4c-e2b5-4627-b07d-40dcadfbf4fe] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6096-0bd9-4940-a5d1-9702e839592f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ffbfd-e68d-4d13-8884-3182312ec77b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f699f-ae55-4b7d-b45f-e6ab6f63478d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe011-3e4b-4a34-a4ec-42f0822a4aa9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f85e7-6615-4a82-bb0a-754201b0bd07] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5505-1ac3-407a-8fbf-435cca4c372e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1d2c-768d-45cb-9728-38a87ebd4538] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6093-7d77-402a-bccd-58b9fe476a5f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1262-a39d-416e-8261-5a74ba47937f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7ab7-ea06-4c3e-9262-683a4e7f6281] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f57f5-21eb-4a98-9e0d-a7908f3511cd] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff52b-ed11-4c37-92ad-a0b610ef9c4a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa806-cf13-433f-8bde-f1b14fad60d6] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe273-e589-46a0-be3f-3919dee4f0e9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8316-f7b9-4a41-b149-e07e6c9c726e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6091-0d00-49b4-856d-c6dd410f1df7] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fab41-c202-40b4-b870-1b13a9f4cdc3] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f043a-0db6-401d-82d5-db8809491b90] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f219c-1fa9-4984-b44c-e477bfbe4edc] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fefd8-6334-4e3d-94eb-396fc81cd3ad] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ffb64-7085-4f10-bb9d-b823a743edad] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fdf71-1361-4dda-a8c7-fd8d509aa48e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff294-e39e-4db7-ac76-77b8aa2a69c6] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa6a8-bd02-499a-a328-0180da02d1e4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fce05-282d-440c-a152-7416cf5bb0f2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa49e-f424-49df-b5d3-cde215982a68] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9ac1-e984-4577-b349-2c038eb2d445] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f944f-fd0f-427a-ba18-d72f066d39cb] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f913f-4791-49c0-ab39-f12d47d000a1] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5a13-e069-4580-b49e-56d4798c9a98] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7604-72fd-4419-b9d1-c0dadbb16876] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f682d-9535-491e-9a2f-5cabf148dfad] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f77e1-3908-4481-af15-4d260374f047] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f33eb-7f64-4d07-9506-a97aac0c0f5c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff13b-99cf-47ad-99cf-f925b3534bd0] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe023-d93d-4bc3-990e-e818e7c2e041] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4b03-993c-4c00-a91b-d65ecd262863] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2ec3-d442-47de-b710-acfbea63e74c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fda63-e91a-4db9-b760-db10cde8b557] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f76a0-f6a2-4eb9-bdf1-44a4c0371562] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb520-680a-4a26-b3e3-2082c6406bb8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6809-3b6a-4c47-8bde-02f042fa147c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa129-3bd8-4ac2-8ab1-8a5dadff5c7e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f601a-9b36-48f7-b45a-a9c967d2d4a0] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7878-fb32-420c-a0bc-37f86ac46a3d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fc3ff-aa87-48fb-9d1b-cebb7e2f2c97] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f25b7-1110-433e-ac45-1b1e2365a780] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1775-41c1-4f0d-b9bc-5a724fcef411] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9791-fd60-43bb-a0a4-d68b647100f7] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f564f-a850-4923-ad0c-dd72b7371fe0] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f86fb-3eb0-4af4-a43b-a7ec65d101b9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd511-daa8-4b27-a5b8-d9c0be69aa8c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f24e8-9b10-4e43-93c9-45284bbe9cd1] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5cfb-8554-4909-8359-783fd5aab7e4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7f33-c206-4c3b-89c2-7561dac9235b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6258-fc77-4a43-9dc5-fcd95b9b910e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f532f-1db9-4e3b-a70a-d9bb77d577b7] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001f500f-f10b-49b5-9392-a83fbbd3652a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f04a0-96b9-4f4e-a9c5-73a4a9652242] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fbdb2-78f5-418e-9bbf-35fac350a499] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7723-bf8a-4396-9b4c-df47a5647a2c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f10fb-114f-42d3-b3c4-0c8f836b1198] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0984-2e68-4751-9a9b-01b4df0ff7c1] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd4fd-a9cf-4d9d-9e9f-81577edc9ca8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2300-ee68-4815-8f5d-7fb4372a8c95] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2755-c939-4ac7-9736-aa3acf17dd93] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001fc2ac-ae98-4086-bd69-b5d327bdb03b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ffc90-051f-4df2-9ce8-34bcc81bebc2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f120b-d6d4-40b5-b91f-2c42e0827fcc] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001faa86-dbf0-44ed-b1c7-4ca9758a3a15] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb4ce-2f98-4673-8a46-46b16adf4dee] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5769-315a-4897-85a1-1fcfee1134a9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fbe65-7f18-41ae-b8a0-26f894ebcfdd] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5e01-f7b1-4e30-af6a-e5ae51fdfad9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f29f8-d265-4c31-9d14-71123411df08] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff7f9-0822-41a5-ba8d-ea6652219f43] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2eae-3150-4924-bd83-73b57567d75b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa57f-b2c4-43ef-bfc4-04f2ef031cf1] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9b87-89d0-4113-881a-617fd88106ad] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f02ae-0bcc-4116-84d2-27bf9b06184c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd828-5177-498a-a6d1-e3093dbbc5ba] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd645-3380-4810-a1e1-285133207f3b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff61d-55e2-4bdf-8647-4192ce7f46e0] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff64a-e499-4643-b79b-fe1eb6c7a550] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3c79-ecab-4d4a-bc3e-c53a6ee1b486] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f229f-1e59-44af-981d-1049d6d4a899] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2ca0-b6db-46e2-8ce5-9d843f00272f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9088-15fd-4771-862c-d01baf7a6c7c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f504c-1177-46e7-b8c7-216c16a25957] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb127-3410-4fc5-954f-80a42f0ab7ca] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8046-126e-4369-ba9b-f60619e20122] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fc7dd-1d8f-4a21-bd50-70698096b4b2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f90a3-3d71-47e6-b219-8e6038f5ef06] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1014-67d1-4bc7-9889-b885ad9d558f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe441-9b37-43cf-b937-5133d7a1d8b3] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f81aa-636e-4b7d-95bf-8d839227bcfb] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1cf0-49cc-4399-bf7d-aae16cb5eaf2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5268-b116-4464-b4d8-fcadfaa2c0e6] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa1f7-6bb8-4edb-9ced-40d05e7a8217] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fea8b-092e-4bca-b925-f54070c2f942] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa6e6-f0cd-45e9-b333-9d48ab70438e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fdcf1-876e-47dd-b29d-ce58ce0081ab] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff54c-cd79-4d36-a11b-f65c936990ec] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb903-bb8b-4fe4-97f5-7930e9f9d831] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8eca-df2f-407b-b743-72414d93a6d2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3855-9fcd-4441-b888-0efddfd9d494] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001f6be0-8a55-4e40-bb12-27fa2fd85b06] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f839a-7333-43cd-a5a5-c4a646a20792] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0e13-24e8-4dce-9c1e-6e4468c2c077] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f02da-f758-4230-add6-51383c1c482b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1d76-c3fb-43ef-b4ba-cf83ceedbeb5] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f71c4-4a60-46c7-98a7-2f832aacea69] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8ed0-eedf-4212-b82c-1722c4ffa426] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7538-3fa7-483d-9e7c-e8ee891f79fd] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb2f7-9762-4c99-933a-d94a53a213f7] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f24f2-7f79-48f5-afc2-6f7a49b67009] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f46e4-6025-451c-906b-86be03081c2e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4243-d654-42e3-8b70-bcf078586683] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6617-b749-4bb7-ad55-397bdc4385e1] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001ffeee-aa3f-441a-aa47-c67f784b3120] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd964-a5c7-4fb4-91a4-c1dfdb7f3d57] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5346-670f-4dc0-afb4-6b529e7891d0] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f07c0-f0af-4421-853a-58fe3115cd1c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f64ad-421a-4fc0-951b-0ed77349634a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f41d9-0c93-4616-b530-7f9f8e10d4b4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fdbcf-add8-4044-ae2c-394281ef5767] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f48a5-7552-42a5-8dc0-7f51b6c18c09] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3925-a965-4450-9cba-1c7090c6147e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0fe4-1197-4bba-a422-96e57f33e3ea] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7a5e-bea9-426d-809a-9b3e9eb35dcc] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6020-61d4-4f28-ade9-1b61661640e0] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9ea2-fdb3-4baf-9bbb-0fa1b57699a0] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb683-721f-4425-82b0-818d5a3dcb70] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8bec-eba7-4b34-8575-0a96e187a6e2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb028-0160-41ab-aeed-c84d4fe6839b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f935e-3857-480c-9869-af6ad29415cc] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f28a9-8ebb-4c32-9013-1d14766fc01d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f348a-08d7-41b4-a05d-4716649b6437] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fee97-52ea-4fea-ab78-53a30e36c678] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f05b6-e49f-43c9-9342-c63c0801db49] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f614e-7c5b-4849-a68c-ec449bec4090] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe57a-bd39-48cc-b64f-d0e4c6db4a61] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f57f2-b6ca-4517-8814-f4d2b24534f7] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1136-4ace-42c3-ad4f-0993a08b73c9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7b7b-11b8-49c1-8941-4351345fdbd1] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f46af-ad66-41c8-aa9d-07ce295b04fa] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9706-f81a-4989-b43a-50f36d83862f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f941c-72e3-4cbe-bfdb-4d086377b26e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4be5-2e04-497a-8f19-1a419bd32170] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| Unexpected token '<', "<!--# W5rV"... is not valid JSON | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f75c6-2ba7-4b39-b169-9abf32f74ccb] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8f19-c4dc-42be-827c-7156aaebfe4a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fc753-52f1-49bc-bb41-d6d409709a09] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f38b6-95d5-4f9c-b6f5-b87651b4b953] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd3a3-988f-4b2d-81f3-fb90dbe352dc] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6515-ed28-45e6-b196-14255e39c5a4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f97b5-b556-492f-a789-3297c0a4c2ae] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fc06a-e5ab-457f-a8a1-7313a8720087] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001f82cd-c05c-44ef-b533-5c0b77a476d2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8203-e9bf-47af-9e14-05a25c96bf2f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd630-6956-44e5-8c59-fa4fc85066b4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff64f-2628-4668-9d1d-4cbf313f55ca] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fbcdf-7f31-45df-bcb9-ee7c7a001fdb] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fcb49-e2af-4de2-94f1-75478bd010b4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6635-6482-485d-ba38-85d464d19b63] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0bd4-da8e-4cb8-bb1a-43976b6e1b2e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa18c-e839-4b90-a02b-73b6385041e8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fcdf6-2906-4467-b1f0-dd0817eb1232] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f46c8-a46f-423e-9f8f-fda7a368556b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff1e6-af47-4e8d-bd4c-bb6a09d28769] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9eea-2612-4ceb-951e-6f495477b45f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9b3f-ed81-4be6-a508-736b5117f6ef] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe261-d2c7-4cb2-a8f3-8fe9a5c14757] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fed87-6970-4adf-a1d8-4fb1d20a2e9e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb8a9-a6a8-4250-86a6-5caf75363754] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff99f-1c62-45a8-a28b-4b516d6aef4e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0c65-f5b6-4ff6-806b-832d9714f94d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa840-03f4-43e8-bfc2-25e1320b95c6] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff33b-ead0-4436-8419-7a1a02fee91e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5b11-9f9d-4864-a5e6-76168cd35e19] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7acd-6ebc-43d9-a6a6-665d62236efa] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4392-daf4-454b-b14a-4eb8cdaeccef] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9222-eae8-49f5-9d41-d4cc4e5286d3] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7cba-e252-4a64-bc96-674d68af83db] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9e95-6360-4ee1-9698-f73b6a0fb12a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1763-f59e-4c83-8ce0-f85a1d992f6d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f501e-a52b-4eeb-889a-14c737e5f9bd] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f41f8-9127-48a6-85ba-95e2dd9dee4d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7270-939b-4222-a0a8-867524740e18] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9653-7139-4d7f-b412-bc74bf3135c2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f691f-8cdf-4d57-91a8-4f0c65ba7312] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2406-66b4-40d0-ad9b-5d0b9e1415e8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff107-ffd3-431c-983e-db2205c8814b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f94ea-0fca-44a7-bbd8-c6d8d02f9ada] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe23b-91c4-40c5-ab47-c64b2d57cfdf] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7a3f-52bf-4223-bf6a-a1595f91e2ea] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f15d7-5f7a-4934-bf22-9d79bf848bf4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2faf-0cf7-43c5-9de0-375f53a10696] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0eb9-8e26-4ec2-8e50-f5608e5f9777] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f34c9-8793-4574-845c-debda2d42d6c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f544f-7085-4eee-9543-1bc0a691e791] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0f85-63bb-4501-9d02-3442cc6192a0] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7b44-f69e-47e0-b15a-6834bb85c78e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1de9-67ed-46c0-b6df-e904faa3d224] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001f6da1-6b8a-48a2-bbd4-ad887942975e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0240-caee-40ae-a09f-8d909b2f713d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa642-0912-43fb-b318-2de77624585d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7620-1dba-4b3a-949c-ac8c2c8a23ee] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb760-a0a0-4245-81e7-1de6db50db3a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4d4a-3c5b-4de1-8bca-002d3a692d8f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fac3c-862d-466b-b6b8-72ea94ceb79f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa41a-4a02-4622-b2d8-7e2fbbbbd51b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9467-2ac5-4d78-a8a5-71ffb9a35d5a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3aea-a67e-4882-b66e-b39725912aed] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fdcc3-8e49-4fd3-87f6-9518b2bd7507] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0e2e-fbfb-4cf6-88d4-e4f5b5695adb] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2200-1036-4e7f-b3ad-9761f05bb93f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f104b-b188-4fe0-adad-3f56d8a9dcba] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3710-5b50-427a-91b5-967ee2b6c102] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9b22-a7e2-4600-b44a-01106a98d406] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f21f0-aca4-4258-94d2-3eb01463e31f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe565-676c-4f89-a390-fe41e5884888] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7693-bb92-4547-949c-0b055a1446e4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f78c4-8651-4a5a-8a02-762331d6c691] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fea1c-f530-48a1-bfe6-9b5505737197] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7e30-9766-491b-8a1a-9234f30ce1c1] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fc510-0508-4f77-bf48-f0c94b924e17] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff817-bf49-4f5b-8f47-3d8f9addf7f4] | PROD | 1 | 1 | 1 |
PUT /content returned 5xx. Service-side regression / dependency outage.
Bad gateway: front-door couldn't reach NBS workload.
Etag fetch returned 404 — artifact deleted/moved mid-save or metadata replication lag.
Browser threw before the response returned — usually corp proxy, VPN drop, or page navigation aborting save.
User notebook exceeded the 32 MB save limit (often due to embedded outputs/widgets).
Tenant's Fabric capacity is paused / suspended. Save cannot proceed until reactivated.
User's MWC token doesn't have write permission for this artifact / capacity.
Pre-filled with the same week range / environment as this dashboard. Click Copy to paste into Kusto Explorer or Azure Data Explorer.
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let tridentItems = cluster('pbiclients.eastus').database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where (customDimensions.TL_componentName == 'Notebook.NotebookFileView' and customDimensions.TL_event contains 'notebook.notebookProfile')
or (customDimensions.TL_componentName == '@synapse/notebook-core:SynapseNotebookConnector' and customDimensions.TL_message contains 'Connect NotebookViewModel with AzureNotebookRef')
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment'])
| where customDimensions.browserVersion != "97.0.4692.71"
| extend instanceId = iff(customDimensions.TU_instanceId != '', tostring(customDimensions.TU_instanceId), tostring(customDimensions.TU_aznbInstanceId))
| project timestamp, env = tostring(customDimensions.TL_environment), instanceId;
let targetData = tridentItems
| join kind=inner (
cluster('azurenb.southcentralus').database('Prod').aznbServices
| where TIMESTAMP >= _startTime and TIMESTAMP <= _endTime
| where hostName == "Trident"
| where msg in ("join_session_success", "join_session_error")
| project TIMESTAMP, msg, isSuccess=iff(msg == "join_session_success", 1, 0), isFail=iff(msg == "join_session_error", 1, 0), instanceId, componentVersion
)
on $left.instanceId == $right.instanceId;
let countItemsByDayAndStatus = targetData
| summarize dcount(instanceId) by tostring(msg), bin(timestamp, 1d);
let countItemsByDay = targetData
| summarize totalCount = dcount(instanceId) by bin(timestamp, 1d);
let finalData = countItemsByDayAndStatus | join kind = inner (countItemsByDay) on $left.timestamp == $right.timestamp;
finalData
| where msg == 'join_session_success'
| extend percentageDouble = round(100.0 * dcount_instanceId / (totalCount * 1.0), 2)
| project msg, timestamp, distinct_collabSession = dcount_instanceId, percentage = percentageDouble, totalCount
| order by timestamp asc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let tridentItems = cluster('pbiclients.eastus').database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where (customDimensions.TL_componentName == 'Notebook.NotebookFileView' and customDimensions.TL_event contains 'notebook.notebookProfile')
or (customDimensions.TL_componentName == '@synapse/notebook-core:SynapseNotebookConnector' and customDimensions.TL_message contains 'Connect NotebookViewModel with AzureNotebookRef')
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment'])
| where customDimensions.browserVersion != "97.0.4692.71"
| extend instanceId = iff(customDimensions.TU_instanceId != '', tostring(customDimensions.TU_instanceId), tostring(customDimensions.TU_aznbInstanceId))
| project env = tostring(customDimensions.TL_environment), instanceId;
let targetData = tridentItems
| join kind=inner (
cluster('azurenb.southcentralus').database('Prod').aznbServices
| where TIMESTAMP >= _startTime and TIMESTAMP <= _endTime
| where hostName == "Trident"
| where msg in ("join_session_success", "join_session_error")
| project TIMESTAMP, msg, instanceId, componentVersion
)
on $left.instanceId == $right.instanceId;
let total_distinct_instanceId_byVersion = targetData
| summarize totalDistinct = count_distinct(instanceId) by componentVersion;
let finalTable = targetData
| extend joinStatus = tostring(msg)
| where joinStatus == 'join_session_success'
| summarize successDistinct = count_distinct(instanceId) by componentVersion, joinStatus
| join kind = inner (total_distinct_instanceId_byVersion) on componentVersion;
finalTable
| extend percentageDouble = round(100.0 * successDistinct / (totalDistinct * 1.0), 2)
| project componentVersion, joinRate = percentageDouble, successCount = successDistinct, totalCount = totalDistinct
| order by totalCount desc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let aznbCollabSessionWithError = cluster("azurenb.southcentralus").database("Prod").aznbServices
| where PreciseTimeStamp >= _startTime and PreciseTimeStamp <= _endTime
| where hostName == "Trident"
| where HttpRequestUserAgent !contains "ThousandEyes"
| where eventName contains "collab"
| extend hasError = iif(level=="error", 1, 0)
| extend datebin=bin(PreciseTimeStamp, 1d)
| summarize hint.shufflekey = instanceId hasError=max(hasError) by datebin, instanceId, documentId, componentVersion
| project datebin, hasError, instanceId, documentId, componentVersion;
let tridentJoinedCollabData = cluster("pbiclients.eastus").database("appinsights").customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| where customDimensions.TL_extensionName == 'DES'
| where customDimensions.browserVersion != "97.0.4692.71"
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment'])
| where customDimensions.TL_message == 'AzNB collaboration: onSessionStatusChange' and customDimensions.TU_sessionStatus == 'joined'
| extend aznbInstanceId = tostring(customDimensions.TU_aznbInstanceId), environment = tostring(customDimensions.TL_environment)
| summarize hint.shufflekey = aznbInstanceId by environment, aznbInstanceId;
let errorCntData = tridentJoinedCollabData
| join hint.strategy = shuffle kind=inner (
aznbCollabSessionWithError
| summarize hint.shufflekey = instanceId errorCnt = sum(hasError) by datebin, instanceId
) on $left.aznbInstanceId == $right.instanceId;
errorCntData
| extend hasError = errorCnt > 0
| summarize dcount(instanceId), totalInstances=count(), unreliableInstances=countif(hasError>0) by datebin, environment
| where dcount_instanceId > 50
| extend sessionReliability = 100 - round(unreliableInstances*100.0/totalInstances, 2)
| project timestamp = datebin, environment, dcount_instanceId, totalInstances, unreliableInstances, sessionReliability
| order by timestamp asc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let totalData = cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment']);
let saveTotalCnt = totalData
| where customDimensions.TL_message contains 'Save is triggered'
| summarize totalCnt = count() by bin(timestamp, 1d);
let saveFailedData = totalData
| where customDimensions.TL_message contains 'Failed when saving notebook content';
let saveFailedCnt = saveFailedData
| summarize failedCnt = count(),
failedCntExcludeUserErr = countif(
customDimensions.TU_code != 'NotebookSave_ExceedMaximumSize'
and customDimensions.TU_code != 'UserDevice_ProxyError'
and customDimensions.TU_code != 'CapacityNotActive'
and customDimensions.TU_code != 'GetMWCToken_404_CapacityNotActive'
and customDimensions.TU_code != 'ArtifactWrite_Unauthorized'
and customDimensions.TU_code != 'GetMWCToken_403_TenantNotAuthorizedForCluster'
) by bin(timestamp, 1d);
let finalData = saveTotalCnt | join kind = inner (saveFailedCnt) on timestamp;
finalData
| extend failureRate = round(100.0 * failedCnt / (totalCnt * 1.0), 2),
failureRateExcludeUserErr = round(100.0 * failedCntExcludeUserErr / (totalCnt * 1.0), 2)
| project timestamp,
successRate = 100.0 - failureRate,
successRateExcludeUserErr = 100.0 - failureRateExcludeUserErr,
totalCnt, failedCnt, failedCntExcludeUserErr
| order by timestamp asc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let totalData = cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment']);
let saveTotalCnt = totalData
| where customDimensions.TL_message contains 'Save is triggered'
| extend artifactId = tostring(customDimensions.TU_artifactId)
| summarize totalCnt = dcount(artifactId) by bin(timestamp, 1d);
let saveFailedCnt = totalData
| where customDimensions.TL_message contains 'Failed when saving notebook content'
| extend artifactId = tostring(customDimensions.TU_artifactId)
| summarize failedCnt = dcount(artifactId) by bin(timestamp, 1d);
let finalData = saveTotalCnt | join kind = inner (saveFailedCnt) on timestamp;
finalData
| extend failureRate = round(100.0 * failedCnt / (totalCnt * 1.0), 2)
| project timestamp, successRate = 100.0 - failureRate, totalCnt, failedCnt
| order by timestamp asc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let totalData = cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment']);
let saveFailedData = totalData
| where customDimensions.TL_message contains 'Failed when saving notebook content'
| extend errorObj = customDimensions.TL_error;
saveFailedData
| extend artifactId = tostring(customDimensions.TU_artifactId), category = tostring(customDimensions.TU_category)
| summarize count_ = count(), uniqueArtifactCnt = dcount(artifactId), sampleError = arg_max(tostring(errorObj), timestamp)
by code = tostring(customDimensions.TU_code), category
| order by count_ desc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where customDimensions.TL_componentName == 'TrackLib.Ajax'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment'])
| where customDimensions.TU_request has 'workloads/Notebook/Data/Automatic/api/workspaces' and customDimensions.TU_request has '/content'
| extend environment = tostring(customDimensions.TL_environment)
| extend requestInfo = parse_json(tostring(customDimensions.TU_request))
| extend url = requestInfo['url']
| extend url = substring(url, 0, strlen(url) - 16)
| extend method = requestInfo.method
| where method == 'PUT' or method == 'HEAD'
| extend responseInfo = parse_json(tostring(customDimensions.TU_response))
| extend statusCode = responseInfo['statusCode']
| where statusCode != ''
| summarize uniqueUrlCnt = dcount(tostring(url)) by environment = tostring(environment), statusCode = tostring(statusCode)
| order by uniqueUrlCnt desc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let failedToPut = 'Failed to put content';
let typeError = 'TypeError: Failed to fetch (browser thrown this error when response is not returned)';
let failedToGetEtag= 'Failed to get etag';
let failedToAccess = 'Failed to access the artifact metadata';
let noAccess = 'No access to the artifact or the workspace';
cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment'])
| where customDimensions.TL_message has 'Failed when saving notebook content' or customDimensions.TL_message has 'Attempt to put notebook content failed'
| extend environment = tostring(customDimensions.TL_environment)
| extend saveType = tostring(customDimensions.TU_saveType)
| extend artifactId = tostring(customDimensions.TU_artifactId)
| extend errorDetail = parse_json(tostring(customDimensions.TL_error))
| extend cause = parse_json(tostring(errorDetail.cause))
| extend causeResponse = parse_json(tostring(cause.response))
| extend response = iff(causeResponse != '', causeResponse, parse_json(errorDetail.response))
| extend statusCode = tostring(response.status)
| extend message = tostring(errorDetail.message)
| extend message = replace_regex(message, "[0-9a-fA-F]{8}(-[0-9a-fA-F]{4,12}){4}", "<g-u-i-d>")
| extend message = replace_regex(message, @"Notebook content size [\d.]+", "Notebook content size <#>")
| extend message = iff(message startswith "Notebook content size <#>", "Notebook content size <#> MB exceeds maximum allowed size 32 MB", message)
| extend message = iff(message has 'TypeError: Failed to fetch', typeError, message)
| extend message = iff(message startswith 'Failed to put content of notebook', failedToPut, message)
| extend message = iff(message startswith 'Failed to get etag of notebook', failedToGetEtag, message)
| extend message = iff(message startswith "Failed to access the artifact metadata.", failedToAccess, message)
| extend message = iff(message startswith "You don't have the access to the artifact or the workspace it belongs to", noAccess, message)
| extend message = iff(message startswith "[NotebookMaxContentLengthExceeded]", "NotebookMaxContentLengthExceeded", message)
| summarize uniqueArtifactCnt = dcount(artifactId) by environment, message, statusCode
| order by uniqueArtifactCnt desc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment'])
| where customDimensions.TL_message has 'Failed when saving notebook content' or customDimensions.TL_message has 'Attempt to put notebook content failed'
| extend artifactId = tostring(customDimensions.TU_artifactId)
| extend code = tostring(customDimensions.TU_code)
| extend errorDetail = parse_json(tostring(customDimensions.TL_error))
| extend cause = parse_json(tostring(errorDetail.cause))
| extend causeResp = parse_json(tostring(cause.response))
| extend response = iff(causeResp != '', causeResp, parse_json(errorDetail.response))
| extend statusCode = tostring(response.status)
| extend rawMessage = tostring(errorDetail.message)
| extend httpOp = case(
rawMessage startswith "Failed to put content of notebook"
or rawMessage has "Attempt to put notebook content failed",
"PUT /workspaces/{ws}/artifacts/{id}/content",
rawMessage startswith "Failed to get etag of notebook",
"HEAD /workspaces/{ws}/artifacts/{id}/content",
rawMessage startswith "Failed to access the artifact metadata",
"GET /workspaces/{ws}/artifacts/{id}",
rawMessage startswith "You don't have the access to the artifact",
"AAD /authorization-check",
rawMessage startswith "[NotebookMaxContentLengthExceeded]"
or rawMessage has "exceeds maximum allowed size",
"PUT /content (rejected client-side, oversize)",
rawMessage has "TypeError: Failed to fetch",
"PUT /content (browser aborted before response)",
rawMessage has "NetworkError when attempting to fetch resource",
"PUT /content (browser network error)",
rawMessage has "Load failed",
"PUT /content (browser load failed)",
rawMessage has "Failed to fetch",
"PUT /content (generic fetch error)",
"other / uncategorized")
| extend layer = case(
httpOp has "browser" or httpOp has "fetch error",
"Client (browser/network)",
httpOp has "oversize",
"Client (size limit)",
httpOp startswith "AAD",
"AAD / Authorization",
statusCode startswith "5",
"Backend 5xx",
statusCode == "404" or statusCode == "412" or statusCode == "409",
"Backend 4xx (notebook conflict / not-found)",
statusCode startswith "4",
"Backend 4xx (other)",
statusCode == "" or statusCode == "0",
"No HTTP response captured",
"Other")
| summarize
eventCnt = count(),
uniqueArtifactCnt = dcount(artifactId),
sampleMessage = arg_max(rawMessage, timestamp),
sampleErrorCode = arg_max(code, timestamp)
by layer, httpOp, statusCode
| order by uniqueArtifactCnt desc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let totalData = cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment']);
totalData
| where customDimensions.TL_message has 'Failed when saving notebook content' or customDimensions.TL_message has 'Attempt to put notebook content failed'
| extend artifactId = tostring(customDimensions.TU_artifactId)
| extend code = tostring(customDimensions.TU_code)
| extend environment = tostring(customDimensions.TL_environment)
| extend componentVersion = tostring(customDimensions.TU_componentVersion)
| extend errorDetail = parse_json(tostring(customDimensions.TL_error))
| extend cause = parse_json(tostring(errorDetail.cause))
| extend causeResp = parse_json(tostring(cause.response))
| extend response = iff(causeResp != '', causeResp, parse_json(errorDetail.response))
| extend statusCode = tostring(response.status)
| extend message = tostring(errorDetail.message)
| extend responseBody = tostring(response.body)
| where statusCode == "500"
| summarize
eventCnt = count(),
uniqueArtifactCnt = dcount(artifactId),
sampleMessage = arg_max(message, timestamp),
sampleResponseBody= arg_max(responseBody, timestamp)
by environment, code, componentVersion
| order by eventCnt desc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let totalData = cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment']);
totalData
| extend aznbInstanceId = tostring(customDimensions.TU_aznbInstanceId)
| extend artifactId = tostring(customDimensions.TU_artifactId)
| where isnotempty(aznbInstanceId) or isnotempty(artifactId)
| summarize uniqueInstances = dcountif(aznbInstanceId, isnotempty(aznbInstanceId)),
uniqueNotebooks = dcountif(artifactId, isnotempty(artifactId))
by bin(timestamp, 1d)
| order by timestamp asc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment'])
| extend msg = tostring(customDimensions.TL_message)
| where msg startswith 'Yield save leader completed. Yield success:'
or msg == 'Failed to yield save leader'
or msg startswith 'Do not need to yield save leader'
| extend isLeader = tostring(customDimensions.TU_isLeader)
| extend collStatus = tostring(customDimensions.TU_collSessionStatus)
| extend yieldState = case(
msg == 'Yield save leader completed. Yield success: true', 'YieldSucceeded',
msg startswith 'Yield save leader completed. Yield success: false', 'YieldFailed',
msg == 'Failed to yield save leader', 'YieldFailed',
msg startswith 'Do not need to yield save leader', 'NotNeeded',
'Other')
| extend bucket = case(
yieldState == 'YieldSucceeded', 'Yield succeeded',
yieldState == 'YieldFailed', 'Yield failed',
yieldState == 'NotNeeded', strcat('Not needed (isLeader=', isLeader, ' / collStatus=', collStatus, ')'),
'Other')
| extend aznbInstanceId = tostring(customDimensions.TU_aznbInstanceId)
| extend env = tostring(customDimensions.TL_environment)
| summarize uniqueInstances = dcount(aznbInstanceId), events = count() by yieldState, bucket, env
| order by events desc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment'])
| extend msg = tostring(customDimensions.TL_message)
| where msg startswith 'Yield save leader completed. Yield success: false'
or msg == 'Failed to yield save leader'
| extend errorMsg = tostring(coalesce(
tostring(customDimensions.TU_errorMessage),
tostring(customDimensions.TU_error),
''))
| extend errorMsg = iff(errorMsg == '', '(no error message)', errorMsg)
| extend aznbInstanceId = tostring(customDimensions.TU_aznbInstanceId)
| extend env = tostring(customDimensions.TL_environment)
| summarize uniqueInstances = dcount(aznbInstanceId), events = count() by errorMsg, env
| order by events desc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let yieldLeaderData = cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment'])
| extend msg = tostring(customDimensions.TL_message)
| where msg == "Yield save leader completed. Yield success: true"
| extend newLeaderId = tostring(customDimensions.TU_leaderId)
| extend env = tostring(customDimensions.TL_environment)
| where newLeaderId != ''
| project yieldTimestamp = timestamp, newLeaderId, env;
let yieldLeaderIds = toscalar(yieldLeaderData | summarize make_set(newLeaderId));
let saveData = cluster("azurenb.southcentralus").database("Prod").aznbServices
| where PreciseTimeStamp >= _startTime and PreciseTimeStamp <= _endTime
| where hostName == "Trident"
| where msg == "SAVE_FAILED"
| where instanceId in (yieldLeaderIds)
| project saveTs = PreciseTimeStamp, instanceId, log;
yieldLeaderData
| join kind = inner (saveData) on $left.newLeaderId == $right.instanceId
| extend gapInSecond = datetime_diff('second', saveTs, yieldTimestamp)
| where gapInSecond > 0 and gapInSecond < 20
| extend logObj = parse_json(log)
| extend errorMsg = tostring(coalesce(tostring(logObj.ErrorMessage), tostring(logObj.message), '(no message)'))
| extend artifactId = tostring(coalesce(
tostring(logObj.ArtifactId), tostring(logObj.artifactId),
tostring(logObj.NotebookId), tostring(logObj.notebookId),
tostring(logObj.ResourceId), tostring(logObj.resourceId), ''))
| summarize failures = count(),
uniqueInstances = dcount(newLeaderId),
uniqueNotebooks = dcountif(artifactId, isnotempty(artifactId))
by errorMsg, env
| order by failures desc
let UXEnvironment = dynamic(['PROD']);
let _startTime = datetime(2026-06-07T00:00:00Z);
let _endTime = datetime(2026-06-14T00:00:00Z);
let yieldLeaderData = cluster("pbiclients.eastus").database('appinsights').customEvents
| union cluster("pbiclientseu.northeurope").database("appinsights").customEvents
| where timestamp >= _startTime and timestamp <= _endTime
| extend customDimensions = parse_json(customDimensions)
| where customDimensions.TL_extensionName == 'DES'
| where isempty(['UXEnvironment']) or customDimensions.TL_environment in (['UXEnvironment']) or 'All Prod' in (['UXEnvironment'])
| extend msg = tostring(customDimensions.TL_message)
| where msg == "Yield save leader completed. Yield success: true"
| extend newLeaderId = tostring(customDimensions.TU_leaderId)
| extend env = tostring(customDimensions.TL_environment)
| where newLeaderId != ''
| project yieldTimestamp = timestamp, newLeaderId, env;
let yieldLeaderIds = toscalar(yieldLeaderData | summarize make_set(newLeaderId));
let saveData = cluster("azurenb.southcentralus").database("Prod").aznbServices
| where PreciseTimeStamp >= _startTime and PreciseTimeStamp <= _endTime
| where hostName == "Trident"
| where msg startswith 'File version is updated to'
| where instanceId in (yieldLeaderIds)
| project saveTs = PreciseTimeStamp, instanceId, log;
yieldLeaderData
| join kind = inner (saveData) on $left.newLeaderId == $right.instanceId
| extend gapInSecond = datetime_diff('second', saveTs, yieldTimestamp)
| where gapInSecond > 0 and gapInSecond < 20
| extend logObj = parse_json(log)
| extend artifactId = tostring(coalesce(
tostring(logObj.ArtifactId), tostring(logObj.artifactId),
tostring(logObj.NotebookId), tostring(logObj.notebookId),
tostring(logObj.ResourceId), tostring(logObj.resourceId), ''))
| summarize savesSucceeded = count(),
uniqueInstances = dcount(newLeaderId),
uniqueNotebooks = dcountif(artifactId, isnotempty(artifactId))
by env
| order by savesSucceeded desc
let _componentVersion = dynamic(null);
let _endTime = datetime(2026-06-14T00:00:00Z);
let _startTime = datetime(2026-05-31T00:00:00Z);
let _tenant = dynamic(null);
cluster("azurenb.southcentralus").database("Prod").aznbServices
| where PreciseTimeStamp between (_startTime .. _endTime)
| where service == "AzNB.Client"
| where eventName contains "dataIntegrity"
| where isempty(['_componentVersion']) or componentVersion in (['_componentVersion'])
| where isempty(['_tenant']) or Tenant in (['_tenant'])
| extend timeBin = bin(PreciseTimeStamp, 1d)
| summarize instances = dcount(instanceId),
instancesWithInconsistency = dcountif(instanceId, eventName endswith "/error")
by timeBin
| extend inconsistencyRate = round(instancesWithInconsistency * 100.0 / instances, 2)
| project timestamp = timeBin, instances, instancesWithInconsistency, inconsistencyRate
| order by timestamp asc
let _componentVersion = dynamic(null);
let _endTime = datetime(2026-06-14T00:00:00Z);
let _startTime = datetime(2026-05-31T00:00:00Z);
let _tenant = dynamic(null);
cluster("azurenb.southcentralus").database("Prod").aznbServices
| where PreciseTimeStamp between (_startTime .. _endTime)
| where service == "AzNB.Client"
| where eventName endswith "dataIntegrity/error"
| where isempty(['_componentVersion']) or componentVersion in (['_componentVersion'])
| where isempty(['_tenant']) or Tenant in (['_tenant'])
| summarize occurrences = count(),
instances = dcount(instanceId),
clients = dcount(fpId)
by msg
| order by instances desc