@fluidframework/container-runtime 0.56.5 → 0.57.0

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.
Files changed (95) hide show
  1. package/dist/blobManager.d.ts.map +1 -1
  2. package/dist/blobManager.js +9 -1
  3. package/dist/blobManager.js.map +1 -1
  4. package/dist/connectionTelemetry.d.ts.map +1 -1
  5. package/dist/connectionTelemetry.js +6 -6
  6. package/dist/connectionTelemetry.js.map +1 -1
  7. package/dist/containerRuntime.d.ts +67 -26
  8. package/dist/containerRuntime.d.ts.map +1 -1
  9. package/dist/containerRuntime.js +146 -87
  10. package/dist/containerRuntime.js.map +1 -1
  11. package/dist/dataStore.d.ts +62 -0
  12. package/dist/dataStore.d.ts.map +1 -0
  13. package/dist/dataStore.js +135 -0
  14. package/dist/dataStore.js.map +1 -0
  15. package/dist/dataStoreContext.js.map +1 -1
  16. package/dist/dataStores.d.ts +9 -5
  17. package/dist/dataStores.d.ts.map +1 -1
  18. package/dist/dataStores.js +14 -19
  19. package/dist/dataStores.js.map +1 -1
  20. package/dist/garbageCollection.d.ts +66 -27
  21. package/dist/garbageCollection.d.ts.map +1 -1
  22. package/dist/garbageCollection.js +272 -97
  23. package/dist/garbageCollection.js.map +1 -1
  24. package/dist/index.d.ts +3 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +4 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/packageVersion.d.ts +1 -1
  29. package/dist/packageVersion.js +1 -1
  30. package/dist/packageVersion.js.map +1 -1
  31. package/dist/runningSummarizer.d.ts +1 -0
  32. package/dist/runningSummarizer.d.ts.map +1 -1
  33. package/dist/runningSummarizer.js +23 -15
  34. package/dist/runningSummarizer.js.map +1 -1
  35. package/dist/summarizerTypes.d.ts +4 -6
  36. package/dist/summarizerTypes.d.ts.map +1 -1
  37. package/dist/summarizerTypes.js.map +1 -1
  38. package/dist/summaryGenerator.d.ts +2 -1
  39. package/dist/summaryGenerator.d.ts.map +1 -1
  40. package/dist/summaryGenerator.js +46 -29
  41. package/dist/summaryGenerator.js.map +1 -1
  42. package/lib/blobManager.d.ts.map +1 -1
  43. package/lib/blobManager.js +9 -1
  44. package/lib/blobManager.js.map +1 -1
  45. package/lib/connectionTelemetry.d.ts.map +1 -1
  46. package/lib/connectionTelemetry.js +6 -6
  47. package/lib/connectionTelemetry.js.map +1 -1
  48. package/lib/containerRuntime.d.ts +67 -26
  49. package/lib/containerRuntime.d.ts.map +1 -1
  50. package/lib/containerRuntime.js +147 -88
  51. package/lib/containerRuntime.js.map +1 -1
  52. package/lib/dataStore.d.ts +62 -0
  53. package/lib/dataStore.d.ts.map +1 -0
  54. package/lib/dataStore.js +130 -0
  55. package/lib/dataStore.js.map +1 -0
  56. package/lib/dataStoreContext.js.map +1 -1
  57. package/lib/dataStores.d.ts +9 -5
  58. package/lib/dataStores.d.ts.map +1 -1
  59. package/lib/dataStores.js +13 -18
  60. package/lib/dataStores.js.map +1 -1
  61. package/lib/garbageCollection.d.ts +66 -27
  62. package/lib/garbageCollection.d.ts.map +1 -1
  63. package/lib/garbageCollection.js +274 -99
  64. package/lib/garbageCollection.js.map +1 -1
  65. package/lib/index.d.ts +3 -2
  66. package/lib/index.d.ts.map +1 -1
  67. package/lib/index.js +2 -1
  68. package/lib/index.js.map +1 -1
  69. package/lib/packageVersion.d.ts +1 -1
  70. package/lib/packageVersion.js +1 -1
  71. package/lib/packageVersion.js.map +1 -1
  72. package/lib/runningSummarizer.d.ts +1 -0
  73. package/lib/runningSummarizer.d.ts.map +1 -1
  74. package/lib/runningSummarizer.js +23 -15
  75. package/lib/runningSummarizer.js.map +1 -1
  76. package/lib/summarizerTypes.d.ts +4 -6
  77. package/lib/summarizerTypes.d.ts.map +1 -1
  78. package/lib/summarizerTypes.js.map +1 -1
  79. package/lib/summaryGenerator.d.ts +2 -1
  80. package/lib/summaryGenerator.d.ts.map +1 -1
  81. package/lib/summaryGenerator.js +46 -29
  82. package/lib/summaryGenerator.js.map +1 -1
  83. package/package.json +13 -13
  84. package/src/blobManager.ts +12 -1
  85. package/src/connectionTelemetry.ts +7 -6
  86. package/src/containerRuntime.ts +244 -113
  87. package/src/dataStore.ts +187 -0
  88. package/src/dataStoreContext.ts +1 -1
  89. package/src/dataStores.ts +23 -38
  90. package/src/garbageCollection.ts +385 -150
  91. package/src/index.ts +3 -1
  92. package/src/packageVersion.ts +1 -1
  93. package/src/runningSummarizer.ts +25 -16
  94. package/src/summarizerTypes.ts +4 -8
  95. package/src/summaryGenerator.ts +71 -23
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/container-runtime",
3
- "version": "0.56.5",
3
+ "version": "0.57.0",
4
4
  "description": "Fluid container runtime",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": "https://github.com/microsoft/FluidFramework",
