At least one metric is below 95%. Action required — see recommendations. Lowest weekly average: 94.22%.
GetMWCToken_403_TenantNotAuthorizedForCluster surged 3.7× (32 → 119 events, 9 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.9 | 99.70% | 663,049 | 665,041 |
1.7.10 | 99.49% | 219,247 | 220,361 |
1.7.7 | 100.00% | 124 | 124 |
1.7.8 | 100.00% | 119 | 119 |
1.7.3 | 100.00% | 67 | 67 |
1.7.4 | 100.00% | 63 | 63 |
1.7.5 | 100.00% | 50 | 50 |
1.7.6 | 96.67% | 29 | 30 |
Rolling 14-day window: 2026-07-26 → 2026-08-09. 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) | 78,867 | 1,019 | 741 |
| Cell source mismatch between local and fluid (editor not mounted) | 17,021 | 229 | 165 |
| Cell count mismatch between local and fluid DDS | 751 | 18 | 18 |
| Local cell doesn't have mapped remote id | 1,126 | 7 | 7 |
| Cell ID mismatch in cell order between local and fluid | 44 | 4 | 4 |
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 | 8,601 | 3,271 | |
CapacityNotActive | UserError | 3,631 | 42 | |
UserDevice_ProxyError | UserError | 1,389 | 32 | |
NotebookSave_ExceedMaximumSize | UserError | 958 | 93 | |
GetMWCToken_Other | UnknownError | 492 | 29 | |
FaileToGetEtagOfNotebook | SystemError | 402 | 61 | |
MwcRequest_Status404 | UserError | 390 | 166 | |
GetMWCToken_0_SharedNetworkConnectionIssue | UserError | 150 | 37 | |
GetMWCToken_403_TenantNotAuthorizedForCluster | UserError | 119 | 9 | |
GetMWCToken_401_PowerBINotAuthorizedException | UserError | 89 | 16 | |
ArtifactWrite_Unauthorized | UserError | 82 | 6 | |
GetMWCToken_401_TokenExpired | SystemError | 76 | 18 | |
401|MwcRequestError|Unauthorized | UnknownError | 21 | 1 | |
GetMWCToken_500_ServerInternalError | SystemError | 21 | 13 | |
GetMWCToken_404_CapacityNotActive | UserError | 18 | 18 | |
GetMWCToken_403_TokenExpired | SystemError | 15 | 12 | |
MwcRequest_Status401 | SystemError | 14 | 13 | |
TimeoutError|CacheTimeoutError | UnknownError | 11 | 11 | |
403|PbiForbiddenError | UnknownError | 9 | 1 | |
MWCToken_ValidationException | SystemError | 8 | 8 |
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 | 363,800 |
| PROD | 0 | 2,072 |
| PROD | 412 | 473 |
| PROD | 404 | 197 |
| PROD | 401 | 134 |
| PROD | 403 | 52 |
| PROD | 408 | 6 |
| PROD | 500 | 3 |
| PROD | 400 | 2 |
| PROD | 413 | 1 |
| Message (click to expand) | Status | Unique Notebooks |
|---|---|---|
| TypeError: Failed to fetch (browser thrown this error when response is not returned) | — | 2,445 |
| Failed to fetch [ParentActivityId:<g-u-i-d>] | — | 1,156 |
| Failed to get etag | — | 291 |
| Failed to get etag | 404 | 166 |
| Notebook content size <#> MB exceeds maximum allowed size 32 MB | — | 93 |
| CapacityNotActive | — | 42 |
| NetworkError when attempting to fetch resource. [ParentActivityId:<g-u-i-d>] | — | 34 |
| — | — | 33 |
| Load failed [ParentActivityId:<g-u-i-d>] | — | 19 |
| Failed to get etag | 401 | 13 |
| Failed to get etag | 403 | 12 |
| Failed to retrieve MWC token for "Notebook": WorkspaceId=<g-u-i-d> CapacityId=<g-u-i-d> ArtifactId=<g-u-i-d>. | — | 10 |
| [MwcTokenValidationException] Internal error MwcTokenValidationException. | 401 | 8 |
| [Metastore/PreconditionFailed/NotebookServiceError] Failed to update entity <g-u-i-d>/<g-u-i-d>. | 412 | 7 |
401 | 6 | |
| The notebook has been deleted. | 404 | 3 |
| [NBSServiceProxyException] Notebook Service failed to response. | 500 | 2 |
| Failed to get etag | 408 | 2 |
| Timeout fetching MWC token for Notebook. 34155s elapsed. Please retry your operation. | — | 1 |
| System error. The content of this notebook is missing. Artifact Id: <g-u-i-d>. | 500 | 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 |
|---|---|---|---|---|---|
MwcRequestError | — | PROD | 3 | 2 | view samplemessage: [NBSServiceProxyException] Notebook Service failed to response. |
500_NotebookContentIsMissing | — | PROD | 1 | 1 | view samplemessage: System error. The content of this notebook is missing. Artifact Id: 87460b34-3eed-4e2c-9936-0611d3ae89fb. |
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 | — | 5,815 | 2,711 | UserDevice_NetworkError |
other / uncategorized | — | 5,046 | 96 | UserDevice_ProxyError Timeout fetching MWC token for Notebook. 96054s elapsed. Please retry your operation. |
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
PUT /content (generic fetch error) | — | 3,727 | 1,156 | UserDevice_NetworkError Failed to fetch [ParentActivityId:001ffff9-6534-49ac-9459-ab5baee3f80d] |
PUT /content (browser network error) | — | 46 | 34 | UserDevice_NetworkError NetworkError when attempting to fetch resource. [ParentActivityId:001ffde0-6686-4d6c-bada-c95b044e7e3d] |
PUT /content (browser load failed) | — | 38 | 19 | UserDevice_NetworkError Load failed [ParentActivityId:001ffb39-a458-4045-9c98-a23029f5c25c] |
PUT /content (browser aborted before response) | — | 1 | 1 | UserDevice_NetworkError |
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
HEAD /workspaces/{ws}/artifacts/{id}/content | 404 | 390 | 166 | MwcRequest_Status404 |
other / uncategorized | 412 | 7 | 7 | NotebookSave_PreconditionFailed |
other / uncategorized | 404 | 5 | 5 | NotebookSave_ItemDeleted [TargetItemNotInWorkspace] An internal error occurred. Access protector failed due to TargetItemNotInWorkspace |
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
PUT /content (rejected client-side, oversize) | — | 958 | 93 | NotebookSave_ExceedMaximumSize Notebook content size 93.37 MB exceeds maximum allowed size 32 MB. |
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
other / uncategorized | 401 | 111 | 15 | MWCToken_ValidationException [Unauthorized] Authentication failed for all authenticators |
HEAD /workspaces/{ws}/artifacts/{id}/content | 401 | 14 | 13 | MwcRequest_Status401 |
HEAD /workspaces/{ws}/artifacts/{id}/content | 403 | 352 | 12 | FaileToGetEtagOfNotebook |
other / uncategorized | 400 | 3 | 2 | NotebookSave_ContentError |
other / uncategorized | 403 | 10 | 2 | 403|PbiForbiddenError PBI API Access denied. (HTTP 403, RequestId=9ac969fd-be4c-8a1f-285c-20119387accc) |
HEAD /workspaces/{ws}/artifacts/{id}/content | 408 | 2 | 2 | MwcRequest_Status408 |
other / uncategorized | 413 | 2 | 1 | MwcRequestError |
other / uncategorized | 408 | 1 | 1 | 408_WebRequestTimeout [WebRequestTimeout] A task was canceled. |
| HTTP Operation | Status | Events | Unique Notebooks | Latest Sample Error |
|---|---|---|---|---|
other / uncategorized | 500 | 4 | 3 | 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,807 | 33,993 |
| NotNeeded | Not needed (isLeader= / collStatus=) | PROD | 297 | 13,748 |
| NotNeeded | Not needed (isLeader=false / collStatus=inactive) | PROD | 431 | 8,922 |
| YieldFailed | Yield failed | PROD | 128 | 6,159 |
| NotNeeded | Not needed (isLeader=false / collStatus=failed) | PROD | 50 | 1,111 |
| YieldSucceeded | Yield succeeded | PROD | 65 | 515 |
| NotNeeded | Not needed (isLeader=false / collStatus=in-progress) | PROD | 7 | 7 |
| NotNeeded | Not needed (isLeader=true / collStatus=inactive) | PROD | 1 | 1 |
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 | 13 | 18 |
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 | 122 | 6,115 |
| New leader is still this client | PROD | 7 | 37 |
| Timeout waiting for new leader | PROD | 5 | 7 |
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 '<', "<!--# cQtB"... is not valid JSON | PROD | 2 | 1 | 128 |
| Unexpected token '<', "<!--# nLFr"... is not valid JSON | PROD | 3 | 1 | 51 |
| Unexpected token '<', "<!--# q0H7"... is not valid JSON | PROD | 2 | 1 | 46 |
| Notebook content size 32.6 MB exceeds maximum allowed size 32 MB. | PROD | 2 | 1 | 43 |
| Unexpected token '<', "<!--# Md30"... is not valid JSON | PROD | 3 | 1 | 12 |
| Notebook content size 32.44 MB exceeds maximum allowed size 32 MB. | PROD | 2 | 1 | 3 |
| Unexpected token '<', "<!--# 7f13"... is not valid JSON | PROD | 1 | 1 | 2 |
| Notebook content size 32.24 MB exceeds maximum allowed size 32 MB. | PROD | 1 | 1 | 2 |
| Notebook content size 32.37 MB exceeds maximum allowed size 32 MB. | PROD | 1 | 1 | 2 |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001f4130-e301-4ab3-82b9-4b5f8043575c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff18d-aa95-46fa-a77d-36aeca57a4e4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fbaa4-b9ce-46fe-8140-f2293fc3f6d4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0682-d3eb-4a3c-a1a7-7d3f503695a3] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fee4e-bd3d-436b-bc56-297ceabb39a1] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0583-a753-4d14-aa65-160568882e26] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9ed8-7e8c-401f-a94c-bcf2c3471f19] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f03ad-2c4e-4fe8-af90-8c8a6555c117] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0130-df3a-4d72-837f-75fc1aa96a6e] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001f0d1d-d5f9-446b-8e71-bfce9c2a2ba2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd4d1-1fba-40f8-8295-54e0e8e8aa58] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff0b8-4eec-473f-9b9c-b0594d854ed4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f58ec-a924-49f6-840a-7a08a1c4d086] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0008-0dd3-49ce-bc16-9274e46e53b8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fbdd9-77a7-4538-8239-2b912364455e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f409e-2d8a-40d9-b4a4-5506ab7a5add] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb74e-7aa4-4c1f-abfb-29e48f4b9107] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fc14f-bc59-4fe0-aea1-8f8998f7f3f9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb726-9d73-43fd-907d-0fc6423e7d9c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4054-f872-4d02-9f76-a1c13a571be8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe6d7-5f4d-43cb-849f-b483e8c90242] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001fbee1-e509-466c-a88d-66c9cacf483e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff4e4-c03d-4bae-8ce7-154302bc315e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fab08-4c9d-4d3c-b06c-6e645eba1ec4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f357b-e481-422d-ba9f-3799e55a8a4a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4aa8-92b2-4c55-8f13-45275950e8e3] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ffa30-63c1-47c5-bd99-5af1a15d7eaa] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8301-d134-4e10-9423-b6aa3b228a3e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fad9d-60ea-44cc-8c67-49dddfe19a58] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fcbb6-d152-427b-825f-0d6b59ee0665] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001f2821-0d2f-4e00-ac59-520cfddea07c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f03cf-c713-4604-8c16-2c10edbe5276] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fc38c-9837-46a7-b305-de9f7a81bc98] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f765a-305e-40a4-b6a6-9af0cb5bb9fe] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7479-bfa5-4398-8e15-f07f0c707dd1] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7402-6293-493f-88c1-fd05694f7963] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f78f8-226a-40b1-997b-2e309b9e750a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f52ac-e458-497c-8273-12452af3508d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f662b-ad47-4743-b3da-13d0e2f51b4e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f90ba-bd3c-45ae-8d99-a2b9a241aec8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5727-35b4-4c37-8242-e207bace3c3e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0943-cc2c-45b6-9550-71c18b8806db] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fbc0b-623c-450c-b5fe-ca70992919c5] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4b5f-bdb4-4e81-be75-8d82f6928e76] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd0f3-ec16-40a1-945e-2be6717279ae] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fca91-b714-4246-bb9f-70cd74e198de] | 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:001f40eb-b8df-4c82-8072-ba97315744da] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8b08-835d-416f-8a19-086f43f2bac0] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001f5a70-dc5d-4bb4-aea6-0c44bf3cd9ff] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| Notebook content size 32.35 MB exceeds maximum allowed size 32 MB. | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001fa4d5-2721-47f9-8efa-5e269414d0fb] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa064-9e10-4c24-ba49-caf6488e5929] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f50f4-4933-4deb-bd1b-56058fc0dd2b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f79a2-eff1-4bf5-8466-0d67b634d743] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8d49-da5d-4f9b-b1a8-db5d5bd427ba] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f25e7-02be-4735-a91d-f2176975749e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f05b5-4798-4355-9510-9f336375c2c2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1c51-11e6-4c6d-9780-36c25dc72e08] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f89f9-fa17-44b8-8b36-4a8e8da6847a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ffe0c-de5e-4bf6-97f7-0a09b7794000] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0ba3-79d8-4bd3-ad39-9b2866ecdcc3] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe2f3-213c-4b1f-9f13-113e7729dc41] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f86ac-a417-4d0f-85e4-a743e5ad3ffc] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe4e5-c5ab-4962-8239-8c116a154df7] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001facb2-4ba4-4654-8555-bb1cb634808d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7868-dbde-4a7a-b8a5-e09ef840256c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f642f-404b-4ea2-b674-34524c83dd74] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f40a8-e341-4568-b9b6-7ca3e0a298d1] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5db3-376a-41ac-99bb-cbb1be1d7bea] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb71e-a9e8-49ab-8b06-a614a601abb8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4d1c-badd-4f47-98ea-60a635c5e021] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0541-5871-4e1b-8a96-1dc13614d425] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3b9f-60c0-4ac0-abbe-bc847bc43435] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd1e0-28d2-4423-8581-7c97d8087166] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7329-5ca1-417b-bb23-977d3cdff2df] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8cee-de5b-420e-a7a7-7bb3a7eab8e5] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9f3a-cec2-4d60-9595-1a671e45e2db] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fda0b-4aa4-406f-b9d5-86ac29d0cc7d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff1c1-cbbf-46e0-a24c-c3a287bf4039] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f64ce-7242-466a-b6c9-aaa37cd081dc] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f27d4-5046-4afa-bb82-28a08c4ca11b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd512-96f3-463c-be1b-633f529d06de] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f10bd-6ef4-4223-9e0a-241de96b4c86] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff35d-c516-4ae3-9b26-7edf773a5e0d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3073-e8b8-4997-9f5f-ac6ccceb6f6c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3223-2e3f-44fe-a823-dce7c3edbd69] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fcd24-fe34-4009-a465-13a24a14dc5f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2f3a-fa54-4866-827e-b39e5eb75143] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff450-661f-4756-8aff-d33bd172333f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8027-368b-481c-aa6b-6fd3fea98cd4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f48dc-9992-4256-adae-b05ab8f68595] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f81ff-b758-45cb-ad17-6936881c9918] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f531f-d53a-458f-bdc5-c09a59a21a5c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd711-d86a-4be6-833a-b1c2886c058f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6742-67a7-4ea2-93ae-8330b122536d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3bc6-507a-4ec9-b7dc-d03b420d48f8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f95c4-ccb6-46ba-83c4-e4ed03abff41] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f80d5-3e89-4388-864b-ef4c1c646068] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f57f5-8e58-49c9-91ba-32f544a18845] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff893-053a-454e-8bc9-af7d4c48c8fa] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb6ac-334d-4012-8c5e-ce53ca6f65a5] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f91c4-7c6a-4643-bb83-fda73d59b05b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe548-1a62-4137-99da-8a3e94a15634] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6fdf-14ad-407d-a33e-6c210e89312a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0ddd-6d41-4459-9c86-901df9e933c1] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe894-bc15-462d-980b-58c35a259699] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001f621a-180c-459f-b3f6-db483f8edffd] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f18db-19b7-4c32-be20-48d9f8918d45] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f055b-9321-49dc-aeb3-f18c7f15cec8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f28bc-89ef-48c4-9862-8620a2406d30] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f31da-bdbe-4830-ad43-9e56c8c7393d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001feb34-eae1-42d5-83a2-731f3838b2e9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f310a-85dc-4c8f-8b22-a046db157765] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1e31-15f7-4a89-9637-c9f1b73b1087] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4347-48aa-4e60-ab12-ab11e29c9f5c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f839d-a58f-449b-ac97-55820fd8afa3] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f68e9-84e8-47a9-8ef9-6db81b27b793] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff7a1-90eb-4bb8-8abf-a784241626b5] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f386c-e763-4eeb-b6bb-dd963f534b62] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb262-c653-45a1-961b-69cb0ebc2607] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb260-9741-4433-b63f-44bee47f8558] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9cbf-015b-4d73-9b2d-a2fffd1a1173] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fc4d5-d09c-43b8-831d-d7c2c9442e1a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f007a-6432-44b3-b815-caded7714160] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001feee5-a391-4f4d-a50e-5c67ff4b90c3] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f13db-5f4a-459c-81cf-3290b8526498] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f21bc-7ea4-4b41-b276-b22537c03ab6] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa20c-0868-461b-b3ca-bb4178a9d2eb] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa1f9-f9b8-4cba-98ff-727f79cc1ee8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fbe60-2cc4-46ad-847a-bc914c27e32a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff151-8666-4efd-b911-f7ae04ab244a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fea04-0d8a-450e-ab7d-a10b1d0a09db] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1aa4-dfa9-46e5-86f5-1e818b72927d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7c69-8a38-4f07-94b7-0a8c4e32357e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff9c8-7d30-4c20-936c-8bc61ad24c85] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fce82-b1eb-4cdb-ae40-b69905ab2501] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f59e0-f134-4707-9a54-9f41462bad9e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd582-5336-481a-ae72-7619ccbbc415] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3e10-af53-4279-8e05-ff20f752d777] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3871-a3bb-4858-b346-6835c60e932e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9e21-1858-4c1a-b182-2246862bf4bb] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd1dc-3c17-4a8e-a3a2-0e894b9f0b3c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb52a-2978-44d8-9afe-8af35ba360d6] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f30d8-3cd9-4db0-a94d-d0ca29b68f82] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff4be-c6ab-4752-b88e-f97db5e7ac79] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5b54-70c0-4b5c-93a3-cb8463395bb6] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001feef4-caa5-486d-81b2-b5896d396212] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd503-addc-43b4-9130-1b1a9e011db5] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2b52-6992-4f2f-b51e-d7f810f8b3c5] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f434e-7c9e-43f7-b9e6-7cc9f309a061] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f53a0-02ec-4420-9a4a-b3d8fecd463a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3b14-4779-4de0-99cb-4a4f6eb5b9f3] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3639-b5df-493a-84d7-b03233dcc0f9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7959-8f4a-467c-a888-23f99be78811] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5571-6676-4c84-8fa6-f97da9de23f9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7b61-883b-4c95-8478-b4f7fe567308] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f84e6-eed7-4f90-97f5-e36e6cd56c0e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4bdc-0e90-4d35-ae35-03ecca2659f5] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6300-6066-4e70-b54b-a377c5a300c4] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fcf6b-efc6-478a-b6c8-e60c8279b31e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f77dd-ab1a-4d6b-bfe4-4a20f9409b8a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff1e4-6b1f-44b1-9b03-c86c1fea9366] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2fde-53f6-4246-89af-9aefec68b5cb] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8357-01d1-4754-8bd4-f68357f5bb13] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fadea-da4e-4fdd-9848-4ac91ebac8ba] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff962-688d-4e3d-a067-9573f45daffc] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa3d9-1df2-4830-a05f-e95c1dbef18f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f588d-3a50-40ec-9b93-ab6dc3d9f0ae] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f54fb-14ca-458d-a2d6-439093017676] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1c75-9546-453e-8bb8-eb210df971e6] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4a2c-1a69-45a8-9b8d-9b51062e4a76] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001feba8-99b1-48a8-9081-7bd9956cc682] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7949-b91f-4b94-80ef-3f1344840e8f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6674-92f9-430c-9bf0-979ce834a641] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9fdc-9416-40ae-8bfa-64b0271fd54e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fef1c-142c-4d03-9f2e-ef3c55619790] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ffc23-60e6-40ad-9cc4-4acba85f8d27] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fdae9-0ef4-486d-a6dc-e48a6a1463e7] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ffdea-d657-4201-b906-b293a3842450] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f28ee-e237-461c-bb8b-cb7d3fe633d6] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0977-c093-4fc5-9510-8e43d161a702] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f67f6-11ec-4766-b976-3bb7d82762e9] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f50d6-5e0e-4993-bb0e-6ccb22ac09d7] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb2f4-9d92-4f52-b58a-e0ae2f130ac2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9fef-8c27-43cb-8b87-382e6d798c11] | PROD | 1 | 1 | 1 |
| PROD | 1 | 1 | 1 | |
| PROD | 1 | 1 | 1 | |
| Failed to fetch [ParentActivityId:001fa2e5-feea-458a-a364-1513c77e4c5d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f0bc8-b6f1-42e2-9939-923e876e698c] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7989-b687-4d39-9b28-7b3022063e04] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fe32c-6a36-4bce-8f1e-d00bc6ed0d1d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f822a-2699-4403-87d4-e4ddf67d4ece] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f251c-ba93-452c-a161-d3a680e37421] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f92e2-475b-4616-a253-70c859ead44b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f82e9-9682-4e06-aa3d-78f539e9a5a2] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6dfd-dff1-4089-9c6d-286f37baffcf] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6c90-4d51-4369-9c20-4150c92e1d04] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fffc1-934f-44e3-afac-ca3e29a093ea] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3efb-d663-4257-ac56-0d84cf677d34] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ffa2e-4a9c-46d8-a3a7-67c7f7ca3fee] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f598b-74a2-41c9-9690-8fa7f2b624b5] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fd452-0d16-40d6-9278-5d80b2993c61] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f5f5a-532c-463d-9c3d-84e8c8098209] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f43d5-64e3-4bc2-aa18-7188214ad0cd] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa3eb-1de7-4154-a83d-8e05b2dd6ccc] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fc6a9-22e0-43c1-9805-af11580d328d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8e8c-cb8a-470c-b321-c082e708a825] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fb4a2-ab4b-4475-a88e-f037194acc2d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001ff4df-8680-4db4-9984-9a3817b93e83] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f530d-86ba-4ff8-a95f-bedd942d431f] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7fe6-d056-4ac4-a112-50f317d09e6b] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fdc77-4ca7-4cdb-9dce-37f8d9dd2ac0] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa3bf-2176-49b7-a6e5-9428e4827e8e] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f159c-181c-4948-8f76-674a85bade00] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f2933-8d28-4d83-9a3b-39a2349050e3] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f468d-e0e1-44b7-975e-cad7442c0bb8] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f8f45-30ea-4dc7-8928-5f7fde6e575a] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f9fba-b1a8-4491-a007-7d852b8ed464] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001fa6e0-7705-4786-821c-3e3e62a951a6] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3180-30a9-4fab-8019-67c5ef4d0d31] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1849-5f8d-42a8-95af-9007e8aabcaf] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f3875-f353-4a0d-a40f-7796c82597e7] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f6b63-a454-44ff-8f82-6762de81aea5] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f7fed-7c5e-49b3-a85b-1cf56dbc5b0d] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f4d66-ce82-45eb-aec7-0eb07a025776] | PROD | 1 | 1 | 1 |
| Failed to fetch [ParentActivityId:001f1398-26a9-4654-a6af-77b7a84bfbc4] | PROD | 1 | 1 | 1 |
PUT /content returned 5xx. Service-side regression / dependency outage.
Save exceeded gateway timeout — usually large notebook + slow backing store.
Etag fetch returned 404 — artifact deleted/moved mid-save or metadata replication lag.
NBS replied 503 — backend overloaded or scaling event.
Browser threw before the response returned — usually corp proxy, VPN drop, or page navigation aborting save.
Tenant's Fabric capacity is paused / suspended. Save cannot proceed until reactivated.
User notebook exceeded the 32 MB save limit (often due to embedded outputs/widgets).
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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-02T00:00:00Z);
let _endTime = datetime(2026-08-09T00: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-08-09T00:00:00Z);
let _startTime = datetime(2026-07-26T00: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-08-09T00:00:00Z);
let _startTime = datetime(2026-07-26T00: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