feat: tag high-volume telemetry events as LogLevel.info (cont.)#27361
feat: tag high-volume telemetry events as LogLevel.info (cont.)#27361MarioJGMsoft wants to merge 3 commits into
Conversation
1. TreesLatest / TreesLatestForGroup — odsp-driver/fetchSnapshot.ts
2. SnapshotAuthHeaderObtained — odsp-driver/fetchSnapshot.ts
3. ObtainSnapshot / ObtainSnapshotForGroup — odsp-driver/odspDocumentStorageManager.ts
4. NonCacheableBlob — odsp-driver/odspDocumentStorageManager.ts
5. OpsFetch — odsp-driver/odspDeltaStorageService.ts
6. CacheOpsRetrieved — odsp-driver/odspDeltaStorageService.ts
7. JoinSession — odsp-driver/vroom.ts
8. FirstJoinSessionAttemptDetails — odsp-driver/odspDelayLoadedDeltaStream.ts
9. ConnectionAttemptInfo — odsp-driver/odspDocumentDeltaConnection.ts
10. SocketModuleLoaded — odsp-driver/odspDocumentService.ts
11. ${name}_GetToken — odsp-driver/odspUtils.ts (toInstrumentedOdspTokenFetcher)
12. Resolve / ResolveWithPendingState — container-loader/loader.ts
13. WaitOps — container-loader/container.ts
14. WaitOpProcessing — container-loader/container.ts
15. dataStoreAttachMessage_sampled — container-runtime/channelCollection.ts
16. InboundOpsProcessingTime — container-runtime/deltaScheduler.ts
17. InitializeOrUpdateGCState — container-runtime/gc/garbageCollection.ts
18. refreshLatestSummary — container-runtime/summary/summarizerNode/summarizerNode.ts
|
Hi! Thank you for opening this PR. Want me to review it? Based on the diff (606 lines, 14 files), I've queued these reviewers:
How this works
|
Fleet Review — In progressRunning reviewers: correctness, security, api-compatibility, performance, testing |
There was a problem hiding this comment.
Pull request overview
This PR continues the effort to reduce telemetry volume impact by explicitly tagging additional high-volume client telemetry and performance events with LogLevel.info, without changing event emission or filtering behavior.
Changes:
- Add
LogLevel.infoto selectedPerformanceEvent.timedExecAsynccalls (marking start/end/cancel perf events as info-level). - Add
LogLevel.infoto selectedsendTelemetryEventcalls for high-volume generic events. - Update call sites to pass positional optional parameters (e.g.,
markers,sampleThreshold) where needed to reach the newlogLevelargument.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/runtime/container-runtime/src/summary/summarizerNode/summarizerNode.ts | Tags summarizer-node perf event(s) as LogLevel.info. |
| packages/runtime/container-runtime/src/gc/garbageCollection.ts | Tags GC initialization/update perf event as LogLevel.info. |
| packages/runtime/container-runtime/src/deltaScheduler.ts | Tags InboundOpsProcessingTime telemetry event as LogLevel.info. |
| packages/runtime/container-runtime/src/channelCollection.ts | Tags dataStoreAttachMessage_sampled telemetry event as LogLevel.info. |
| packages/loader/container-loader/src/loader.ts | Tags Loader.resolve perf event (Resolve*) as LogLevel.info. |
| packages/loader/container-loader/src/container.ts | Tags WaitOps / WaitOpProcessing perf events as LogLevel.info. |
| packages/drivers/odsp-driver/src/vroom.ts | Tags join-session perf event as LogLevel.info. |
| packages/drivers/odsp-driver/src/odspUtils.ts | Tags ODSP token-fetch perf event as LogLevel.info. |
| packages/drivers/odsp-driver/src/odspDocumentStorageManager.ts | Tags snapshot obtain perf event(s) as LogLevel.info. |
| packages/drivers/odsp-driver/src/odspDocumentService.ts | Tags SocketModuleLoaded telemetry event as LogLevel.info. |
| packages/drivers/odsp-driver/src/odspDocumentDeltaConnection.ts | Tags ConnectionAttemptInfo telemetry event as LogLevel.info. |
| packages/drivers/odsp-driver/src/odspDeltaStorageService.ts | Tags delta storage perf event as LogLevel.info. |
| packages/drivers/odsp-driver/src/odspDelayLoadedDeltaStream.ts | Tags first join-session attempt details telemetry as LogLevel.info. |
| packages/drivers/odsp-driver/src/fetchSnapshot.ts | Tags snapshot fetch perf event and auth-header telemetry as LogLevel.info. |
| undefined, // markers | ||
| undefined, // sampleThreshold | ||
| LogLevel.info, | ||
| ).catch((error) => { |
There was a problem hiding this comment.
This sends TreesLatest / TreesLatestForGroup performance events as info @jatgarg
| { eventName: "SnapshotAuthHeaderObtained" }, | ||
| undefined, // error | ||
| LogLevel.info, | ||
| ); |
There was a problem hiding this comment.
This tags the SnashptAuthHeaderObtained event as info @jatgarg
| }); | ||
| undefined, // error | ||
| LogLevel.info, | ||
| ); |
There was a problem hiding this comment.
This tags the FirstJoinSessionAttemptDetails event as info @WillieHabi
| }, | ||
| undefined, // markers | ||
| undefined, // sampleThreshold | ||
| LogLevel.info, |
There was a problem hiding this comment.
This tags the OpsFetch event as info @jatgarg
| }, | ||
| undefined, // error | ||
| LogLevel.info, | ||
| ); |
There was a problem hiding this comment.
This tags the ConnectionAttemptInfo as info @jatgarg
| { eventName: "SocketModuleLoaded" }, | ||
| undefined, // error | ||
| LogLevel.info, | ||
| ); |
There was a problem hiding this comment.
This tags the SocketModuleLoaded event as info @jatgarg
| } | ||
| return res.content; | ||
| }, | ||
| undefined, // markers |
There was a problem hiding this comment.
This tags the readDataBlob event as info @jatgarg
| }, | ||
| undefined, | ||
| undefined, | ||
| LogLevel.info, |
There was a problem hiding this comment.
This tags the ObtainSnapshot / ObtainSnapshotForGroup event as info @jatgarg
| ), | ||
| { cancel: "generic" }, | ||
| undefined, // sampleThreshold | ||
| LogLevel.info, |
There was a problem hiding this comment.
This one tags all of the name_GetToken performance events as info @jatgarg
|
|
||
| return response.content; | ||
| }, | ||
| undefined, // markers |
There was a problem hiding this comment.
This tags the JoinSession event as info @noencke
| async () => opsBeforeReturnP, | ||
| undefined, // markers | ||
| undefined, // sampleThreshold | ||
| LogLevel.info, |
There was a problem hiding this comment.
This tags the WaitOps event as info @vladsud
| async () => this._deltaManager.inbound.waitTillProcessingDone(), | ||
| undefined, // markers | ||
| undefined, // sampleThreshold | ||
| LogLevel.info, |
There was a problem hiding this comment.
This tags the WaitOpsProcessing as info @vladsud
| }, | ||
| undefined, // markers | ||
| undefined, // sampleThreshold | ||
| LogLevel.info, |
There was a problem hiding this comment.
This tags the Resolve / ResolveWithPendingState events with info @ChumpChief
| }, | ||
| undefined, // markers | ||
| undefined, // sampleThreshold | ||
| LogLevel.info, |
There was a problem hiding this comment.
This tags the InitializeOrUpdateGCState as info @markfields
| return { isSummaryTracked, isSummaryNewer }; | ||
| }, | ||
| { start: true, end: true, cancel: "error" }, | ||
| undefined, // sampleThreshold |
There was a problem hiding this comment.
This tags the refreshLatestSummary event as info @agarwal-navin
| }); | ||
| undefined, // error | ||
| LogLevel.info, | ||
| ); |
There was a problem hiding this comment.
This tags the dataStoreAttachMessage_sampled as info @agarwal-navin
| }, | ||
| undefined, // error | ||
| LogLevel.info, | ||
| ); |
There was a problem hiding this comment.
This tags the InboundOpsProcessingTime @agarwal-navin
Description
This PR is a follow up to #27126; it tags high volume FluidFramework telemetry events as
LogLevel.info. The goal is to let clients safely filter outinfo-tagged events without losing the signal needed to diagnose Fluid issues.Events were selected by observed telemetry volume and span both generic and performance events. For consumers today, the only observable difference is that tagged events now carry logLevel: "info" on their payload - no filtering or delivery behavior changes were made.
Reviewer Guidance
The review process is outlined on this wiki page.
LogLevel.infoparameter the formatting for various pieces of the code was updated. I highly recommend turning on thehide whitespacechanges option when reviewing this PR.Fixes: AB#52417