@@ -58,27 +58,27 @@
58
58
  "dependencies": {
59
59
  "@fluidframework/common-definitions": "^0.20.1",
60
60
  "@fluidframework/common-utils": "^0.32.1",
61
- "@fluidframework/container-definitions": "^0.45.0",
62
- "@fluidframework/container-runtime-definitions": "^0.56.5",
63
- "@fluidframework/container-utils": "^0.56.5",
61
+ "@fluidframework/container-definitions": "^0.46.0",
62
+ "@fluidframework/container-runtime-definitions": "^0.57.0",
63
+ "@fluidframework/container-utils": "^0.57.0",
64
64
  "@fluidframework/core-interfaces": "^0.42.0",
65
- "@fluidframework/datastore": "^0.56.5",
65
+ "@fluidframework/datastore": "^0.57.0",
66
66
  "@fluidframework/driver-definitions": "^0.44.0",
67
- "@fluidframework/driver-utils": "^0.56.5",
68
- "@fluidframework/garbage-collector": "^0.56.5",
67
+ "@fluidframework/driver-utils": "^0.57.0",
68
+ "@fluidframework/garbage-collector": "^0.57.0",
69
69
  "@fluidframework/protocol-base": "^0.1034.0",
70
70
  "@fluidframework/protocol-definitions": "^0.1026.0",
71
- "@fluidframework/runtime-definitions": "^0.56.5",
72
- "@fluidframework/runtime-utils": "^0.56.5",
73
- "@fluidframework/telemetry-utils": "^0.56.5",
71
+ "@fluidframework/runtime-definitions": "^0.57.0",
72
+ "@fluidframework/runtime-utils": "^0.57.0",
73
+ "@fluidframework/telemetry-utils": "^0.57.0",
74
74
  "double-ended-queue": "^2.1.0-0",
75
75
  "uuid": "^8.3.1"
76
76
  },
77
77
  "devDependencies": {
78
78
  "@fluidframework/build-common": "^0.23.0",
79
- "@fluidframework/eslint-config-fluid": "^0.25.0",
80
- "@fluidframework/mocha-test-setup": "^0.56.5",
81
- "@fluidframework/test-runtime-utils": "^0.56.5",
79
+ "@fluidframework/eslint-config-fluid": "^0.26.0",
80
+ "@fluidframework/mocha-test-setup": "^0.57.0",
81
+ "@fluidframework/test-runtime-utils": "^0.57.0",
82
82
  "@microsoft/api-extractor": "^7.16.1",
83
83
  "@rushstack/eslint-config": "^2.5.1",
84
84
  "@types/double-ended-queue": "^2.1.0",
@@ -96,7 +96,18 @@ export class BlobManager {
96
96
  return new BlobHandle(
97
97
  `${BlobManager.basePath}/${storageId}`,
98
98
  this.routeContext,
99
- async () => this.getStorage().readBlob(storageId),
99
+ async () => {
100
+ return this.getStorage().readBlob(storageId).catch((error) => {
101
+ this.logger.sendErrorEvent(
102
+ {
103
+ eventName:"AttachmentReadBlobError",
104
+ id: storageId,
105
+ },
106
+ error,
107
+ );
108
+ throw error;
109
+ });
110
+ },
100
111
  );
101
112
  }
102
113
 
@@ -19,7 +19,7 @@ export const latencyThreshold = 5000;
19
19
 
20
20
  class OpPerfTelemetry {
21
21
  private pongCount: number = 0;
22
- private socketLatency = 0;
22
+ private pingLatency: number | undefined;
23
23
 
24
24
  // Collab window tracking. This is timestamp of %1000 message.
25
25
  private opSendTimeForLatencyStatisticsForMsnStatistics: number | undefined;
@@ -61,6 +61,7 @@ class OpPerfTelemetry {
61
61
  }
62
62
  });
63
63
  this.deltaManager.on("disconnect", () => {
64
+ this.opSendTimeForLatencyStatisticsForMsnStatistics = undefined;
64
65
  this.clientSequenceNumberForLatencyStatistics = undefined;
65
66
  this.connectionOpSeqNumber = undefined;
66
67
  this.firstConnection = false;
@@ -99,15 +100,14 @@ class OpPerfTelemetry {
99
100
 
100
101
  private recordPingTime(latency: number) {
101
102
  this.pongCount++;
102
- this.socketLatency += latency;
103
- const aggregateCount = 100;
104
- if (this.pongCount === aggregateCount) {
103
+ this.pingLatency = latency;
104
+ // logging one in every 100 pongs
105
+ if (this.pongCount === 100) {
105
106
  this.logger.sendPerformanceEvent({
106
107
  eventName: "DeltaLatency",
107
- duration: this.socketLatency / aggregateCount,
108
+ duration: latency,
108
109
  });
109
110
  this.pongCount = 0;
110
- this.socketLatency = 0;
111
111
  }
112
112
  }
113
113
 
@@ -161,6 +161,7 @@ class OpPerfTelemetry {
161
161
  referenceSequenceNumber: message.referenceSequenceNumber,
162
162
  duration,
163
163
  category,
164
+ pingLatency: this.pingLatency,
164
165
  });
165
166
  this.clientSequenceNumberForLatencyStatistics = undefined;
166
167
  }