@fluidframework/container-runtime 2.0.0-dev.4.4.0.162253 → 2.0.0-dev.5.2.0.169897
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 +45 -0
- package/dist/batchTracker.d.ts +4 -4
- package/dist/batchTracker.d.ts.map +1 -1
- package/dist/batchTracker.js +2 -2
- package/dist/batchTracker.js.map +1 -1
- package/dist/blobManager.js +2 -2
- package/dist/blobManager.js.map +1 -1
- package/dist/connectionTelemetry.d.ts +2 -2
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerRuntime.d.ts +12 -11
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +42 -15
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.d.ts +2 -2
- package/dist/dataStore.d.ts.map +1 -1
- package/dist/dataStore.js +1 -1
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +3 -3
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +1 -2
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.d.ts.map +1 -1
- package/dist/dataStoreContexts.js.map +1 -1
- package/dist/deltaScheduler.d.ts +2 -2
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js +1 -1
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +2 -2
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +3 -4
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcConfigs.d.ts.map +1 -1
- package/dist/gc/gcConfigs.js +8 -10
- package/dist/gc/gcConfigs.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +3 -3
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcSummaryStateTracker.d.ts +1 -2
- package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/dist/gc/gcSummaryStateTracker.js +6 -6
- package/dist/gc/gcSummaryStateTracker.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +5 -5
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/id-compressor/idCompressor.d.ts +2 -2
- package/dist/id-compressor/idCompressor.d.ts.map +1 -1
- package/dist/id-compressor/idCompressor.js.map +1 -1
- package/dist/opLifecycle/definitions.d.ts +2 -2
- package/dist/opLifecycle/definitions.d.ts.map +1 -1
- package/dist/opLifecycle/definitions.js.map +1 -1
- package/dist/opLifecycle/opCompressor.d.ts +2 -2
- package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opCompressor.js +3 -6
- package/dist/opLifecycle/opCompressor.js.map +1 -1
- package/dist/opLifecycle/opDecompressor.d.ts +2 -2
- package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opDecompressor.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +5 -6
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSplitter.d.ts +2 -2
- package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
- package/dist/opLifecycle/opSplitter.js +3 -3
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +2 -2
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +7 -3
- package/dist/opLifecycle/outbox.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 +18 -14
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +35 -55
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/scheduleManager.d.ts +2 -2
- package/dist/scheduleManager.d.ts.map +1 -1
- package/dist/scheduleManager.js.map +1 -1
- package/dist/summary/orderedClientElection.d.ts +4 -3
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +3 -18
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runningSummarizer.d.ts +4 -3
- package/dist/summary/runningSummarizer.d.ts.map +1 -1
- package/dist/summary/runningSummarizer.js +5 -6
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +2 -3
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +2 -3
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.d.ts +3 -2
- package/dist/summary/summarizerClientElection.d.ts.map +1 -1
- package/dist/summary/summarizerClientElection.js.map +1 -1
- package/dist/summary/summarizerHeuristics.d.ts +2 -2
- package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.d.ts +10 -9
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +3 -3
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +6 -6
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +8 -8
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts +3 -2
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +2 -2
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js +1 -1
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/dist/summary/summaryManager.d.ts +3 -2
- package/dist/summary/summaryManager.d.ts.map +1 -1
- package/dist/summary/summaryManager.js.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/lib/batchTracker.d.ts +4 -4
- package/lib/batchTracker.d.ts.map +1 -1
- package/lib/batchTracker.js +2 -2
- package/lib/batchTracker.js.map +1 -1
- package/lib/blobManager.js +2 -2
- package/lib/blobManager.js.map +1 -1
- package/lib/connectionTelemetry.d.ts +2 -2
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerRuntime.d.ts +12 -11
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +42 -15
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.d.ts +2 -2
- package/lib/dataStore.d.ts.map +1 -1
- package/lib/dataStore.js +1 -1
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +3 -3
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +1 -2
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.d.ts.map +1 -1
- package/lib/dataStoreContexts.js.map +1 -1
- package/lib/deltaScheduler.d.ts +2 -2
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js +1 -1
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +2 -2
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +3 -4
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcConfigs.d.ts.map +1 -1
- package/lib/gc/gcConfigs.js +8 -10
- package/lib/gc/gcConfigs.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +3 -3
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcSummaryStateTracker.d.ts +1 -2
- package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/lib/gc/gcSummaryStateTracker.js +6 -6
- package/lib/gc/gcSummaryStateTracker.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +5 -5
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js +1 -1
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/id-compressor/idCompressor.d.ts +2 -2
- package/lib/id-compressor/idCompressor.d.ts.map +1 -1
- package/lib/id-compressor/idCompressor.js.map +1 -1
- package/lib/opLifecycle/definitions.d.ts +2 -2
- package/lib/opLifecycle/definitions.d.ts.map +1 -1
- package/lib/opLifecycle/definitions.js.map +1 -1
- package/lib/opLifecycle/opCompressor.d.ts +2 -2
- package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opCompressor.js +3 -6
- package/lib/opLifecycle/opCompressor.js.map +1 -1
- package/lib/opLifecycle/opDecompressor.d.ts +2 -2
- package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opDecompressor.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +5 -6
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSplitter.d.ts +2 -2
- package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
- package/lib/opLifecycle/opSplitter.js +3 -3
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +2 -2
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +7 -3
- package/lib/opLifecycle/outbox.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 +18 -14
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +35 -55
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/scheduleManager.d.ts +2 -2
- package/lib/scheduleManager.d.ts.map +1 -1
- package/lib/scheduleManager.js.map +1 -1
- package/lib/summary/orderedClientElection.d.ts +4 -3
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +3 -18
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runningSummarizer.d.ts +4 -3
- package/lib/summary/runningSummarizer.d.ts.map +1 -1
- package/lib/summary/runningSummarizer.js +5 -6
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +2 -3
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +2 -3
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.d.ts +3 -2
- package/lib/summary/summarizerClientElection.d.ts.map +1 -1
- package/lib/summary/summarizerClientElection.js.map +1 -1
- package/lib/summary/summarizerHeuristics.d.ts +2 -2
- package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.ts +10 -9
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +3 -3
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +6 -6
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +8 -8
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts +3 -2
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +2 -2
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js +1 -1
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/lib/summary/summaryManager.d.ts +3 -2
- package/lib/summary/summaryManager.d.ts.map +1 -1
- package/lib/summary/summaryManager.js +1 -1
- package/lib/summary/summaryManager.js.map +1 -1
- package/package.json +22 -39
- package/src/batchTracker.ts +5 -6
- package/src/blobManager.ts +2 -2
- package/src/connectionTelemetry.ts +4 -5
- package/src/containerRuntime.ts +60 -31
- package/src/dataStore.ts +3 -4
- package/src/dataStoreContext.ts +4 -8
- package/src/dataStoreContexts.ts +3 -7
- package/src/deltaScheduler.ts +2 -3
- package/src/gc/garbageCollection.ts +8 -11
- package/src/gc/gcConfigs.ts +12 -11
- package/src/gc/gcDefinitions.ts +3 -3
- package/src/gc/gcSummaryStateTracker.ts +6 -6
- package/src/gc/gcTelemetry.ts +9 -5
- package/src/id-compressor/idCompressor.ts +2 -2
- package/src/opLifecycle/definitions.ts +2 -2
- package/src/opLifecycle/opCompressor.ts +4 -8
- package/src/opLifecycle/opDecompressor.ts +2 -3
- package/src/opLifecycle/opGroupingManager.ts +6 -7
- package/src/opLifecycle/opSplitter.ts +4 -5
- package/src/opLifecycle/outbox.ts +10 -9
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +60 -91
- package/src/scheduleManager.ts +3 -4
- package/src/summary/orderedClientElection.ts +7 -20
- package/src/summary/runningSummarizer.ts +11 -10
- package/src/summary/summarizer.ts +8 -8
- package/src/summary/summarizerClientElection.ts +3 -2
- package/src/summary/summarizerHeuristics.ts +2 -2
- package/src/summary/summarizerNode/summarizerNode.ts +15 -14
- package/src/summary/summarizerNode/summarizerNodeUtils.ts +3 -3
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +10 -7
- package/src/summary/summarizerTypes.ts +8 -13
- package/src/summary/summaryCollection.ts +3 -2
- package/src/summary/summaryGenerator.ts +7 -3
- package/src/summary/summaryManager.ts +8 -9
|
@@ -3,18 +3,19 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { IDisposable
|
|
7
|
-
import { assert, delay, Deferred, PromiseTimer } from "@fluidframework/common-utils";
|
|
8
|
-
import { UsageError } from "@fluidframework/container-utils";
|
|
9
|
-
import { DriverErrorType } from "@fluidframework/driver-definitions";
|
|
10
|
-
import { isRuntimeMessage } from "@fluidframework/driver-utils";
|
|
11
|
-
import { ISequencedDocumentMessage, MessageType } from "@fluidframework/protocol-definitions";
|
|
6
|
+
import { IDisposable } from "@fluidframework/common-definitions";
|
|
12
7
|
import {
|
|
8
|
+
ITelemetryLoggerExt,
|
|
13
9
|
ChildLogger,
|
|
14
10
|
isFluidError,
|
|
15
11
|
loggerToMonitoringContext,
|
|
16
12
|
MonitoringContext,
|
|
17
13
|
} from "@fluidframework/telemetry-utils";
|
|
14
|
+
import { assert, delay, Deferred, PromiseTimer } from "@fluidframework/common-utils";
|
|
15
|
+
import { UsageError } from "@fluidframework/container-utils";
|
|
16
|
+
import { DriverErrorType } from "@fluidframework/driver-definitions";
|
|
17
|
+
import { isRuntimeMessage } from "@fluidframework/driver-utils";
|
|
18
|
+
import { ISequencedDocumentMessage, MessageType } from "@fluidframework/protocol-definitions";
|
|
18
19
|
import { ISummaryConfiguration } from "../containerRuntime";
|
|
19
20
|
import { opSize } from "../opProperties";
|
|
20
21
|
import { SummarizeHeuristicRunner } from "./summarizerHeuristics";
|
|
@@ -56,7 +57,7 @@ const defaultNumberSummarizationAttempts = 2; // only up to 2 attempts
|
|
|
56
57
|
*/
|
|
57
58
|
export class RunningSummarizer implements IDisposable {
|
|
58
59
|
public static async start(
|
|
59
|
-
logger:
|
|
60
|
+
logger: ITelemetryLoggerExt,
|
|
60
61
|
summaryWatcher: IClientSummaryWatcher,
|
|
61
62
|
configuration: ISummaryConfiguration,
|
|
62
63
|
submitSummaryCallback: (options: ISubmitSummaryOptions) => Promise<SubmitSummaryResult>,
|
|
@@ -149,7 +150,7 @@ export class RunningSummarizer implements IDisposable {
|
|
|
149
150
|
private readonly runtimeListener;
|
|
150
151
|
|
|
151
152
|
private constructor(
|
|
152
|
-
baseLogger:
|
|
153
|
+
baseLogger: ITelemetryLoggerExt,
|
|
153
154
|
private readonly summaryWatcher: IClientSummaryWatcher,
|
|
154
155
|
private readonly configuration: ISummaryConfiguration,
|
|
155
156
|
private readonly submitSummaryCallback: (
|
|
@@ -252,7 +253,7 @@ export class RunningSummarizer implements IDisposable {
|
|
|
252
253
|
// Can remove and only listen to runtime once loader version is past 2.0.0-internal.1.2.0 (https://github.com/microsoft/FluidFramework/pull/11832)
|
|
253
254
|
// Tracked by AB#3883
|
|
254
255
|
this.runtime.deltaManager.on("op", this.deltaManagerListener);
|
|
255
|
-
this.runtime.on
|
|
256
|
+
this.runtime.on("op", this.runtimeListener);
|
|
256
257
|
}
|
|
257
258
|
|
|
258
259
|
private async handleSummaryAck(): Promise<number> {
|
|
@@ -347,7 +348,7 @@ export class RunningSummarizer implements IDisposable {
|
|
|
347
348
|
|
|
348
349
|
public dispose(): void {
|
|
349
350
|
this.runtime.deltaManager.off("op", this.deltaManagerListener);
|
|
350
|
-
this.runtime.off
|
|
351
|
+
this.runtime.off("op", this.runtimeListener);
|
|
351
352
|
this.summaryWatcher.dispose();
|
|
352
353
|
this.heuristicRunner?.dispose();
|
|
353
354
|
this.heuristicRunner = undefined;
|
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
|
|
6
6
|
import { EventEmitter } from "events";
|
|
7
7
|
import { Deferred } from "@fluidframework/common-utils";
|
|
8
|
-
import { ITelemetryLogger } from "@fluidframework/common-definitions";
|
|
9
|
-
import { ILoader, LoaderHeader } from "@fluidframework/container-definitions";
|
|
10
|
-
import { UsageError } from "@fluidframework/container-utils";
|
|
11
|
-
import { DriverHeader } from "@fluidframework/driver-definitions";
|
|
12
|
-
import { requestFluidObject } from "@fluidframework/runtime-utils";
|
|
13
8
|
import {
|
|
9
|
+
ITelemetryLoggerExt,
|
|
14
10
|
ChildLogger,
|
|
15
11
|
IFluidErrorBase,
|
|
16
12
|
LoggingError,
|
|
17
13
|
wrapErrorAndLog,
|
|
18
14
|
} from "@fluidframework/telemetry-utils";
|
|
15
|
+
import { ILoader, LoaderHeader } from "@fluidframework/container-definitions";
|
|
16
|
+
import { UsageError } from "@fluidframework/container-utils";
|
|
17
|
+
import { DriverHeader } from "@fluidframework/driver-definitions";
|
|
18
|
+
import { requestFluidObject } from "@fluidframework/runtime-utils";
|
|
19
19
|
import { FluidObject, IFluidHandleContext, IRequest } from "@fluidframework/core-interfaces";
|
|
20
20
|
import { ISummaryConfiguration } from "../containerRuntime";
|
|
21
21
|
import { ICancellableSummarizerController } from "./runWhileConnectedCoordinator";
|
|
@@ -47,7 +47,7 @@ export class SummarizingWarning
|
|
|
47
47
|
super(errorMessage);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
static wrap(error: any, logged: boolean = false, logger:
|
|
50
|
+
static wrap(error: any, logged: boolean = false, logger: ITelemetryLoggerExt) {
|
|
51
51
|
const newErrorFn = (errMsg: string) => new SummarizingWarning(errMsg, logged);
|
|
52
52
|
return wrapErrorAndLog<SummarizingWarning>(error, newErrorFn, logger);
|
|
53
53
|
}
|
|
@@ -66,7 +66,7 @@ export class Summarizer extends EventEmitter implements ISummarizer {
|
|
|
66
66
|
return this;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
private readonly logger:
|
|
69
|
+
private readonly logger: ITelemetryLoggerExt;
|
|
70
70
|
private runningSummarizer?: RunningSummarizer;
|
|
71
71
|
private _disposed: boolean = false;
|
|
72
72
|
private starting: boolean = false;
|
|
@@ -152,7 +152,7 @@ export class Summarizer extends EventEmitter implements ISummarizer {
|
|
|
152
152
|
// This will result in "summarizerClientDisconnected" stop reason recorded in telemetry,
|
|
153
153
|
// unless stop() was called earlier
|
|
154
154
|
this.dispose();
|
|
155
|
-
|
|
155
|
+
this.runtime.disposeFn();
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
private async runCore(onBehalfOf: string): Promise<SummarizerStopReason> {
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { IEvent, IEventProvider
|
|
6
|
+
import { IEvent, IEventProvider } from "@fluidframework/common-definitions";
|
|
7
|
+
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
7
8
|
import { TypedEventEmitter } from "@fluidframework/common-utils";
|
|
8
9
|
import { IClientDetails, MessageType } from "@fluidframework/protocol-definitions";
|
|
9
10
|
import {
|
|
@@ -55,7 +56,7 @@ export class SummarizerClientElection
|
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
constructor(
|
|
58
|
-
private readonly logger:
|
|
59
|
+
private readonly logger: ITelemetryLoggerExt,
|
|
59
60
|
private readonly summaryCollection: IEventProvider<ISummaryCollectionOpEvents>,
|
|
60
61
|
public readonly clientElection: IOrderedClientElection,
|
|
61
62
|
private readonly maxOpsSinceLastSummary: number,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
7
7
|
import { Timer } from "@fluidframework/common-utils";
|
|
8
8
|
import { ISummaryConfigurationHeuristics } from "../containerRuntime";
|
|
9
9
|
import {
|
|
@@ -103,7 +103,7 @@ export class SummarizeHeuristicRunner implements ISummarizeHeuristicRunner {
|
|
|
103
103
|
private readonly heuristicData: ISummarizeHeuristicData,
|
|
104
104
|
private readonly configuration: ISummaryConfigurationHeuristics,
|
|
105
105
|
trySummarize: (reason: SummarizeReason) => void,
|
|
106
|
-
private readonly logger:
|
|
106
|
+
private readonly logger: ITelemetryLoggerExt,
|
|
107
107
|
private readonly summarizeStrategies: ISummaryHeuristicStrategy[] = getDefaultSummaryHeuristicStrategies(),
|
|
108
108
|
) {
|
|
109
109
|
this.idleTimer = new Timer(this.idleTime, () => this.runSummarize("idle"));
|
|
@@ -20,7 +20,14 @@ import {
|
|
|
20
20
|
ISnapshotTree,
|
|
21
21
|
SummaryObject,
|
|
22
22
|
} from "@fluidframework/protocol-definitions";
|
|
23
|
-
import { ITelemetryErrorEvent
|
|
23
|
+
import { ITelemetryErrorEvent } from "@fluidframework/common-definitions";
|
|
24
|
+
import {
|
|
25
|
+
ITelemetryLoggerExt,
|
|
26
|
+
ChildLogger,
|
|
27
|
+
LoggingError,
|
|
28
|
+
PerformanceEvent,
|
|
29
|
+
TelemetryDataTag,
|
|
30
|
+
} from "@fluidframework/telemetry-utils";
|
|
24
31
|
import { assert, unreachableCase } from "@fluidframework/common-utils";
|
|
25
32
|
import {
|
|
26
33
|
convertToSummaryTree,
|
|
@@ -28,12 +35,6 @@ import {
|
|
|
28
35
|
mergeStats,
|
|
29
36
|
ReadAndParseBlob,
|
|
30
37
|
} from "@fluidframework/runtime-utils";
|
|
31
|
-
import {
|
|
32
|
-
ChildLogger,
|
|
33
|
-
LoggingError,
|
|
34
|
-
PerformanceEvent,
|
|
35
|
-
TelemetryDataTag,
|
|
36
|
-
} from "@fluidframework/telemetry-utils";
|
|
37
38
|
import {
|
|
38
39
|
EscapedPath,
|
|
39
40
|
ICreateChildDetails,
|
|
@@ -76,21 +77,21 @@ export class SummarizerNode implements IRootSummarizerNode {
|
|
|
76
77
|
private wipLocalPaths: { localPath: EscapedPath; additionalPath?: EscapedPath } | undefined;
|
|
77
78
|
private wipSkipRecursion = false;
|
|
78
79
|
|
|
79
|
-
protected readonly logger:
|
|
80
|
+
protected readonly logger: ITelemetryLoggerExt;
|
|
80
81
|
|
|
81
82
|
/**
|
|
82
83
|
* Do not call constructor directly.
|
|
83
84
|
* Use createRootSummarizerNode to create root node, or createChild to create child nodes.
|
|
84
85
|
*/
|
|
85
86
|
public constructor(
|
|
86
|
-
baseLogger:
|
|
87
|
+
baseLogger: ITelemetryLoggerExt,
|
|
87
88
|
private readonly summarizeInternalFn: SummarizeInternalFn,
|
|
88
89
|
config: ISummarizerNodeConfig,
|
|
89
90
|
private _changeSequenceNumber: number,
|
|
90
91
|
/** Undefined means created without summary */
|
|
91
92
|
private _latestSummary?: SummaryNode,
|
|
92
93
|
private readonly initialSummary?: IInitialSummary,
|
|
93
|
-
protected wipSummaryLogger?:
|
|
94
|
+
protected wipSummaryLogger?: ITelemetryLoggerExt,
|
|
94
95
|
/** A unique id of this node to be logged when sending telemetry. */
|
|
95
96
|
protected telemetryNodeId?: string,
|
|
96
97
|
) {
|
|
@@ -106,7 +107,7 @@ export class SummarizerNode implements IRootSummarizerNode {
|
|
|
106
107
|
});
|
|
107
108
|
}
|
|
108
109
|
|
|
109
|
-
public startSummary(referenceSequenceNumber: number, summaryLogger:
|
|
110
|
+
public startSummary(referenceSequenceNumber: number, summaryLogger: ITelemetryLoggerExt) {
|
|
110
111
|
assert(
|
|
111
112
|
this.wipSummaryLogger === undefined,
|
|
112
113
|
0x19f /* "wipSummaryLogger should not be set yet in startSummary" */,
|
|
@@ -306,7 +307,7 @@ export class SummarizerNode implements IRootSummarizerNode {
|
|
|
306
307
|
summaryRefSeq: number,
|
|
307
308
|
fetchLatestSnapshot: () => Promise<IFetchSnapshotResult>,
|
|
308
309
|
readAndParseBlob: ReadAndParseBlob,
|
|
309
|
-
correlatedSummaryLogger:
|
|
310
|
+
correlatedSummaryLogger: ITelemetryLoggerExt,
|
|
310
311
|
): Promise<RefreshSummaryResult> {
|
|
311
312
|
const eventProps: {
|
|
312
313
|
proposalHandle: string | undefined;
|
|
@@ -449,7 +450,7 @@ export class SummarizerNode implements IRootSummarizerNode {
|
|
|
449
450
|
snapshotTree: ISnapshotTree,
|
|
450
451
|
basePath: EscapedPath | undefined,
|
|
451
452
|
localPath: EscapedPath,
|
|
452
|
-
correlatedSummaryLogger:
|
|
453
|
+
correlatedSummaryLogger: ITelemetryLoggerExt,
|
|
453
454
|
readAndParseBlob: ReadAndParseBlob,
|
|
454
455
|
): Promise<void> {
|
|
455
456
|
// Possible re-entrancy. If we have already seen a summary later than this one, ignore it.
|
|
@@ -746,7 +747,7 @@ export class SummarizerNode implements IRootSummarizerNode {
|
|
|
746
747
|
* @param config - Configure behavior of summarizer node
|
|
747
748
|
*/
|
|
748
749
|
export const createRootSummarizerNode = (
|
|
749
|
-
logger:
|
|
750
|
+
logger: ITelemetryLoggerExt,
|
|
750
751
|
summarizeInternalFn: SummarizeInternalFn,
|
|
751
752
|
changeSequenceNumber: number,
|
|
752
753
|
referenceSequenceNumber: number | undefined,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
7
7
|
import { ISnapshotTree, ISummaryTree, SummaryObject } from "@fluidframework/protocol-definitions";
|
|
8
8
|
import { channelsTreeName, ISummaryTreeWithStats } from "@fluidframework/runtime-definitions";
|
|
9
9
|
import { ReadAndParseBlob } from "@fluidframework/runtime-utils";
|
|
@@ -43,7 +43,7 @@ export interface IFetchSnapshotResult {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
export interface ISummarizerNodeRootContract {
|
|
46
|
-
startSummary(referenceSequenceNumber: number, summaryLogger:
|
|
46
|
+
startSummary(referenceSequenceNumber: number, summaryLogger: ITelemetryLoggerExt): void;
|
|
47
47
|
completeSummary(proposalHandle: string): void;
|
|
48
48
|
clearSummary(): void;
|
|
49
49
|
refreshLatestSummary(
|
|
@@ -51,7 +51,7 @@ export interface ISummarizerNodeRootContract {
|
|
|
51
51
|
summaryRefSeq: number,
|
|
52
52
|
fetchLatestSnapshot: () => Promise<IFetchSnapshotResult>,
|
|
53
53
|
readAndParseBlob: ReadAndParseBlob,
|
|
54
|
-
correlatedSummaryLogger:
|
|
54
|
+
correlatedSummaryLogger: ITelemetryLoggerExt,
|
|
55
55
|
): Promise<RefreshSummaryResult>;
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
ITelemetryLoggerExt,
|
|
8
|
+
LoggingError,
|
|
9
|
+
TelemetryDataTag,
|
|
10
|
+
} from "@fluidframework/telemetry-utils";
|
|
7
11
|
import { assert, LazyPromise } from "@fluidframework/common-utils";
|
|
8
12
|
import { ISnapshotTree } from "@fluidframework/protocol-definitions";
|
|
9
13
|
import {
|
|
@@ -19,7 +23,6 @@ import {
|
|
|
19
23
|
ITelemetryContext,
|
|
20
24
|
IExperimentalIncrementalSummaryContext,
|
|
21
25
|
} from "@fluidframework/runtime-definitions";
|
|
22
|
-
import { LoggingError, TelemetryDataTag } from "@fluidframework/telemetry-utils";
|
|
23
26
|
import { ReadAndParseBlob, unpackChildNodesUsedRoutes } from "@fluidframework/runtime-utils";
|
|
24
27
|
import {
|
|
25
28
|
cloneGCData,
|
|
@@ -102,7 +105,7 @@ export class SummarizerNodeWithGC extends SummarizerNode implements IRootSummari
|
|
|
102
105
|
* Use createRootSummarizerNodeWithGC to create root node, or createChild to create child nodes.
|
|
103
106
|
*/
|
|
104
107
|
public constructor(
|
|
105
|
-
logger:
|
|
108
|
+
logger: ITelemetryLoggerExt,
|
|
106
109
|
private readonly summarizeFn: (
|
|
107
110
|
fullTree: boolean,
|
|
108
111
|
trackState: boolean,
|
|
@@ -114,7 +117,7 @@ export class SummarizerNodeWithGC extends SummarizerNode implements IRootSummari
|
|
|
114
117
|
/** Undefined means created without summary */
|
|
115
118
|
latestSummary?: SummaryNode,
|
|
116
119
|
initialSummary?: IInitialSummary,
|
|
117
|
-
wipSummaryLogger?:
|
|
120
|
+
wipSummaryLogger?: ITelemetryLoggerExt,
|
|
118
121
|
private readonly getGCDataFn?: (fullGC?: boolean) => Promise<IGarbageCollectionData>,
|
|
119
122
|
getBaseGCDetailsFn?: () => Promise<IGarbageCollectionDetailsBase>,
|
|
120
123
|
/** A unique id of this node to be logged when sending telemetry. */
|
|
@@ -241,7 +244,7 @@ export class SummarizerNodeWithGC extends SummarizerNode implements IRootSummari
|
|
|
241
244
|
/**
|
|
242
245
|
* Called during the start of a summary. Updates the work-in-progress used routes.
|
|
243
246
|
*/
|
|
244
|
-
public startSummary(referenceSequenceNumber: number, summaryLogger:
|
|
247
|
+
public startSummary(referenceSequenceNumber: number, summaryLogger: ITelemetryLoggerExt) {
|
|
245
248
|
// If GC is disabled, skip setting wip used routes since we should not track GC state.
|
|
246
249
|
if (!this.gcDisabled) {
|
|
247
250
|
assert(
|
|
@@ -352,7 +355,7 @@ export class SummarizerNodeWithGC extends SummarizerNode implements IRootSummari
|
|
|
352
355
|
snapshotTree: ISnapshotTree,
|
|
353
356
|
basePath: EscapedPath | undefined,
|
|
354
357
|
localPath: EscapedPath,
|
|
355
|
-
correlatedSummaryLogger:
|
|
358
|
+
correlatedSummaryLogger: ITelemetryLoggerExt,
|
|
356
359
|
readAndParseBlob: ReadAndParseBlob,
|
|
357
360
|
): Promise<void> {
|
|
358
361
|
await this.refreshGCStateFromSnapshot(
|
|
@@ -620,7 +623,7 @@ export class SummarizerNodeWithGC extends SummarizerNode implements IRootSummari
|
|
|
620
623
|
* @param baseGCDetailsP - Function to get the initial GC details of this node
|
|
621
624
|
*/
|
|
622
625
|
export const createRootSummarizerNodeWithGC = (
|
|
623
|
-
logger:
|
|
626
|
+
logger: ITelemetryLoggerExt,
|
|
624
627
|
summarizeInternalFn: SummarizeInternalFn,
|
|
625
628
|
changeSequenceNumber: number,
|
|
626
629
|
referenceSequenceNumber: number | undefined,
|
|
@@ -3,13 +3,8 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
IEventProvider,
|
|
9
|
-
ITelemetryLogger,
|
|
10
|
-
ITelemetryProperties,
|
|
11
|
-
} from "@fluidframework/common-definitions";
|
|
12
|
-
import { ITelemetryLoggerPropertyBag } from "@fluidframework/telemetry-utils";
|
|
6
|
+
import { IEvent, IEventProvider, ITelemetryProperties } from "@fluidframework/common-definitions";
|
|
7
|
+
import { ITelemetryLoggerExt, ITelemetryLoggerPropertyBag } from "@fluidframework/telemetry-utils";
|
|
13
8
|
import { ContainerWarning, IDeltaManager } from "@fluidframework/container-definitions";
|
|
14
9
|
import {
|
|
15
10
|
ISequencedDocumentMessage,
|
|
@@ -72,17 +67,17 @@ export interface IConnectableRuntime {
|
|
|
72
67
|
}
|
|
73
68
|
|
|
74
69
|
export interface ISummarizerRuntime extends IConnectableRuntime {
|
|
75
|
-
readonly logger:
|
|
70
|
+
readonly logger: ITelemetryLoggerExt;
|
|
76
71
|
/** clientId of parent (non-summarizing) container that owns summarizer container */
|
|
77
72
|
readonly summarizerClientId: string | undefined;
|
|
78
73
|
readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
|
|
79
|
-
disposeFn
|
|
74
|
+
disposeFn(): void;
|
|
80
75
|
closeFn(): void;
|
|
81
|
-
on
|
|
76
|
+
on(
|
|
82
77
|
event: "op",
|
|
83
78
|
listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void,
|
|
84
79
|
): this;
|
|
85
|
-
off
|
|
80
|
+
off(
|
|
86
81
|
event: "op",
|
|
87
82
|
listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void,
|
|
88
83
|
): this;
|
|
@@ -107,12 +102,12 @@ export interface IRefreshSummaryAckOptions {
|
|
|
107
102
|
/** Reference sequence number from the ack's summary op */
|
|
108
103
|
readonly summaryRefSeq: number;
|
|
109
104
|
/** Telemetry logger to which telemetry events will be forwarded. */
|
|
110
|
-
readonly summaryLogger:
|
|
105
|
+
readonly summaryLogger: ITelemetryLoggerExt;
|
|
111
106
|
}
|
|
112
107
|
|
|
113
108
|
export interface ISubmitSummaryOptions extends ISummarizeOptions {
|
|
114
109
|
/** Logger to use for correlated summary events */
|
|
115
|
-
readonly summaryLogger:
|
|
110
|
+
readonly summaryLogger: ITelemetryLoggerExt;
|
|
116
111
|
/** Tells when summary process should be cancelled */
|
|
117
112
|
readonly cancellationToken: ISummaryCancellationToken;
|
|
118
113
|
}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { IDisposable, IEvent
|
|
6
|
+
import { IDisposable, IEvent } from "@fluidframework/common-definitions";
|
|
7
|
+
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
7
8
|
import { Deferred, assert, TypedEventEmitter } from "@fluidframework/common-utils";
|
|
8
9
|
import { IDeltaManager } from "@fluidframework/container-definitions";
|
|
9
10
|
import {
|
|
@@ -256,7 +257,7 @@ export class SummaryCollection extends TypedEventEmitter<ISummaryCollectionOpEve
|
|
|
256
257
|
|
|
257
258
|
public constructor(
|
|
258
259
|
private readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>,
|
|
259
|
-
private readonly logger:
|
|
260
|
+
private readonly logger: ITelemetryLoggerExt,
|
|
260
261
|
) {
|
|
261
262
|
super();
|
|
262
263
|
this.deltaManager.on("op", (op) => this.handleOp(op));
|
|
@@ -3,7 +3,12 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
ITelemetryLoggerExt,
|
|
8
|
+
PerformanceEvent,
|
|
9
|
+
LoggingError,
|
|
10
|
+
ChildLogger,
|
|
11
|
+
} from "@fluidframework/telemetry-utils";
|
|
7
12
|
import {
|
|
8
13
|
assert,
|
|
9
14
|
Deferred,
|
|
@@ -12,7 +17,6 @@ import {
|
|
|
12
17
|
Timer,
|
|
13
18
|
} from "@fluidframework/common-utils";
|
|
14
19
|
import { MessageType } from "@fluidframework/protocol-definitions";
|
|
15
|
-
import { PerformanceEvent, LoggingError, ChildLogger } from "@fluidframework/telemetry-utils";
|
|
16
20
|
import { getRetryDelaySecondsFromError } from "@fluidframework/driver-utils";
|
|
17
21
|
import { DriverErrorType } from "@fluidframework/driver-definitions";
|
|
18
22
|
import {
|
|
@@ -177,7 +181,7 @@ export class SummaryGenerator {
|
|
|
177
181
|
) => Promise<SubmitSummaryResult>,
|
|
178
182
|
private readonly successfulSummaryCallback: () => void,
|
|
179
183
|
private readonly summaryWatcher: Pick<IClientSummaryWatcher, "watchSummary">,
|
|
180
|
-
private readonly logger:
|
|
184
|
+
private readonly logger: ITelemetryLoggerExt,
|
|
181
185
|
) {
|
|
182
186
|
this.summarizeTimer = new Timer(maxSummarizeTimeoutTime, () =>
|
|
183
187
|
this.summarizeTimerHandler(maxSummarizeTimeoutTime, 1),
|
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
IDisposable,
|
|
8
|
-
IEvent,
|
|
9
|
-
IEventProvider,
|
|
10
|
-
ITelemetryLogger,
|
|
11
|
-
} from "@fluidframework/common-definitions";
|
|
6
|
+
import { IDisposable, IEvent, IEventProvider } from "@fluidframework/common-definitions";
|
|
12
7
|
import { assert } from "@fluidframework/common-utils";
|
|
13
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
ChildLogger,
|
|
10
|
+
ITelemetryLoggerExt,
|
|
11
|
+
PerformanceEvent,
|
|
12
|
+
} from "@fluidframework/telemetry-utils";
|
|
14
13
|
import { DriverErrorType } from "@fluidframework/driver-definitions";
|
|
15
14
|
import { IThrottler } from "../throttler";
|
|
16
15
|
import { ISummarizerClientElection } from "./summarizerClientElection";
|
|
@@ -74,7 +73,7 @@ export interface ISummaryManagerConfig {
|
|
|
74
73
|
* stopping existing summarizer client.
|
|
75
74
|
*/
|
|
76
75
|
export class SummaryManager implements IDisposable {
|
|
77
|
-
private readonly logger:
|
|
76
|
+
private readonly logger: ITelemetryLoggerExt;
|
|
78
77
|
private readonly opsToBypassInitialDelay: number;
|
|
79
78
|
private readonly initialDelayMs: number;
|
|
80
79
|
private latestClientId: string | undefined;
|
|
@@ -97,7 +96,7 @@ export class SummaryManager implements IDisposable {
|
|
|
97
96
|
SummaryCollection,
|
|
98
97
|
"opsSinceLastAck" | "addOpListener" | "removeOpListener"
|
|
99
98
|
>,
|
|
100
|
-
parentLogger:
|
|
99
|
+
parentLogger: ITelemetryLoggerExt,
|
|
101
100
|
/** Creates summarizer by asking interactive container to spawn summarizing container and
|
|
102
101
|
* get back its Summarizer instance. */
|
|
103
102
|
private readonly requestSummarizerFn: () => Promise<ISummarizer>,
|