@fluidframework/container-runtime 2.0.0-internal.5.2.0 → 2.0.0-internal.5.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/blobManager.d.ts +5 -2
- package/dist/blobManager.d.ts.map +1 -1
- package/dist/blobManager.js +51 -22
- package/dist/blobManager.js.map +1 -1
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js +8 -1
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerRuntime.d.ts +4 -15
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +12 -7
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +4 -3
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.d.ts.map +1 -1
- package/dist/dataStoreContexts.js +2 -1
- package/dist/dataStoreContexts.js.map +1 -1
- package/dist/dataStores.d.ts +1 -2
- package/dist/dataStores.d.ts.map +1 -1
- package/dist/dataStores.js +2 -1
- package/dist/dataStores.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +4 -3
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +1 -1
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/id-compressor/uuidUtilities.d.ts +0 -2
- package/dist/id-compressor/uuidUtilities.d.ts.map +1 -1
- package/dist/id-compressor/uuidUtilities.js +1 -3
- package/dist/id-compressor/uuidUtilities.js.map +1 -1
- package/dist/metadata.d.ts +18 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +7 -0
- package/dist/metadata.js.map +1 -0
- package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opDecompressor.js +14 -8
- package/dist/opLifecycle/opDecompressor.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +2 -6
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
- package/dist/opLifecycle/opSplitter.js +2 -0
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +5 -1
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +45 -27
- package/dist/opLifecycle/outbox.js.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.js +3 -1
- package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/pendingStateManager.d.ts +1 -1
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +13 -5
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/scheduleManager.d.ts.map +1 -1
- package/dist/scheduleManager.js +8 -2
- package/dist/scheduleManager.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.d.ts +1 -1
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +3 -2
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +2 -1
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js +4 -0
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +1 -1
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/lib/blobManager.d.ts +5 -2
- package/lib/blobManager.d.ts.map +1 -1
- package/lib/blobManager.js +51 -22
- package/lib/blobManager.js.map +1 -1
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js +8 -1
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerRuntime.d.ts +4 -15
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +12 -7
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +4 -3
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.d.ts.map +1 -1
- package/lib/dataStoreContexts.js +2 -1
- package/lib/dataStoreContexts.js.map +1 -1
- package/lib/dataStores.d.ts +1 -2
- package/lib/dataStores.d.ts.map +1 -1
- package/lib/dataStores.js +2 -1
- package/lib/dataStores.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +2 -1
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +1 -1
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/id-compressor/uuidUtilities.d.ts +0 -2
- package/lib/id-compressor/uuidUtilities.d.ts.map +1 -1
- package/lib/id-compressor/uuidUtilities.js +1 -3
- package/lib/id-compressor/uuidUtilities.js.map +1 -1
- package/lib/metadata.d.ts +18 -0
- package/lib/metadata.d.ts.map +1 -0
- package/lib/metadata.js +6 -0
- package/lib/metadata.js.map +1 -0
- package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opDecompressor.js +14 -8
- package/lib/opLifecycle/opDecompressor.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +2 -6
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
- package/lib/opLifecycle/opSplitter.js +2 -0
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +5 -1
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +45 -27
- package/lib/opLifecycle/outbox.js.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.js +3 -1
- package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/pendingStateManager.d.ts +1 -1
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +13 -5
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/scheduleManager.d.ts.map +1 -1
- package/lib/scheduleManager.js +8 -2
- package/lib/scheduleManager.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.ts +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +2 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +2 -1
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js +4 -0
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +1 -1
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/package.json +19 -18
- package/src/blobManager.ts +68 -27
- package/src/connectionTelemetry.ts +10 -1
- package/src/containerRuntime.ts +14 -25
- package/src/dataStoreContext.ts +5 -4
- package/src/dataStoreContexts.ts +2 -1
- package/src/dataStores.ts +8 -3
- package/src/gc/garbageCollection.ts +2 -1
- package/src/gc/gcTelemetry.ts +1 -1
- package/src/id-compressor/uuidUtilities.ts +1 -4
- package/src/metadata.ts +19 -0
- package/src/opLifecycle/README.md +20 -0
- package/src/opLifecycle/opDecompressor.ts +41 -13
- package/src/opLifecycle/opGroupingManager.ts +14 -7
- package/src/opLifecycle/opSplitter.ts +3 -1
- package/src/opLifecycle/outbox.ts +61 -38
- package/src/opLifecycle/remoteMessageProcessor.ts +5 -1
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +20 -9
- package/src/scheduleManager.ts +15 -6
- package/src/summary/summarizerNode/summarizerNode.ts +1 -1
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +2 -1
- package/src/summary/summarizerTypes.ts +2 -1
- package/src/summary/summaryCollection.ts +6 -2
- package/src/summary/summaryGenerator.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectionTelemetry.js","sourceRoot":"","sources":["../src/connectionTelemetry.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ITelemetryLoggerExt, ChildLogger, TelemetryLogger } from \"@fluidframework/telemetry-utils\";\nimport { IDeltaManager } from \"@fluidframework/container-definitions\";\nimport {\n\tIDocumentMessage,\n\tISequencedDocumentMessage,\n\tMessageType,\n} from \"@fluidframework/protocol-definitions\";\nimport { assert, performance } from \"@fluidframework/common-utils\";\n\n/**\n * We report various latency-related errors when waiting for op roundtrip takes longer than that amout of time.\n */\nexport const latencyThreshold = 5000;\n\n// Phases in OpPerfTelemetry:\n// 1.\tOp is added to DeltaManager (DM) buffer.\n// 2.\tOp is sent to service (op leaves outbound queue).\n// \t - Note: We do not know for sure when op is sent, we only track when it is added to outbound queue.\n// If outbound queue is paused, time queue is paused is counted as network time.\n// 3.\tOp received from service back (pushed to inbound queue).\n// 4.\tOp is processed.\ninterface IOpPerfTelemetryProperties {\n\t/** Measure time between (1) and (2) - Measure time outbound op is sitting in queue due to active batch */\n\tdurationOutboundBatching: number; // was durationOutboundQueue in previous versions\n\t/** Measure time between (2) and (3) - Track how long it took for op to be acked by service */\n\tdurationNetwork: number; // was durationInboundQueue\n\t/** Measure time between (3) and (4) - Time between DM's inbound \"push\" event until DM's \"op\" event */\n\tdurationInboundToProcessing: number;\n\t/** Length of the DeltaManager's inbound queue at the time of the DM's inbound \"push\" event (3) */\n\tlengthInboundQueue: number;\n}\n\n/**\n * Timings collected at various moments during the op processing.\n */\ninterface IOpPerfTimings {\n\t/** Starting time for (1) */\n\tsubmitOpEventTime: number;\n\t/** Starting time for (2) */\n\toutboundPushEventTime: number;\n\t/** Starting time for (3) */\n\tinboundPushEventTime: number;\n}\n\nclass OpPerfTelemetry {\n\tprivate pongCount: number = 0;\n\tprivate pingLatency: number | undefined;\n\n\t// Collab window tracking. This is timestamp of %1000 message.\n\tprivate sequenceNumberForMsnTracking: number | undefined;\n\tprivate msnTrackingTimestamp: number = 0;\n\t// To track round trip time for every %500 client message.\n\tprivate clientSequenceNumberForLatencyStatistics: number | undefined;\n\n\tprivate opProcessingTimes: Partial<IOpPerfTimings> = {};\n\n\t// Performance Data to be reported for ops round trips and processing.\n\tprivate opPerfData: Partial<IOpPerfTelemetryProperties> = {};\n\n\tprivate firstConnection = true;\n\tprivate connectionOpSeqNumber: number | undefined;\n\tprivate readonly bootTime = performance.now();\n\tprivate connectionStartTime = 0;\n\tprivate gap = 0;\n\n\tprivate readonly logger: ITelemetryLoggerExt;\n\n\tpublic constructor(\n\t\tprivate clientId: string | undefined,\n\t\tprivate readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>,\n\t\tlogger: ITelemetryLoggerExt,\n\t) {\n\t\tthis.logger = ChildLogger.create(logger, \"OpPerf\");\n\n\t\tthis.deltaManager.on(\"pong\", (latency) => this.recordPingTime(latency));\n\t\tthis.deltaManager.on(\"submitOp\", (message) => this.beforeOpSubmit(message));\n\n\t\tthis.deltaManager.on(\"op\", (message) => this.afterProcessingOp(message));\n\n\t\tthis.deltaManager.on(\"connect\", (details, opsBehind) => {\n\t\t\tthis.clientId = details.clientId;\n\t\t\tif (opsBehind !== undefined) {\n\t\t\t\tthis.connectionOpSeqNumber = this.deltaManager.lastKnownSeqNumber;\n\t\t\t\tthis.gap = opsBehind;\n\t\t\t\tthis.connectionStartTime = performance.now();\n\n\t\t\t\t// We might be already up-today. If so, report it right away.\n\t\t\t\tif (this.gap <= 0) {\n\t\t\t\t\tthis.reportGettingUpToDate();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis.deltaManager.on(\"disconnect\", () => {\n\t\t\tthis.sequenceNumberForMsnTracking = undefined;\n\t\t\tthis.clientSequenceNumberForLatencyStatistics = undefined;\n\t\t\tthis.opProcessingTimes = {};\n\t\t\tthis.opPerfData = {};\n\t\t\tthis.connectionOpSeqNumber = undefined;\n\t\t\tthis.firstConnection = false;\n\t\t\tthis.pongCount = 0;\n\t\t});\n\n\t\tthis.deltaManager.outbound.on(\"push\", (messages) => {\n\t\t\tfor (const msg of messages) {\n\t\t\t\tif (\n\t\t\t\t\tmsg.type === MessageType.Operation &&\n\t\t\t\t\tthis.clientSequenceNumberForLatencyStatistics === msg.clientSequenceNumber\n\t\t\t\t) {\n\t\t\t\t\tassert(\n\t\t\t\t\t\tthis.opProcessingTimes.outboundPushEventTime === undefined,\n\t\t\t\t\t\t0x2c8 /* \"outboundPushEventTime should be undefined\" */,\n\t\t\t\t\t);\n\t\t\t\t\tassert(\n\t\t\t\t\t\tthis.opPerfData.durationNetwork === undefined,\n\t\t\t\t\t\t0x2c9 /* \"durationNetwork should be undefined\" */,\n\t\t\t\t\t);\n\t\t\t\t\tthis.opProcessingTimes.outboundPushEventTime = Date.now();\n\n\t\t\t\t\tassert(\n\t\t\t\t\t\tthis.opPerfData.durationOutboundBatching === undefined,\n\t\t\t\t\t\t0x2ca /* \"durationOutboundBatching should be undefined\" */,\n\t\t\t\t\t);\n\n\t\t\t\t\tassert(\n\t\t\t\t\t\tthis.opProcessingTimes.submitOpEventTime !== undefined,\n\t\t\t\t\t\t0x2cb /* \"submitOpEventTime should be undefined\" */,\n\t\t\t\t\t);\n\n\t\t\t\t\tthis.opPerfData.durationOutboundBatching =\n\t\t\t\t\t\tthis.opProcessingTimes.outboundPushEventTime -\n\t\t\t\t\t\tthis.opProcessingTimes.submitOpEventTime;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis.deltaManager.inbound.on(\"push\", (message: ISequencedDocumentMessage) => {\n\t\t\tif (\n\t\t\t\tthis.clientId === message.clientId &&\n\t\t\t\tmessage.type === MessageType.Operation &&\n\t\t\t\tthis.clientSequenceNumberForLatencyStatistics === message.clientSequenceNumber &&\n\t\t\t\tthis.opProcessingTimes.outboundPushEventTime !== undefined\n\t\t\t) {\n\t\t\t\tthis.opProcessingTimes.inboundPushEventTime = Date.now();\n\t\t\t\tthis.opPerfData.durationNetwork =\n\t\t\t\t\tthis.opProcessingTimes.inboundPushEventTime -\n\t\t\t\t\tthis.opProcessingTimes.outboundPushEventTime;\n\t\t\t\tthis.opProcessingTimes.outboundPushEventTime = undefined;\n\t\t\t\tthis.opPerfData.lengthInboundQueue = this.deltaManager.inbound.length;\n\t\t\t}\n\t\t});\n\n\t\tthis.deltaManager.inbound.on(\"idle\", (count: number, duration: number) => {\n\t\t\t// Do not want to log zero for sure.\n\t\t\t// We are more interested in aggregates, so logging only if we are processing some number of ops\n\t\t\t// Cut-off is arbitrary - can be increased or decreased based on amount of data collected and questions we\n\t\t\t// want to get answered\n\t\t\t// back-compat: Once 0.36 loader version saturates (count & duration args were added there),\n\t\t\t// we can remove typeof check.\n\t\t\tif (typeof count === \"number\" && count >= 100) {\n\t\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\t\teventName: \"GetDeltas_OpProcessing\",\n\t\t\t\t\tcount,\n\t\t\t\t\tduration,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate reportGettingUpToDate() {\n\t\tthis.connectionOpSeqNumber = undefined;\n\t\tthis.logger.sendPerformanceEvent({\n\t\t\teventName: \"ConnectionSpeed\",\n\t\t\tduration: performance.now() - this.connectionStartTime,\n\t\t\tops: this.gap,\n\t\t\t// track time to connect only for first connection.\n\t\t\ttimeToConnect: this.firstConnection\n\t\t\t\t? TelemetryLogger.formatTick(this.connectionStartTime - this.bootTime)\n\t\t\t\t: undefined,\n\t\t\tfirstConnection: this.firstConnection,\n\t\t});\n\t}\n\n\tprivate recordPingTime(latency: number) {\n\t\tthis.pingLatency = latency;\n\t\t// logging one in every 1000 pongs, including the first time, if it is a \"write\" client.\n\t\tif (this.pongCount % 100 === 0 && this.deltaManager.active) {\n\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\teventName: \"DeltaLatency\",\n\t\t\t\tduration: latency,\n\t\t\t});\n\t\t}\n\t\tthis.pongCount++;\n\t}\n\n\tprivate beforeOpSubmit(message: IDocumentMessage) {\n\t\t// start with first client op and measure latency every 500 client ops\n\t\tif (\n\t\t\tthis.clientSequenceNumberForLatencyStatistics === undefined &&\n\t\t\tmessage.clientSequenceNumber % 500 === 1\n\t\t) {\n\t\t\tassert(\n\t\t\t\tthis.opProcessingTimes.outboundPushEventTime === undefined,\n\t\t\t\t0x2cc /* \"OpTimeSittingInboundQueue should be undefined\" */,\n\t\t\t);\n\t\t\tassert(\n\t\t\t\tthis.opPerfData.durationNetwork === undefined,\n\t\t\t\t0x2cd /* \"durationNetwork should be undefined\" */,\n\t\t\t);\n\t\t\tthis.opProcessingTimes.submitOpEventTime = Date.now();\n\t\t\tthis.clientSequenceNumberForLatencyStatistics = message.clientSequenceNumber;\n\t\t}\n\t}\n\n\tprivate afterProcessingOp(message: ISequencedDocumentMessage) {\n\t\tconst sequenceNumber = message.sequenceNumber;\n\n\t\tif (sequenceNumber === this.connectionOpSeqNumber) {\n\t\t\tthis.reportGettingUpToDate();\n\t\t}\n\n\t\t// Record collab window max size after every 1000th op.\n\t\tif (this.sequenceNumberForMsnTracking === undefined && sequenceNumber % 1000 === 0) {\n\t\t\tthis.sequenceNumberForMsnTracking = sequenceNumber;\n\t\t\tthis.msnTrackingTimestamp = message.timestamp;\n\t\t}\n\t\tif (\n\t\t\tthis.sequenceNumberForMsnTracking !== undefined &&\n\t\t\tmessage.minimumSequenceNumber >= this.sequenceNumberForMsnTracking\n\t\t) {\n\t\t\tassert(\n\t\t\t\tthis.msnTrackingTimestamp !== undefined,\n\t\t\t\t0x2ce /* \"msnTrackingTimestamp should not be undefined\" */,\n\t\t\t);\n\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\teventName: \"MsnStatistics\",\n\t\t\t\tsequenceNumber,\n\t\t\t\tmsnDistance: sequenceNumber - this.sequenceNumberForMsnTracking,\n\t\t\t\tduration: message.timestamp - this.msnTrackingTimestamp,\n\t\t\t});\n\t\t\tthis.sequenceNumberForMsnTracking = undefined;\n\t\t}\n\n\t\tif (\n\t\t\tthis.clientId === message.clientId &&\n\t\t\tthis.clientSequenceNumberForLatencyStatistics === message.clientSequenceNumber\n\t\t) {\n\t\t\tassert(\n\t\t\t\tthis.opProcessingTimes.submitOpEventTime !== undefined,\n\t\t\t\t0x120 /* \"Undefined latency statistics (op send time)\" */,\n\t\t\t);\n\t\t\tconst currentTime = Date.now();\n\n\t\t\tif (this.opProcessingTimes.inboundPushEventTime !== undefined) {\n\t\t\t\tthis.opPerfData.durationInboundToProcessing =\n\t\t\t\t\tcurrentTime - this.opProcessingTimes.inboundPushEventTime;\n\t\t\t}\n\n\t\t\tconst duration = currentTime - this.opProcessingTimes.submitOpEventTime;\n\n\t\t\t// One of the core expectations for Fluid service is to be fast.\n\t\t\t// When it's not the case, we want to learn about it and be able to investigate, so\n\t\t\t// raise awareness.\n\t\t\t// This also helps identify cases where it's due to client behavior (sending too many ops)\n\t\t\t// that results in overwhelming ordering service and thus starting to see long latencies.\n\t\t\t// The threshold could be adjusted, but ideally it stays workload-agnostic, as service\n\t\t\t// performance impacts all workloads relying on service.\n\t\t\tconst category = duration > latencyThreshold ? \"error\" : \"performance\";\n\n\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\teventName: \"OpRoundtripTime\",\n\t\t\t\tsequenceNumber,\n\t\t\t\treferenceSequenceNumber: message.referenceSequenceNumber,\n\t\t\t\tduration,\n\t\t\t\tcategory,\n\t\t\t\tpingLatency: this.pingLatency,\n\t\t\t\tmsnDistance:\n\t\t\t\t\tthis.deltaManager.lastSequenceNumber - this.deltaManager.minimumSequenceNumber,\n\t\t\t\t...this.opPerfData,\n\t\t\t});\n\t\t\tthis.clientSequenceNumberForLatencyStatistics = undefined;\n\t\t\tthis.opPerfData = {};\n\t\t\tthis.opProcessingTimes = {};\n\t\t}\n\t}\n}\nexport interface IPerfSignalReport {\n\t/**\n\t * Identifier for the signal being submitted in order to\n\t * allow collection of data around the roundtrip of signal messages.\n\t */\n\tsignalSequenceNumber: number;\n\t/**\n\t * Number of signals that were expected but not received.\n\t */\n\tsignalsLost: number;\n\n\t/**\n\t * Timestamp before submitting the signal we will trace.\n\t */\n\tsignalTimestamp: number;\n\n\t/**\n\t * Expected Signal Sequence to be received.\n\t */\n\ttrackingSignalSequenceNumber: number | undefined;\n}\n\nexport function ReportOpPerfTelemetry(\n\tclientId: string | undefined,\n\tdeltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>,\n\tlogger: ITelemetryLoggerExt,\n) {\n\tnew OpPerfTelemetry(clientId, deltaManager, logger);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"connectionTelemetry.js","sourceRoot":"","sources":["../src/connectionTelemetry.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ITelemetryLoggerExt, ChildLogger, TelemetryLogger } from \"@fluidframework/telemetry-utils\";\nimport { IDeltaManager } from \"@fluidframework/container-definitions\";\nimport {\n\tIDocumentMessage,\n\tISequencedDocumentMessage,\n\tMessageType,\n} from \"@fluidframework/protocol-definitions\";\nimport { assert, performance } from \"@fluidframework/common-utils\";\n\n/**\n * We report various latency-related errors when waiting for op roundtrip takes longer than that amout of time.\n */\nexport const latencyThreshold = 5000;\n\n// Phases in OpPerfTelemetry:\n// 1.\tOp is added to DeltaManager (DM) buffer.\n// 2.\tOp is sent to service (op leaves outbound queue).\n// \t - Note: We do not know for sure when op is sent, we only track when it is added to outbound queue.\n// If outbound queue is paused, time queue is paused is counted as network time.\n// 3.\tOp received from service back (pushed to inbound queue).\n// 4.\tOp is processed.\ninterface IOpPerfTelemetryProperties {\n\t/** Measure time between (1) and (2) - Measure time outbound op is sitting in queue due to active batch */\n\tdurationOutboundBatching: number; // was durationOutboundQueue in previous versions\n\t/** Measure time between (2) and (3) - Track how long it took for op to be acked by service */\n\tdurationNetwork: number; // was durationInboundQueue\n\t/** Measure time between (3) and (4) - Time between DM's inbound \"push\" event until DM's \"op\" event */\n\tdurationInboundToProcessing: number;\n\t/** Length of the DeltaManager's inbound queue at the time of the DM's inbound \"push\" event (3) */\n\tlengthInboundQueue: number;\n}\n\n/**\n * Timings collected at various moments during the op processing.\n */\ninterface IOpPerfTimings {\n\t/** Starting time for (1) */\n\tsubmitOpEventTime: number;\n\t/** Starting time for (2) */\n\toutboundPushEventTime: number;\n\t/** Starting time for (3) */\n\tinboundPushEventTime: number;\n}\n\nclass OpPerfTelemetry {\n\tprivate pongCount: number = 0;\n\tprivate pingLatency: number | undefined;\n\n\t// Collab window tracking. This is timestamp of %1000 message.\n\tprivate sequenceNumberForMsnTracking: number | undefined;\n\tprivate msnTrackingTimestamp: number = 0;\n\t// To track round trip time for every %500 client message.\n\tprivate clientSequenceNumberForLatencyStatistics: number | undefined;\n\n\tprivate opProcessingTimes: Partial<IOpPerfTimings> = {};\n\n\t// Performance Data to be reported for ops round trips and processing.\n\tprivate opPerfData: Partial<IOpPerfTelemetryProperties> = {};\n\n\tprivate firstConnection = true;\n\tprivate connectionOpSeqNumber: number | undefined;\n\tprivate readonly bootTime = performance.now();\n\tprivate connectionStartTime = 0;\n\tprivate gap = 0;\n\n\tprivate readonly logger: ITelemetryLoggerExt;\n\n\tpublic constructor(\n\t\tprivate clientId: string | undefined,\n\t\tprivate readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>,\n\t\tlogger: ITelemetryLoggerExt,\n\t) {\n\t\tthis.logger = ChildLogger.create(logger, \"OpPerf\");\n\n\t\tthis.deltaManager.on(\"pong\", (latency) => this.recordPingTime(latency));\n\t\tthis.deltaManager.on(\"submitOp\", (message) => this.beforeOpSubmit(message));\n\n\t\tthis.deltaManager.on(\"op\", (message) => this.afterProcessingOp(message));\n\n\t\tthis.deltaManager.on(\"connect\", (details, opsBehind) => {\n\t\t\tthis.clientId = details.clientId;\n\t\t\tif (opsBehind !== undefined) {\n\t\t\t\tthis.connectionOpSeqNumber = this.deltaManager.lastKnownSeqNumber;\n\t\t\t\tthis.gap = opsBehind;\n\t\t\t\tthis.connectionStartTime = performance.now();\n\n\t\t\t\t// We might be already up-today. If so, report it right away.\n\t\t\t\tif (this.gap <= 0) {\n\t\t\t\t\tthis.reportGettingUpToDate();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tthis.deltaManager.on(\"disconnect\", () => {\n\t\t\tthis.sequenceNumberForMsnTracking = undefined;\n\t\t\tthis.clientSequenceNumberForLatencyStatistics = undefined;\n\t\t\tthis.opProcessingTimes = {};\n\t\t\tthis.opPerfData = {};\n\t\t\tthis.connectionOpSeqNumber = undefined;\n\t\t\tthis.firstConnection = false;\n\t\t\tthis.pongCount = 0;\n\t\t});\n\n\t\tthis.deltaManager.outbound.on(\"push\", (messages) => {\n\t\t\tfor (const msg of messages) {\n\t\t\t\tif (\n\t\t\t\t\tmsg.type === MessageType.Operation &&\n\t\t\t\t\tthis.clientSequenceNumberForLatencyStatistics === msg.clientSequenceNumber\n\t\t\t\t) {\n\t\t\t\t\tassert(\n\t\t\t\t\t\tthis.opProcessingTimes.outboundPushEventTime === undefined,\n\t\t\t\t\t\t0x2c8 /* \"outboundPushEventTime should be undefined\" */,\n\t\t\t\t\t);\n\t\t\t\t\tassert(\n\t\t\t\t\t\tthis.opPerfData.durationNetwork === undefined,\n\t\t\t\t\t\t0x2c9 /* \"durationNetwork should be undefined\" */,\n\t\t\t\t\t);\n\t\t\t\t\tthis.opProcessingTimes.outboundPushEventTime = Date.now();\n\n\t\t\t\t\tassert(\n\t\t\t\t\t\tthis.opPerfData.durationOutboundBatching === undefined,\n\t\t\t\t\t\t0x2ca /* \"durationOutboundBatching should be undefined\" */,\n\t\t\t\t\t);\n\n\t\t\t\t\tassert(\n\t\t\t\t\t\tthis.opProcessingTimes.submitOpEventTime !== undefined,\n\t\t\t\t\t\t0x2cb /* \"submitOpEventTime should be undefined\" */,\n\t\t\t\t\t);\n\n\t\t\t\t\tthis.opPerfData.durationOutboundBatching =\n\t\t\t\t\t\tthis.opProcessingTimes.outboundPushEventTime -\n\t\t\t\t\t\tthis.opProcessingTimes.submitOpEventTime;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis.deltaManager.inbound.on(\"push\", (message: ISequencedDocumentMessage) => {\n\t\t\tif (\n\t\t\t\tthis.clientId === message.clientId &&\n\t\t\t\tmessage.type === MessageType.Operation &&\n\t\t\t\tthis.clientSequenceNumberForLatencyStatistics === message.clientSequenceNumber &&\n\t\t\t\tthis.opProcessingTimes.outboundPushEventTime !== undefined\n\t\t\t) {\n\t\t\t\tthis.opProcessingTimes.inboundPushEventTime = Date.now();\n\t\t\t\tthis.opPerfData.durationNetwork =\n\t\t\t\t\tthis.opProcessingTimes.inboundPushEventTime -\n\t\t\t\t\tthis.opProcessingTimes.outboundPushEventTime;\n\t\t\t\tthis.opProcessingTimes.outboundPushEventTime = undefined;\n\t\t\t\tthis.opPerfData.lengthInboundQueue = this.deltaManager.inbound.length;\n\t\t\t}\n\t\t});\n\n\t\tthis.deltaManager.inbound.on(\"idle\", (count: number, duration: number) => {\n\t\t\t// Do not want to log zero for sure.\n\t\t\t// We are more interested in aggregates, so logging only if we are processing some number of ops\n\t\t\t// Cut-off is arbitrary - can be increased or decreased based on amount of data collected and questions we\n\t\t\t// want to get answered\n\t\t\t// back-compat: Once 0.36 loader version saturates (count & duration args were added there),\n\t\t\t// we can remove typeof check.\n\t\t\tif (typeof count === \"number\" && count >= 100) {\n\t\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\t\teventName: \"GetDeltas_OpProcessing\",\n\t\t\t\t\tcount,\n\t\t\t\t\tduration,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate reportGettingUpToDate() {\n\t\tthis.connectionOpSeqNumber = undefined;\n\t\tthis.logger.sendPerformanceEvent({\n\t\t\teventName: \"ConnectionSpeed\",\n\t\t\tduration: performance.now() - this.connectionStartTime,\n\t\t\tops: this.gap,\n\t\t\t// track time to connect only for first connection.\n\t\t\ttimeToConnect: this.firstConnection\n\t\t\t\t? TelemetryLogger.formatTick(this.connectionStartTime - this.bootTime)\n\t\t\t\t: undefined,\n\t\t\tfirstConnection: this.firstConnection,\n\t\t});\n\t}\n\n\tprivate recordPingTime(latency: number) {\n\t\tthis.pingLatency = latency;\n\n\t\t// Log if latency is longer than 1 min\n\t\tif (latency > 1000 * 60) {\n\t\t\tthis.logger.sendErrorEvent({\n\t\t\t\teventName: \"LatencyTooLong\",\n\t\t\t\tduration: latency,\n\t\t\t});\n\t\t}\n\n\t\t// logging one in every 100 pongs, including the first time, if it is a \"write\" client.\n\t\tif (this.pongCount % 100 === 0 && this.deltaManager.active) {\n\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\teventName: \"DeltaLatency\",\n\t\t\t\tduration: latency,\n\t\t\t});\n\t\t}\n\t\tthis.pongCount++;\n\t}\n\n\tprivate beforeOpSubmit(message: IDocumentMessage) {\n\t\t// start with first client op and measure latency every 500 client ops\n\t\tif (\n\t\t\tthis.clientSequenceNumberForLatencyStatistics === undefined &&\n\t\t\tmessage.clientSequenceNumber % 500 === 1\n\t\t) {\n\t\t\tassert(\n\t\t\t\tthis.opProcessingTimes.outboundPushEventTime === undefined,\n\t\t\t\t0x2cc /* \"OpTimeSittingInboundQueue should be undefined\" */,\n\t\t\t);\n\t\t\tassert(\n\t\t\t\tthis.opPerfData.durationNetwork === undefined,\n\t\t\t\t0x2cd /* \"durationNetwork should be undefined\" */,\n\t\t\t);\n\t\t\tthis.opProcessingTimes.submitOpEventTime = Date.now();\n\t\t\tthis.clientSequenceNumberForLatencyStatistics = message.clientSequenceNumber;\n\t\t}\n\t}\n\n\tprivate afterProcessingOp(message: ISequencedDocumentMessage) {\n\t\tconst sequenceNumber = message.sequenceNumber;\n\n\t\tif (sequenceNumber === this.connectionOpSeqNumber) {\n\t\t\tthis.reportGettingUpToDate();\n\t\t}\n\n\t\t// Record collab window max size after every 1000th op.\n\t\tif (this.sequenceNumberForMsnTracking === undefined && sequenceNumber % 1000 === 0) {\n\t\t\tthis.sequenceNumberForMsnTracking = sequenceNumber;\n\t\t\tthis.msnTrackingTimestamp = message.timestamp;\n\t\t}\n\t\tif (\n\t\t\tthis.sequenceNumberForMsnTracking !== undefined &&\n\t\t\tmessage.minimumSequenceNumber >= this.sequenceNumberForMsnTracking\n\t\t) {\n\t\t\tassert(\n\t\t\t\tthis.msnTrackingTimestamp !== undefined,\n\t\t\t\t0x2ce /* \"msnTrackingTimestamp should not be undefined\" */,\n\t\t\t);\n\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\teventName: \"MsnStatistics\",\n\t\t\t\tsequenceNumber,\n\t\t\t\tmsnDistance: sequenceNumber - this.sequenceNumberForMsnTracking,\n\t\t\t\tduration: message.timestamp - this.msnTrackingTimestamp,\n\t\t\t});\n\t\t\tthis.sequenceNumberForMsnTracking = undefined;\n\t\t}\n\n\t\tif (\n\t\t\tthis.clientId === message.clientId &&\n\t\t\tthis.clientSequenceNumberForLatencyStatistics === message.clientSequenceNumber\n\t\t) {\n\t\t\tassert(\n\t\t\t\tthis.opProcessingTimes.submitOpEventTime !== undefined,\n\t\t\t\t0x120 /* \"Undefined latency statistics (op send time)\" */,\n\t\t\t);\n\t\t\tconst currentTime = Date.now();\n\n\t\t\tif (this.opProcessingTimes.inboundPushEventTime !== undefined) {\n\t\t\t\tthis.opPerfData.durationInboundToProcessing =\n\t\t\t\t\tcurrentTime - this.opProcessingTimes.inboundPushEventTime;\n\t\t\t}\n\n\t\t\tconst duration = currentTime - this.opProcessingTimes.submitOpEventTime;\n\n\t\t\t// One of the core expectations for Fluid service is to be fast.\n\t\t\t// When it's not the case, we want to learn about it and be able to investigate, so\n\t\t\t// raise awareness.\n\t\t\t// This also helps identify cases where it's due to client behavior (sending too many ops)\n\t\t\t// that results in overwhelming ordering service and thus starting to see long latencies.\n\t\t\t// The threshold could be adjusted, but ideally it stays workload-agnostic, as service\n\t\t\t// performance impacts all workloads relying on service.\n\t\t\tconst category = duration > latencyThreshold ? \"error\" : \"performance\";\n\n\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\teventName: \"OpRoundtripTime\",\n\t\t\t\tsequenceNumber,\n\t\t\t\treferenceSequenceNumber: message.referenceSequenceNumber,\n\t\t\t\tduration,\n\t\t\t\tcategory,\n\t\t\t\tpingLatency: this.pingLatency,\n\t\t\t\tmsnDistance:\n\t\t\t\t\tthis.deltaManager.lastSequenceNumber - this.deltaManager.minimumSequenceNumber,\n\t\t\t\t...this.opPerfData,\n\t\t\t});\n\t\t\tthis.clientSequenceNumberForLatencyStatistics = undefined;\n\t\t\tthis.opPerfData = {};\n\t\t\tthis.opProcessingTimes = {};\n\t\t}\n\t}\n}\nexport interface IPerfSignalReport {\n\t/**\n\t * Identifier for the signal being submitted in order to\n\t * allow collection of data around the roundtrip of signal messages.\n\t */\n\tsignalSequenceNumber: number;\n\t/**\n\t * Number of signals that were expected but not received.\n\t */\n\tsignalsLost: number;\n\n\t/**\n\t * Timestamp before submitting the signal we will trace.\n\t */\n\tsignalTimestamp: number;\n\n\t/**\n\t * Expected Signal Sequence to be received.\n\t */\n\ttrackingSignalSequenceNumber: number | undefined;\n}\n\nexport function ReportOpPerfTelemetry(\n\tclientId: string | undefined,\n\tdeltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>,\n\tlogger: ITelemetryLoggerExt,\n) {\n\tnew OpPerfTelemetry(clientId, deltaManager, logger);\n}\n"]}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
1
5
|
import { FluidObject, IFluidHandle, IFluidHandleContext, IFluidRouter, IRequest, IResponse } from "@fluidframework/core-interfaces";
|
|
2
6
|
import { IAudience, IContainerContext, IDeltaManager, IRuntime, ICriticalContainerError, AttachState, ILoaderOptions } from "@fluidframework/container-definitions";
|
|
3
7
|
import { IContainerRuntime, IContainerRuntimeEvents } from "@fluidframework/container-runtime-definitions";
|
|
@@ -207,24 +211,9 @@ export interface IContainerRuntimeOptions {
|
|
|
207
211
|
* By default, the feature is disabled. If enabled from options, the `Fluid.ContainerRuntime.DisableGroupedBatching`
|
|
208
212
|
* flag can be used to disable it at runtime.
|
|
209
213
|
*
|
|
210
|
-
* For safety, {@link IContainerRuntimeOptions#enableBatchRebasing} needs to also be enabled to ensure
|
|
211
|
-
* consistency across clients.
|
|
212
|
-
*
|
|
213
214
|
* @experimental Not ready for use.
|
|
214
215
|
*/
|
|
215
216
|
readonly enableGroupedBatching?: boolean;
|
|
216
|
-
/**
|
|
217
|
-
* Configures if the runtime should rebase a batch of ops when it detects op reentrancy,
|
|
218
|
-
* when an op is created as the result of processing another op. Usually this is the case
|
|
219
|
-
* when changes are made to a DDS inside a DDS 'onChanged' event handler. This means that the
|
|
220
|
-
* reentrant op will have a different reference sequence number than the rest of the ops in
|
|
221
|
-
* the batch, resulting in a different view of the state of the data model. Therefore all ops
|
|
222
|
-
* must be resubmitted and rebased to the current reference sequence number to be in agreement
|
|
223
|
-
* about the state of the data model.
|
|
224
|
-
*
|
|
225
|
-
* @experimental Not ready for use.
|
|
226
|
-
*/
|
|
227
|
-
readonly enableBatchRebasing?: boolean;
|
|
228
217
|
}
|
|
229
218
|
/**
|
|
230
219
|
* The summary tree returned by the root node. It adds state relevant to the root of the tree.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"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"}
|
package/dist/containerRuntime.js
CHANGED
|
@@ -33,6 +33,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
33
33
|
exports.ContainerRuntime = exports.getDeviceSpec = exports.agentSchedulerId = exports.isRuntimeMessage = exports.RuntimeMessage = exports.CompressionAlgorithms = exports.defaultRuntimeHeaderData = exports.TombstoneResponseHeaderKey = exports.AllowTombstoneRequestHeaderKey = exports.RuntimeHeaders = exports.DefaultSummaryConfiguration = exports.ContainerMessageType = void 0;
|
|
34
34
|
const container_definitions_1 = require("@fluidframework/container-definitions");
|
|
35
35
|
const common_utils_1 = require("@fluidframework/common-utils");
|
|
36
|
+
const core_utils_1 = require("@fluidframework/core-utils");
|
|
36
37
|
const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
|
|
37
38
|
const driver_definitions_1 = require("@fluidframework/driver-definitions");
|
|
38
39
|
const driver_utils_1 = require("@fluidframework/driver-utils");
|
|
@@ -392,8 +393,6 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
392
393
|
}
|
|
393
394
|
: runtimeOptions.compressionOptions;
|
|
394
395
|
const disablePartialFlush = this.mc.config.getBoolean("Fluid.ContainerRuntime.DisablePartialFlush");
|
|
395
|
-
const enableBatchRebasing = runtimeOptions.enableBatchRebasing &&
|
|
396
|
-
this.mc.config.getBoolean("Fluid.ContainerRuntime.DisableBatchRebasing") !== true;
|
|
397
396
|
this.outbox = new opLifecycle_1.Outbox({
|
|
398
397
|
shouldSend: () => this.canSendOps(),
|
|
399
398
|
pendingStateManager: this.pendingStateManager,
|
|
@@ -404,7 +403,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
404
403
|
compressionOptions,
|
|
405
404
|
maxBatchSizeInBytes: runtimeOptions.maxBatchSizeInBytes,
|
|
406
405
|
disablePartialFlush: disablePartialFlush === true,
|
|
407
|
-
|
|
406
|
+
enableGroupedBatching: this.groupedBatchingEnabled,
|
|
408
407
|
},
|
|
409
408
|
logger: this.mc.logger,
|
|
410
409
|
groupingManager: opGroupingManager,
|
|
@@ -504,11 +503,10 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
504
503
|
idCompressorEnabled: this.idCompressorEnabled,
|
|
505
504
|
summaryStateUpdateMethod: this.summaryStateUpdateMethod,
|
|
506
505
|
closeSummarizerDelayOverride,
|
|
507
|
-
enableBatchRebasing,
|
|
508
506
|
}), telemetryDocumentId: this.telemetryDocumentId, groupedBatchingEnabled: this.groupedBatchingEnabled }));
|
|
509
507
|
(0, connectionTelemetry_1.ReportOpPerfTelemetry)(this.context.clientId, this.deltaManager, this.logger);
|
|
510
508
|
(0, batchTracker_1.BindBatchTracker)(this, this.logger);
|
|
511
|
-
this.entryPoint = new
|
|
509
|
+
this.entryPoint = new core_utils_1.LazyPromise(async () => {
|
|
512
510
|
if (this.context.clientDetails.type === summary_1.summarizerClientType) {
|
|
513
511
|
(0, common_utils_1.assert)(this._summarizer !== undefined, 0x5bf /* Summarizer object is undefined in a summarizer client */);
|
|
514
512
|
return this._summarizer;
|
|
@@ -572,7 +570,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
572
570
|
runtimeVersion: packageVersion_1.pkgVersion,
|
|
573
571
|
},
|
|
574
572
|
});
|
|
575
|
-
const { summaryOptions = {}, gcOptions = {}, loadSequenceNumberVerification = "close", flushMode = defaultFlushMode, compressionOptions = defaultCompressionConfig, maxBatchSizeInBytes = defaultMaxBatchSizeInBytes, enableRuntimeIdCompressor = false, chunkSizeInBytes = defaultChunkSizeInBytes, enableOpReentryCheck = false, enableGroupedBatching = false,
|
|
573
|
+
const { summaryOptions = {}, gcOptions = {}, loadSequenceNumberVerification = "close", flushMode = defaultFlushMode, compressionOptions = defaultCompressionConfig, maxBatchSizeInBytes = defaultMaxBatchSizeInBytes, enableRuntimeIdCompressor = false, chunkSizeInBytes = defaultChunkSizeInBytes, enableOpReentryCheck = false, enableGroupedBatching = false, } = runtimeOptions;
|
|
576
574
|
const registry = new dataStoreRegistry_1.FluidDataStoreRegistry(registryEntries);
|
|
577
575
|
const tryFetchBlob = async (blobName) => {
|
|
578
576
|
var _a;
|
|
@@ -641,7 +639,6 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
641
639
|
enableRuntimeIdCompressor,
|
|
642
640
|
enableOpReentryCheck,
|
|
643
641
|
enableGroupedBatching,
|
|
644
|
-
enableBatchRebasing,
|
|
645
642
|
}, containerScope, logger, loadExisting, blobManagerSnapshot, context.storage, idCompressor, requestHandler, undefined, // summaryConfiguration
|
|
646
643
|
initializeEntryPoint);
|
|
647
644
|
// It's possible to have ops with a reference sequence number of 0. Op sequence numbers start
|
|
@@ -673,6 +670,10 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
673
670
|
return (_a = this.context.disposeFn) !== null && _a !== void 0 ? _a : this.context.closeFn;
|
|
674
671
|
}
|
|
675
672
|
get closeFn() {
|
|
673
|
+
if (this._summarizer !== undefined) {
|
|
674
|
+
// In cases of summarizer, we want to dispose instead since consumer doesn't interact with this container
|
|
675
|
+
return this.disposeFn;
|
|
676
|
+
}
|
|
676
677
|
// Also call disposeFn to retain functionality of runtime being disposed on close
|
|
677
678
|
return (error) => {
|
|
678
679
|
var _a, _b;
|
|
@@ -1944,6 +1945,10 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1944
1945
|
this.disableAttachReorder !== true) {
|
|
1945
1946
|
this.outbox.submitAttach(message);
|
|
1946
1947
|
}
|
|
1948
|
+
else if (type === ContainerMessageType.BlobAttach) {
|
|
1949
|
+
// BlobAttach ops must have their metadata visible and cannot be grouped (see opGroupingManager.ts)
|
|
1950
|
+
this.outbox.submitBlobAttach(message);
|
|
1951
|
+
}
|
|
1947
1952
|
else {
|
|
1948
1953
|
this.outbox.submit(message);
|
|
1949
1954
|
}
|