@fluidframework/container-runtime 0.58.1001 → 0.58.2001
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/dist/batchTracker.d.ts +1 -1
- package/dist/batchTracker.d.ts.map +1 -1
- package/dist/batchTracker.js.map +1 -1
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +8 -3
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +17 -14
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +41 -31
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStores.d.ts.map +1 -1
- package/dist/dataStores.js +4 -2
- package/dist/dataStores.js.map +1 -1
- package/dist/garbageCollection.d.ts +1 -1
- package/dist/garbageCollection.d.ts.map +1 -1
- package/dist/garbageCollection.js +3 -4
- package/dist/garbageCollection.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/runningSummarizer.d.ts.map +1 -1
- package/dist/runningSummarizer.js +1 -1
- package/dist/runningSummarizer.js.map +1 -1
- package/dist/summarizerClientElection.d.ts.map +1 -1
- package/dist/summarizerClientElection.js +1 -0
- package/dist/summarizerClientElection.js.map +1 -1
- package/dist/summarizerTypes.d.ts +13 -1
- package/dist/summarizerTypes.d.ts.map +1 -1
- package/dist/summarizerTypes.js.map +1 -1
- package/dist/summaryGenerator.d.ts +3 -3
- package/dist/summaryGenerator.d.ts.map +1 -1
- package/dist/summaryGenerator.js +1 -0
- package/dist/summaryGenerator.js.map +1 -1
- package/dist/summaryManager.d.ts.map +1 -1
- package/dist/summaryManager.js.map +1 -1
- package/lib/batchTracker.d.ts +1 -1
- package/lib/batchTracker.d.ts.map +1 -1
- package/lib/batchTracker.js.map +1 -1
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +8 -3
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +17 -14
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +41 -31
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStores.d.ts.map +1 -1
- package/lib/dataStores.js +4 -2
- package/lib/dataStores.js.map +1 -1
- package/lib/garbageCollection.d.ts +1 -1
- package/lib/garbageCollection.d.ts.map +1 -1
- package/lib/garbageCollection.js +1 -2
- package/lib/garbageCollection.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/runningSummarizer.d.ts.map +1 -1
- package/lib/runningSummarizer.js +1 -1
- package/lib/runningSummarizer.js.map +1 -1
- package/lib/summarizerClientElection.d.ts.map +1 -1
- package/lib/summarizerClientElection.js +1 -0
- package/lib/summarizerClientElection.js.map +1 -1
- package/lib/summarizerTypes.d.ts +13 -1
- package/lib/summarizerTypes.d.ts.map +1 -1
- package/lib/summarizerTypes.js.map +1 -1
- package/lib/summaryGenerator.d.ts +3 -3
- package/lib/summaryGenerator.d.ts.map +1 -1
- package/lib/summaryGenerator.js +1 -0
- package/lib/summaryGenerator.js.map +1 -1
- package/lib/summaryManager.d.ts.map +1 -1
- package/lib/summaryManager.js.map +1 -1
- package/package.json +17 -13
- package/src/batchTracker.ts +2 -2
- package/src/containerRuntime.ts +4 -1
- package/src/dataStore.ts +1 -1
- package/src/dataStoreContext.ts +38 -36
- package/src/dataStores.ts +2 -1
- package/src/garbageCollection.ts +5 -6
- package/src/packageVersion.ts +1 -1
- package/src/runningSummarizer.ts +5 -4
- package/src/summarizerClientElection.ts +1 -0
- package/src/summarizerTypes.ts +18 -0
- package/src/summaryGenerator.ts +41 -5
- package/src/summaryManager.ts +0 -1
package/src/summaryGenerator.ts
CHANGED
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
SubmitSummaryResult,
|
|
27
27
|
SummarizeResultPart,
|
|
28
28
|
ISummaryCancellationToken,
|
|
29
|
+
ISummarizeTelemetryProperties,
|
|
29
30
|
} from "./summarizerTypes";
|
|
30
31
|
import { IClientSummaryWatcher } from "./summaryCollection";
|
|
31
32
|
|
|
@@ -54,6 +55,40 @@ export async function raceTimer<T>(
|
|
|
54
55
|
const maxSummarizeTimeoutTime = 20000; // 20 sec
|
|
55
56
|
const maxSummarizeTimeoutCount = 5; // Double and resend 5 times
|
|
56
57
|
|
|
58
|
+
type SummaryGeneratorRequiredTelemetryProperties =
|
|
59
|
+
/** True to generate the full tree with no handle reuse optimizations */
|
|
60
|
+
"fullTree" |
|
|
61
|
+
/** Time since we last attempted to generate a summary */
|
|
62
|
+
"timeSinceLastAttempt" |
|
|
63
|
+
/** Time since we last successfully generated a summary */
|
|
64
|
+
"timeSinceLastSummary";
|
|
65
|
+
type SummaryGeneratorOptionalTelemetryProperties =
|
|
66
|
+
/** Reference sequence number as of the generate summary attempt. */
|
|
67
|
+
"referenceSequenceNumber" |
|
|
68
|
+
/** Delta between the current reference sequence number and the reference sequence number of the last attempt */
|
|
69
|
+
"opsSinceLastAttempt" |
|
|
70
|
+
/** Delta between the current reference sequence number and the reference sequence number of the last summary */
|
|
71
|
+
"opsSinceLastSummary" |
|
|
72
|
+
/** Time it took to generate the summary tree and stats. */
|
|
73
|
+
"generateDuration" |
|
|
74
|
+
/** The handle returned by storage pointing to the uploaded summary tree. */
|
|
75
|
+
"handle" |
|
|
76
|
+
/** Time it took to upload the summary tree to storage. */
|
|
77
|
+
"uploadDuration" |
|
|
78
|
+
/** The client sequence number of the summarize op submitted for the summary. */
|
|
79
|
+
"clientSequenceNumber" |
|
|
80
|
+
/** Time it took for this summary to be acked after it was generated */
|
|
81
|
+
"ackWaitDuration" |
|
|
82
|
+
/** Reference sequence number of the ack/nack message */
|
|
83
|
+
"ackNackSequenceNumber" |
|
|
84
|
+
/** Actual sequence number of the summary op proposal. */
|
|
85
|
+
"summarySequenceNumber" |
|
|
86
|
+
/** Optional Retry-After time in seconds. If specified, the client should wait this many seconds before retrying. */
|
|
87
|
+
"nackRetryAfter";
|
|
88
|
+
type SummaryGeneratorTelemetry =
|
|
89
|
+
Pick<ITelemetryProperties, SummaryGeneratorRequiredTelemetryProperties> &
|
|
90
|
+
Partial<Pick<ITelemetryProperties, SummaryGeneratorOptionalTelemetryProperties>>;
|
|
91
|
+
|
|
57
92
|
export type SummarizeReason =
|
|
58
93
|
/**
|
|
59
94
|
* Attempt to summarize after idle timeout has elapsed.
|
|
@@ -171,7 +206,7 @@ export class SummaryGenerator {
|
|
|
171
206
|
* fullTree to generate tree without any summary handles even if unchanged
|
|
172
207
|
*/
|
|
173
208
|
public summarize(
|
|
174
|
-
summarizeProps:
|
|
209
|
+
summarizeProps: ISummarizeTelemetryProperties,
|
|
175
210
|
options: ISummarizeOptions,
|
|
176
211
|
cancellationToken: ISummaryCancellationToken,
|
|
177
212
|
resultsBuilder = new SummarizeResultBuilder(),
|
|
@@ -187,7 +222,7 @@ export class SummaryGenerator {
|
|
|
187
222
|
}
|
|
188
223
|
|
|
189
224
|
private async summarizeCore(
|
|
190
|
-
summarizeProps:
|
|
225
|
+
summarizeProps: ISummarizeTelemetryProperties,
|
|
191
226
|
options: ISummarizeOptions,
|
|
192
227
|
resultsBuilder: SummarizeResultBuilder,
|
|
193
228
|
cancellationToken: ISummaryCancellationToken,
|
|
@@ -197,11 +232,11 @@ export class SummaryGenerator {
|
|
|
197
232
|
|
|
198
233
|
const timeSinceLastAttempt = Date.now() - this.heuristicData.lastAttempt.summaryTime;
|
|
199
234
|
const timeSinceLastSummary = Date.now() - this.heuristicData.lastSuccessfulSummary.summaryTime;
|
|
200
|
-
let summarizeTelemetryProps:
|
|
235
|
+
let summarizeTelemetryProps: SummaryGeneratorTelemetry = {
|
|
201
236
|
fullTree,
|
|
202
237
|
timeSinceLastAttempt,
|
|
203
238
|
timeSinceLastSummary,
|
|
204
|
-
}
|
|
239
|
+
};
|
|
205
240
|
|
|
206
241
|
const summarizeEvent = PerformanceEvent.start(logger, {
|
|
207
242
|
eventName: "Summarize",
|
|
@@ -215,7 +250,7 @@ export class SummaryGenerator {
|
|
|
215
250
|
const fail = (
|
|
216
251
|
errorCode: keyof typeof summarizeErrors,
|
|
217
252
|
error?: any,
|
|
218
|
-
properties?:
|
|
253
|
+
properties?: SummaryGeneratorTelemetry,
|
|
219
254
|
nackSummaryResult?: INackSummaryResult,
|
|
220
255
|
) => {
|
|
221
256
|
this.raiseSummarizingError(summarizeErrors[errorCode]);
|
|
@@ -394,6 +429,7 @@ export class SummaryGenerator {
|
|
|
394
429
|
const message = summaryNack?.message;
|
|
395
430
|
const retryAfterSeconds = summaryNack?.retryAfter;
|
|
396
431
|
|
|
432
|
+
// pre-0.58 error message prefix: summaryNack
|
|
397
433
|
const error = new LoggingError(`Received summaryNack: ${message}`, { retryAfterSeconds });
|
|
398
434
|
logger.sendErrorEvent(
|
|
399
435
|
{ eventName: "SummaryNack", ...summarizeTelemetryProps, retryAfterSeconds }, error);
|
package/src/summaryManager.ts
CHANGED
|
@@ -99,7 +99,6 @@ export class SummaryManager implements IDisposable {
|
|
|
99
99
|
}: Readonly<Partial<ISummaryManagerConfig>> = {},
|
|
100
100
|
private readonly summarizerOptions?: Readonly<Partial<ISummarizerOptions>>,
|
|
101
101
|
) {
|
|
102
|
-
|
|
103
102
|
this.logger = ChildLogger.create(
|
|
104
103
|
parentLogger,
|
|
105
104
|
"SummaryManager",
|