@fluidframework/telemetry-utils 1.4.0-121020 → 2.0.0-dev-rc.1.0.0.224419

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 (155) hide show
  1. package/.eslintrc.js +12 -13
  2. package/.mocharc.js +12 -0
  3. package/CHANGELOG.md +249 -0
  4. package/README.md +68 -1
  5. package/api-extractor-lint.json +4 -0
  6. package/api-extractor.json +2 -2
  7. package/api-report/telemetry-utils.api.md +444 -0
  8. package/dist/config.d.ts +47 -16
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +88 -38
  11. package/dist/config.js.map +1 -1
  12. package/dist/error.d.ts +112 -0
  13. package/dist/error.d.ts.map +1 -0
  14. package/dist/error.js +159 -0
  15. package/dist/error.js.map +1 -0
  16. package/dist/errorLogging.d.ts +86 -20
  17. package/dist/errorLogging.d.ts.map +1 -1
  18. package/dist/errorLogging.js +190 -60
  19. package/dist/errorLogging.js.map +1 -1
  20. package/dist/eventEmitterWithErrorHandling.d.ts +9 -3
  21. package/dist/eventEmitterWithErrorHandling.d.ts.map +1 -1
  22. package/dist/eventEmitterWithErrorHandling.js +16 -3
  23. package/dist/eventEmitterWithErrorHandling.js.map +1 -1
  24. package/dist/events.d.ts +27 -3
  25. package/dist/events.d.ts.map +1 -1
  26. package/dist/events.js +26 -2
  27. package/dist/events.js.map +1 -1
  28. package/dist/fluidErrorBase.d.ts +57 -16
  29. package/dist/fluidErrorBase.d.ts.map +1 -1
  30. package/dist/fluidErrorBase.js +27 -14
  31. package/dist/fluidErrorBase.js.map +1 -1
  32. package/dist/index.d.ts +12 -11
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +55 -21
  35. package/dist/index.js.map +1 -1
  36. package/dist/logger.d.ts +267 -51
  37. package/dist/logger.d.ts.map +1 -1
  38. package/dist/logger.js +423 -132
  39. package/dist/logger.js.map +1 -1
  40. package/dist/mockLogger.d.ts +39 -12
  41. package/dist/mockLogger.d.ts.map +1 -1
  42. package/dist/mockLogger.js +105 -22
  43. package/dist/mockLogger.js.map +1 -1
  44. package/dist/sampledTelemetryHelper.d.ts +18 -12
  45. package/dist/sampledTelemetryHelper.d.ts.map +1 -1
  46. package/dist/sampledTelemetryHelper.js +28 -19
  47. package/dist/sampledTelemetryHelper.js.map +1 -1
  48. package/dist/telemetry-utils-alpha.d.ts +290 -0
  49. package/dist/telemetry-utils-beta.d.ts +264 -0
  50. package/dist/telemetry-utils-public.d.ts +264 -0
  51. package/dist/telemetry-utils-untrimmed.d.ts +1102 -0
  52. package/dist/telemetryTypes.d.ts +115 -0
  53. package/dist/telemetryTypes.d.ts.map +1 -0
  54. package/dist/telemetryTypes.js +7 -0
  55. package/dist/telemetryTypes.js.map +1 -0
  56. package/dist/thresholdCounter.d.ts +6 -5
  57. package/dist/thresholdCounter.d.ts.map +1 -1
  58. package/dist/thresholdCounter.js +4 -3
  59. package/dist/thresholdCounter.js.map +1 -1
  60. package/dist/tsdoc-metadata.json +11 -0
  61. package/dist/utils.d.ts +54 -3
  62. package/dist/utils.d.ts.map +1 -1
  63. package/dist/utils.js +58 -3
  64. package/dist/utils.js.map +1 -1
  65. package/lib/config.d.ts +47 -16
  66. package/lib/config.d.ts.map +1 -1
  67. package/lib/config.js +85 -36
  68. package/lib/config.js.map +1 -1
  69. package/lib/error.d.ts +112 -0
  70. package/lib/error.d.ts.map +1 -0
  71. package/lib/error.js +150 -0
  72. package/lib/error.js.map +1 -0
  73. package/lib/errorLogging.d.ts +86 -20
  74. package/lib/errorLogging.d.ts.map +1 -1
  75. package/lib/errorLogging.js +189 -60
  76. package/lib/errorLogging.js.map +1 -1
  77. package/lib/eventEmitterWithErrorHandling.d.ts +9 -3
  78. package/lib/eventEmitterWithErrorHandling.d.ts.map +1 -1
  79. package/lib/eventEmitterWithErrorHandling.js +15 -2
  80. package/lib/eventEmitterWithErrorHandling.js.map +1 -1
  81. package/lib/events.d.ts +27 -3
  82. package/lib/events.d.ts.map +1 -1
  83. package/lib/events.js +26 -2
  84. package/lib/events.js.map +1 -1
  85. package/lib/fluidErrorBase.d.ts +57 -16
  86. package/lib/fluidErrorBase.d.ts.map +1 -1
  87. package/lib/fluidErrorBase.js +27 -14
  88. package/lib/fluidErrorBase.js.map +1 -1
  89. package/lib/index.d.ts +12 -11
  90. package/lib/index.d.ts.map +1 -1
  91. package/lib/index.js +11 -11
  92. package/lib/index.js.map +1 -1
  93. package/lib/logger.d.ts +267 -51
  94. package/lib/logger.d.ts.map +1 -1
  95. package/lib/logger.js +415 -131
  96. package/lib/logger.js.map +1 -1
  97. package/lib/mockLogger.d.ts +39 -12
  98. package/lib/mockLogger.d.ts.map +1 -1
  99. package/lib/mockLogger.js +106 -23
  100. package/lib/mockLogger.js.map +1 -1
  101. package/lib/sampledTelemetryHelper.d.ts +18 -12
  102. package/lib/sampledTelemetryHelper.d.ts.map +1 -1
  103. package/lib/sampledTelemetryHelper.js +26 -17
  104. package/lib/sampledTelemetryHelper.js.map +1 -1
  105. package/lib/telemetry-utils-alpha.d.ts +290 -0
  106. package/lib/telemetry-utils-beta.d.ts +264 -0
  107. package/lib/telemetry-utils-public.d.ts +264 -0
  108. package/lib/telemetry-utils-untrimmed.d.ts +1102 -0
  109. package/lib/telemetryTypes.d.ts +115 -0
  110. package/lib/telemetryTypes.d.ts.map +1 -0
  111. package/lib/telemetryTypes.js +6 -0
  112. package/lib/telemetryTypes.js.map +1 -0
  113. package/lib/thresholdCounter.d.ts +6 -5
  114. package/lib/thresholdCounter.d.ts.map +1 -1
  115. package/lib/thresholdCounter.js +4 -3
  116. package/lib/thresholdCounter.js.map +1 -1
  117. package/lib/utils.d.ts +54 -3
  118. package/lib/utils.d.ts.map +1 -1
  119. package/lib/utils.js +56 -2
  120. package/lib/utils.js.map +1 -1
  121. package/package.json +86 -57
  122. package/prettier.config.cjs +8 -0
  123. package/src/config.ts +254 -189
  124. package/src/error.ts +235 -0
  125. package/src/errorLogging.ts +440 -290
  126. package/src/eventEmitterWithErrorHandling.ts +26 -14
  127. package/src/events.ts +54 -25
  128. package/src/fluidErrorBase.ts +94 -46
  129. package/src/index.ts +76 -17
  130. package/src/logger.ts +966 -505
  131. package/src/mockLogger.ts +225 -83
  132. package/src/sampledTelemetryHelper.ts +136 -128
  133. package/src/telemetryTypes.ts +140 -0
  134. package/src/thresholdCounter.ts +38 -37
  135. package/src/utils.ts +108 -17
  136. package/tsconfig.esnext.json +6 -6
  137. package/tsconfig.json +9 -13
  138. package/dist/debugLogger.d.ts +0 -39
  139. package/dist/debugLogger.d.ts.map +0 -1
  140. package/dist/debugLogger.js +0 -101
  141. package/dist/debugLogger.js.map +0 -1
  142. package/dist/packageVersion.d.ts +0 -9
  143. package/dist/packageVersion.d.ts.map +0 -1
  144. package/dist/packageVersion.js +0 -12
  145. package/dist/packageVersion.js.map +0 -1
  146. package/lib/debugLogger.d.ts +0 -39
  147. package/lib/debugLogger.d.ts.map +0 -1
  148. package/lib/debugLogger.js +0 -97
  149. package/lib/debugLogger.js.map +0 -1
  150. package/lib/packageVersion.d.ts +0 -9
  151. package/lib/packageVersion.d.ts.map +0 -1
  152. package/lib/packageVersion.js +0 -9
  153. package/lib/packageVersion.js.map +0 -1
  154. package/src/debugLogger.ts +0 -126
  155. package/src/packageVersion.ts +0 -9
