@splitsoftware/splitio-commons 1.3.2-rc.1 → 1.3.2-rc.4

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 (48) hide show
  1. package/cjs/listeners/browser.js +6 -1
  2. package/cjs/readiness/sdkReadinessManager.js +7 -7
  3. package/cjs/services/splitApi.js +2 -2
  4. package/cjs/storages/KeyBuilderSS.js +9 -5
  5. package/cjs/storages/inRedis/RedisAdapter.js +1 -1
  6. package/cjs/storages/inRedis/TelemetryCacheInRedis.js +7 -0
  7. package/cjs/storages/inRedis/index.js +4 -1
  8. package/cjs/storages/pluggable/index.js +2 -1
  9. package/cjs/sync/submitters/submitter.js +5 -4
  10. package/cjs/sync/submitters/telemetrySubmitter.js +22 -9
  11. package/cjs/utils/settingsValidation/index.js +16 -6
  12. package/cjs/utils/settingsValidation/url.js +1 -1
  13. package/esm/listeners/browser.js +6 -1
  14. package/esm/readiness/sdkReadinessManager.js +7 -7
  15. package/esm/services/splitApi.js +2 -2
  16. package/esm/storages/KeyBuilderSS.js +9 -5
  17. package/esm/storages/inRedis/RedisAdapter.js +1 -1
  18. package/esm/storages/inRedis/TelemetryCacheInRedis.js +7 -0
  19. package/esm/storages/inRedis/index.js +4 -1
  20. package/esm/storages/pluggable/index.js +2 -1
  21. package/esm/sync/submitters/submitter.js +5 -4
  22. package/esm/sync/submitters/telemetrySubmitter.js +21 -9
  23. package/esm/utils/settingsValidation/index.js +17 -7
  24. package/esm/utils/settingsValidation/url.js +1 -1
  25. package/package.json +1 -1
  26. package/src/listeners/browser.ts +6 -1
  27. package/src/readiness/sdkReadinessManager.ts +7 -5
  28. package/src/readiness/types.ts +7 -1
  29. package/src/services/splitApi.ts +2 -2
  30. package/src/storages/KeyBuilderSS.ts +12 -6
  31. package/src/storages/inRedis/RedisAdapter.ts +1 -1
  32. package/src/storages/inRedis/TelemetryCacheInRedis.ts +7 -0
  33. package/src/storages/inRedis/index.ts +5 -1
  34. package/src/storages/pluggable/index.ts +2 -1
  35. package/src/sync/submitters/submitter.ts +4 -4
  36. package/src/sync/submitters/telemetrySubmitter.ts +24 -10
  37. package/src/sync/submitters/types.ts +11 -6
  38. package/src/types.ts +1 -1
  39. package/src/utils/murmur3/utfx.ts +1 -2
  40. package/src/utils/settingsValidation/index.ts +18 -8
  41. package/src/utils/settingsValidation/url.ts +1 -1
  42. package/types/readiness/sdkReadinessManager.d.ts +1 -3
  43. package/types/readiness/types.d.ts +6 -1
  44. package/types/storages/KeyBuilderSS.d.ts +3 -2
  45. package/types/storages/inRedis/TelemetryCacheInRedis.d.ts +1 -0
  46. package/types/sync/submitters/telemetrySubmitter.d.ts +3 -2
  47. package/types/sync/submitters/types.d.ts +8 -5
  48. package/types/types.d.ts +1 -1
@@ -5,10 +5,11 @@ export declare class KeyBuilderSS extends KeyBuilder {
5
5
  protected readonly metadata: IMetadata;
6
6
  constructor(prefix: string, metadata: IMetadata);
7
7
  buildRegisteredSegmentsKey(): string;
8
- private buildVersionablePrefix;
9
8
  buildImpressionsKey(): string;
10
9
  buildEventsKey(): string;
10
+ searchPatternForSplitKeys(): string;
11
11
  buildLatencyKey(method: Method, bucket: number): string;
12
12
  buildExceptionKey(method: Method): string;
13
- searchPatternForSplitKeys(): string;
13
+ buildInitKey(): string;
14
+ private buildVersionablePrefix;
14
15
  }
@@ -16,4 +16,5 @@ export declare class TelemetryCacheInRedis implements ITelemetryCacheAsync {
16
16
  constructor(log: ILogger, keys: KeyBuilderSS, redis: Redis);
17
17
  recordLatency(method: Method, latencyMs: number): Promise<number | void>;
18
18
  recordException(method: Method): Promise<number | void>;
19
+ recordConfig(): Promise<number | void>;
19
20
  }
@@ -1,6 +1,6 @@
1
1
  import { ISegmentsCacheSync, ISplitsCacheSync, ITelemetryCacheSync } from '../../storages/types';
2
- import { TelemetryUsageStatsPayload, TelemetryConfigStatsPayload } from './types';
3
- import { ISettings } from '../../types';
2
+ import { TelemetryUsageStatsPayload, TelemetryConfigStatsPayload, TelemetryConfigStats } from './types';
3
+ import { ISettings, SDKMode } from '../../types';
4
4
  import { ISdkFactoryContextSync } from '../../sdkFactory/types';
5
5
  /**
6
6
  * Converts data from telemetry cache into /metrics/usage request payload.
@@ -10,6 +10,7 @@ export declare function telemetryCacheStatsAdapter(telemetry: ITelemetryCacheSyn
10
10
  clear(): void;
11
11
  state(): TelemetryUsageStatsPayload;
12
12
  };
13
+ export declare function getTelemetryConfigStats(mode: SDKMode, storageType: string): TelemetryConfigStats;
13
14
  /**
14
15
  * Converts data from telemetry cache and settings into /metrics/config request payload.
15
16
  */
@@ -146,9 +146,14 @@ export declare type UrlOverrides = {
146
146
  st: boolean;
147
147
  t: boolean;
148
148
  };
149
- export declare type TelemetryConfigStatsPayload = {
150
- oM?: OperationMode;
149
+ export declare type TelemetryConfigStats = {
150
+ oM: OperationMode;
151
151
  st: 'memory' | 'redis' | 'pluggable' | 'localstorage';
152
+ aF: number;
153
+ rF: number;
154
+ t?: Array<string>;
155
+ };
156
+ export declare type TelemetryConfigStatsPayload = TelemetryConfigStats & {
152
157
  sE: boolean;
153
158
  rR: RefreshRates;
154
159
  uO: UrlOverrides;
@@ -157,11 +162,9 @@ export declare type TelemetryConfigStatsPayload = {
157
162
  iM: ImpressionsMode;
158
163
  iL: boolean;
159
164
  hP: boolean;
160
- aF: number;
161
- rF: number;
162
165
  tR: number;
163
166
  tC?: number;
164
167
  nR: number;
165
- t?: Array<string>;
166
168
  i?: Array<string>;
169
+ uC: number;
167
170
  };
package/types/types.d.ts CHANGED
@@ -681,7 +681,7 @@ export declare namespace SplitIO {
681
681
  /**
682
682
  * String property to override the base URL where the SDK will post telemetry data.
683
683
  * @property {string} telemetry
684
- * @default 'https://telemetry.split.io'
684
+ * @default 'https://telemetry.split.io/api'
685
685
  */
686
686
  telemetry?: string;
687
687
  };