package/.eslintrc.js CHANGED
@@ -4,16 +4,15 @@
4
4
  */
5
5
 
6
6
  module.exports = {
7
- "extends": [
8
- require.resolve("@fluidframework/eslint-config-fluid")
9
- ],
10
- "parserOptions": {
11
- "project": ["./tsconfig.json", "./src/test/tsconfig.json"]
12
- },
13
- "rules": {
14
- "@typescript-eslint/no-non-null-assertion": "off",
15
- "@typescript-eslint/strict-boolean-expressions": "off",
16
- "no-bitwise": "off",
17
- "prefer-rest-params": "off"
18
- }
19
- }
7
+ extends: [require.resolve("@fluidframework/eslint-config-fluid/recommended"), "prettier"],
8
+ parserOptions: {
9
+ project: ["./tsconfig.json", "./src/test/tsconfig.json"],
10
+ },
11
+ rules: {
12
+ "@typescript-eslint/no-non-null-assertion": "off",
13
+ "@typescript-eslint/strict-boolean-expressions": "off",
14
+ "no-bitwise": "off",
15
+ "prefer-rest-params": "off",
16
+ "unicorn/no-useless-undefined": "off", // Remove once this has been disabled in shared config
17
+ },
18
+ };
package/.mocharc.js ADDED
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ "use strict";
7
+
8
+ const getFluidTestMochaConfig = require("@fluidframework/mocha-test-setup/mocharc-common");
9
+
10
+ const packageDir = __dirname;
11
+ const config = getFluidTestMochaConfig(packageDir);
12
+ module.exports = config;
package/CHANGELOG.md ADDED
@@ -0,0 +1,249 @@
1
+ # @fluidframework/telemetry-utils
2
+
3
+ ## 2.0.0-internal.8.0.0
4
+
5
+ Dependency updates only.
6
+
7
+ ## 2.0.0-internal.7.4.0
8
+
9
+ ### Minor Changes
10
+
11
+ - telemetry-utils: Deprecate ConfigTypes and IConfigProviderBase ([#18597](https://github.com/microsoft/FluidFramework/issues/18597)) [39b9ff57c0](https://github.com/microsoft/FluidFramework/commits/39b9ff57c0184b72f0e3f9425922dda944995265)
12
+
13
+ The types `ConfigTypes` and `IConfigProviderBase` have been deprecated in the @fluidframework/telemetry-utils package.
14
+ The types can now be found in the @fluidframework/core-interfaces package. Please replace any uses with the types from
15
+ @fluidframework/core-interfaces.
16
+
17
+ - telemetry-utils: Deprecated logIfFalse ([#18047](https://github.com/microsoft/FluidFramework/issues/18047)) [57614ffdc6](https://github.com/microsoft/FluidFramework/commits/57614ffdc6e3fbd22ddbe5ed589c75d3d195aa48)
18
+
19
+ This functionality was not intended for export and will be removed in a future release.
20
+ No replacement API is offered because the logic is trivial to reproduce as needed.
21
+
22
+ ## 2.0.0-internal.7.3.0
23
+
24
+ Dependency updates only.
25
+
26
+ ## 2.0.0-internal.7.2.0
27
+
28
+ Dependency updates only.
29
+
30
+ ## 2.0.0-internal.7.1.0
31
+
32
+ Dependency updates only.
33
+
34
+ ## 2.0.0-internal.7.0.0
35
+
36
+ ### Major Changes
37
+
38
+ - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
39
+
40
+ This included the following changes from the protocol-definitions release:
41
+
42
+ - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
43
+ submitted by clients to the server and the resulting signals sent from the server to clients.
44
+ - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
45
+ been added, which will be the typing for signals sent from the client to the server. Both extend a new
46
+ ISignalMessageBase interface that contains common members.
47
+ - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
48
+
49
+ - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
50
+
51
+ Dependencies on the following Fluid server package have been updated to version 2.0.1:
52
+
53
+ - @fluidframework/gitresources: 2.0.1
54
+ - @fluidframework/server-kafka-orderer: 2.0.1
55
+ - @fluidframework/server-lambdas: 2.0.1
56
+ - @fluidframework/server-lambdas-driver: 2.0.1
57
+ - @fluidframework/server-local-server: 2.0.1
58
+ - @fluidframework/server-memory-orderer: 2.0.1
59
+ - @fluidframework/protocol-base: 2.0.1
60
+ - @fluidframework/server-routerlicious: 2.0.1
61
+ - @fluidframework/server-routerlicious-base: 2.0.1
62
+ - @fluidframework/server-services: 2.0.1
63
+ - @fluidframework/server-services-client: 2.0.1
64
+ - @fluidframework/server-services-core: 2.0.1
65
+ - @fluidframework/server-services-ordering-kafkanode: 2.0.1
66
+ - @fluidframework/server-services-ordering-rdkafka: 2.0.1
67
+ - @fluidframework/server-services-ordering-zookeeper: 2.0.1
68
+ - @fluidframework/server-services-shared: 2.0.1
69
+ - @fluidframework/server-services-telemetry: 2.0.1
70
+ - @fluidframework/server-services-utils: 2.0.1
71
+ - @fluidframework/server-test-utils: 2.0.1
72
+ - tinylicious: 2.0.1
73
+
74
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
75
+
76
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
77
+
78
+ - @fluidframework/container-utils package removed [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
79
+
80
+ All members of the **@fluidframework/container-utils** package have been deprecated and the package is now removed.
81
+
82
+ Migration by API member:
83
+
84
+ - `ClientSessionExpiredError` (deprecated in `2.0.0-internal.6.2.0`): No replacement API offered.
85
+ - `DataCorruptionError` (deprecated in `2.0.0-internal.6.2.0`): Import from [@fluidframework/telemetry-utils](https://www.npmjs.com/package/@fluidframework/telemetry-utils) instead.
86
+ - `DataProcessingError` (deprecated in `2.0.0-internal.6.2.0`): Import from [@fluidframework/telemetry-utils](https://www.npmjs.com/package/@fluidframework/telemetry-utils) instead.
87
+ - `DeltaManagerProxyBase` (deprecated in `2.0.0-internal.6.1.0`): No replacement API offered.
88
+ - `extractSafePropertiesFromMessage` (deprecated in `2.0.0-internal.6.2.0`): Import from [@fluidframework/telemetry-utils](https://www.npmjs.com/package/@fluidframework/telemetry-utils) instead.
89
+ - `GenericError` (deprecated in `2.0.0-internal.6.2.0`): Import from [@fluidframework/telemetry-utils](https://www.npmjs.com/package/@fluidframework/telemetry-utils) instead.
90
+ - `ThrottlingWarning` (deprecated in `2.0.0-internal.6.2.0`): No replacement API offered.
91
+ - `UsageError` (deprecated in `2.0.0-internal.6.2.0`): Import from [@fluidframework/telemetry-utils](https://www.npmjs.com/package/@fluidframework/telemetry-utils) instead.
92
+
93
+ ## 2.0.0-internal.6.4.0
94
+
95
+ ### Minor Changes
96
+
97
+ - Upcoming: The type of the logger property/param in various APIs will be changing ([#17350](https://github.com/microsoft/FluidFramework/issues/17350)) [27284bcda3](https://github.com/microsoft/FluidFramework/commits/27284bcda3d63cc4306cf76806f8a075db0db60f)
98
+
99
+ - @fluidframework/runtime-definitions
100
+ - `IFluidDataStoreRuntime.logger` will be re-typed as `ITelemetryBaseLogger`
101
+ - @fluidframework/odsp-driver
102
+ - `protected OdspDocumentServiceFactoryCore.createDocumentServiceCore`'s parameter `odspLogger` will be re-typed as `ITelemetryLoggerExt`
103
+ - `protected LocalOdspDocumentServiceFactory.createDocumentServiceCore`'s parameter `odspLogger` will be re-typed as `ITelemetryLoggerExt`
104
+
105
+ Additionally, several of @fluidframework/telemetry-utils's exports are being marked as internal and should not be consumed outside of other FF packages.
106
+
107
+ ## 2.0.0-internal.6.3.0
108
+
109
+ ### Minor Changes
110
+
111
+ - Cleaning up duplicate or misnamed telemetry types ([#17149](https://github.com/microsoft/FluidFramework/issues/17149)) [f9236942fa](https://github.com/microsoft/FluidFramework/commits/f9236942faf03cde860bfcbc7c28f8fbd81d3868)
112
+
113
+ We have two sets of telemetry-related interfaces:
114
+
115
+ - The "Base" ones
116
+ - These have a very bare API surface
117
+ - They are used on public API surfaces to transmit logs across layers
118
+ - The internal ones
119
+ - These have a richer API surface (multiple log functions with different categories,
120
+ support for logging flat arrays and objects)
121
+ - They are used for instrumenting our code, and then normalize and pass off the logs via the Base interface
122
+
123
+ There are two problems with the given state of the world:
124
+
125
+ 1. The "Base" ones were not named consistently, so the distinction was not as apparent as it could be
126
+ 2. The internal ones were copied to `@fluidframework/telemetry-utils` and futher extended, but the original duplicates remain.
127
+
128
+ This change addresses these by adding "Base" to the name of each base type, and deprecating the old duplicate internal types.
129
+
130
+ Additionally, the following types were adjusted:
131
+
132
+ - `TelemetryEventCategory` is moving from `@fluidframework/core-interfaces` to `@fluidframework/telemetry-utils`
133
+ - Several types modeling "tagged" telemetry properties are deprecated in favor of a generic type `Tagged<V>`
134
+
135
+ ## 2.0.0-internal.6.2.0
136
+
137
+ ### Minor Changes
138
+
139
+ - Remove use of @fluidframework/common-definitions ([#16638](https://github.com/microsoft/FluidFramework/issues/16638)) [a8c81509c9](https://github.com/microsoft/FluidFramework/commits/a8c81509c9bf09cfb2092ebcf7265205f9eb6dbf)
140
+
141
+ The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
142
+ imported from the **@fluidframework/core-interfaces** package:
143
+
144
+ - interface IDisposable
145
+ - interface IErrorEvent
146
+ - interface IErrorEvent
147
+ - interface IEvent
148
+ - interface IEventProvider
149
+ - interface ILoggingError
150
+ - interface ITaggedTelemetryPropertyType
151
+ - interface ITelemetryBaseEvent
152
+ - interface ITelemetryBaseLogger
153
+ - interface ITelemetryErrorEvent
154
+ - interface ITelemetryGenericEvent
155
+ - interface ITelemetryLogger
156
+ - interface ITelemetryPerformanceEvent
157
+ - interface ITelemetryProperties
158
+ - type ExtendEventProvider
159
+ - type IEventThisPlaceHolder
160
+ - type IEventTransformer
161
+ - type ReplaceIEventThisPlaceHolder
162
+ - type ReplaceIEventThisPlaceHolder
163
+ - type TelemetryEventCategory
164
+ - type TelemetryEventPropertyType
165
+
166
+ ## 2.0.0-internal.6.1.0
167
+
168
+ ### Minor Changes
169
+
170
+ - Removed `TelemetryNullLogger` class is again exported from @fluidframework/telemetry-utils ([#16841](https://github.com/microsoft/FluidFramework/issues/16841)) [697f46a838](https://github.com/microsoft/FluidFramework/commits/697f46a838706a046c402ba96624b8f07ebc3b07)
171
+
172
+ The `TelemetryNullLogger` class has been brought back to ease the transition to `2.0.0-internal.6.x`
173
+ _but is still deprecated_ and will be removed in `2.0.0-internal.7.0.0`.
174
+
175
+ For internal use within the FluidFramework codebase, use `createChildLogger()` with no arguments instead.
176
+ For external consumers we recommend writing a trivial implementation of `ITelemetryBaseLogger`
177
+ (from the `@fluidframework/core-interfaces` package) where the `send()` method does nothing and using that.
178
+
179
+ ## 2.0.0-internal.6.0.0
180
+
181
+ ### Major Changes
182
+
183
+ - Remove Deprecated Loggers [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
184
+
185
+ This change removes the previously deprecated logger implementations. The following replacements are available:
186
+
187
+ - replace ChildLogger.create, new TelemetryNullLogger, and new BaseTelemetryNullLogger with createChildLogger
188
+ - replace new MultiSinkLogger with createMultiSinkLogger
189
+ - replace TelemetryUTLogger with MockLogger
190
+ - DebugLogger has no intended replacement
191
+
192
+ - MockLogger is no longer a TelemetryLogger [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
193
+
194
+ TelemetryLogger was deprecated and has now been removed, so MockLogger can no longer inherit from it. MockLogger is now a ITelemetryBaseLogger, to get an ITelemetryLogger, or ITelemetryLoggerExt there is a new convenience method, `MockLogger.toTelemetryLogger()`
195
+
196
+ - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
197
+
198
+ Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
199
+
200
+ ## 2.0.0-internal.5.4.0
201
+
202
+ ### Minor Changes
203
+
204
+ - Deprecate Internal TelemetryLogger Implementations ([#16385](https://github.com/microsoft/FluidFramework/issues/16385)) [64023cacb1](https://github.com/microsoft/FluidFramework/commits/64023cacb13767c46c0472ecc22559aaad67adad)
205
+
206
+ This change deprecates our internal TelemetryLogger implementations and unifies our exported and consumed surface area on our telemetry interfaces.
207
+
208
+ For the deprecated implementations the following replacement function should be used:
209
+
210
+ - replace ChildLogger.create, new TelemetryNullLogger, and new BaseTelemetryNullLogger with createChildLogger
211
+ - replace new MultiSinkLogger with createMultiSinkLogger
212
+ - replace TelemetryUTLogger with MockLogger
213
+ - DebugLogger.create will be made internal with no intended replacement
214
+
215
+ ## 2.0.0-internal.5.3.0
216
+
217
+ Dependency updates only.
218
+
219
+ ## 2.0.0-internal.5.2.0
220
+
221
+ Dependency updates only.
222
+
223
+ ## 2.0.0-internal.5.1.0
224
+
225
+ ### Minor Changes
226
+
227
+ - Logger interface now supports logging a flat object ([#15759](https://github.com/microsoft/FluidFramework/issues/15759)) [8ae4fe32b1](https://github.com/microsoft/FluidFramework/commits/8ae4fe32b11d9bdfe6d2d43950970c95bdc660a6)
228
+
229
+ The internal logger interface used when instrumenting the code now supports logging a flat object,
230
+ which will be JSON.stringified before being sent to the host's base logger.
231
+ This is technically a breaking change but based on typical logger configuration, should not require any changes to accommodate.
232
+
233
+ ## 2.0.0-internal.5.0.0
234
+
235
+ ### Major Changes
236
+
237
+ - `ITelemetryLoggerExt` is a replacement for `ITelemetryLogger`, which adds additional types that can be logged as property values. ([#15667](https://github.com/microsoft/FluidFramework/pull-requests/15667)) [8c851e4c4b](https://github.com/microsoft/FluidFramework/commits/8c851e4c4b9a18a5189ace0608a1d8c3190a606b)
238
+ This interface is not expected to be used outside the codebase, and all Logger implementations already use the new interface.
239
+ In this release, the new type is used throughout the codebase to allow richer instrumentation.
240
+
241
+ It's unlikely this will manifest as a break to consumers of the package, but it's not impossible.
242
+
243
+ ## 2.0.0-internal.4.4.0
244
+
245
+ Dependency updates only.
246
+
247
+ ## 2.0.0-internal.4.1.0
248
+
249
+ Dependency updates only.
package/README.md CHANGED
@@ -2,4 +2,71 @@
2
2
 
3
3
  Common telemetry utilities used by Fluid Framework
4
4
 
5
- See [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.
5
+ <!-- AUTO-GENERATED-CONTENT:START (LIBRARY_PACKAGE_README:scripts=FALSE) -->
6
+
7
+ <!-- prettier-ignore-start -->
8
+ <!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
9
+
10
+ ## Using Fluid Framework libraries
11
+
12
+ When taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.
13
+ While Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,
14
+ library consumers should always prefer `^`.
15
+
16
+ Note that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,
17
+ you must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).
18
+ Standard `^` and `~` ranges will not work as expected.
19
+ See the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)
20
+ package for more information including tools to convert between version schemes.
21
+
22
+ ## Installation
23
+
24
+ To get started, install the package by running the following command:
25
+
26
+ ```bash
27
+ npm i @fluidframework/telemetry-utils
28
+ ```
29
+
30
+ ## API Documentation
31
+
32
+ API documentation for **@fluidframework/telemetry-utils** is available at <https://fluidframework.com/docs/apis/telemetry-utils>.
33
+
34
+ ## Contribution Guidelines
35
+
36
+ There are many ways to [contribute](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md) to Fluid.
37
+
38
+ - Participate in Q&A in our [GitHub Discussions](https://github.com/microsoft/FluidFramework/discussions).
39
+ - [Submit bugs](https://github.com/microsoft/FluidFramework/issues) and help us verify fixes as they are checked in.
40
+ - Review the [source code changes](https://github.com/microsoft/FluidFramework/pulls).
41
+ - [Contribute bug fixes](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md).
42
+
43
+ Detailed instructions for working in the repo can be found in the [Wiki](https://github.com/microsoft/FluidFramework/wiki).
44
+
45
+ This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
46
+ For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
47
+
48
+ This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
49
+ Use of these trademarks or logos must follow Microsoft’s [Trademark & Brand Guidelines](https://www.microsoft.com/trademarks).
50
+ Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
51
+
52
+ ## Help
53
+
54
+ Not finding what you're looking for in this README? Check out our [GitHub
55
+ Wiki](https://github.com/microsoft/FluidFramework/wiki) or [fluidframework.com](https://fluidframework.com/docs/).
56
+
57
+ Still not finding what you're looking for? Please [file an
58
+ issue](https://github.com/microsoft/FluidFramework/wiki/Submitting-Bugs-and-Feature-Requests).
59
+
60
+ Thank you!
61
+
62
+ ## Trademark
63
+
64
+ This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
65
+
66
+ Use of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
67
+
68
+ Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
69
+
70
+ <!-- prettier-ignore-end -->
71
+
72
+ <!-- AUTO-GENERATED-CONTENT:END -->
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-lint.json"
4
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
- "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "@fluidframework/build-common/api-extractor-common-report.json"
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-base.json"
4
4
  }