@chainlink/external-adapter-framework 0.12.1 → 0.13.1
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/adapter/basic.js +9 -4
- package/adapter/basic.js.map +1 -1
- package/adapter/endpoint.d.ts +9 -1
- package/adapter/endpoint.js +23 -0
- package/adapter/endpoint.js.map +1 -1
- package/cache/index.d.ts +4 -2
- package/cache/index.js +2 -2
- package/cache/index.js.map +1 -1
- package/cache/local.d.ts +2 -0
- package/cache/local.js +2 -31
- package/cache/local.js.map +1 -1
- package/cache/metrics.d.ts +5 -2
- package/cache/metrics.js +19 -3
- package/cache/metrics.js.map +1 -1
- package/cache/redis.d.ts +2 -0
- package/cache/redis.js +7 -9
- package/cache/redis.js.map +1 -1
- package/cache/response.d.ts +36 -0
- package/cache/response.js +97 -0
- package/cache/response.js.map +1 -0
- package/config/index.d.ts +6 -6
- package/config/index.js +6 -10
- package/config/index.js.map +1 -1
- package/index.js +4 -1
- package/index.js.map +1 -1
- package/metrics/util.d.ts +1 -1
- package/metrics/util.js +2 -2
- package/metrics/util.js.map +1 -1
- package/package.json +2 -2
- package/rate-limiting/metrics.js +1 -1
- package/rate-limiting/metrics.js.map +1 -1
- package/transports/abstract/streaming.d.ts +34 -0
- package/transports/abstract/streaming.js +44 -0
- package/transports/abstract/streaming.js.map +1 -0
- package/transports/abstract/subscription.d.ts +38 -0
- package/transports/abstract/subscription.js +63 -0
- package/transports/abstract/subscription.js.map +1 -0
- package/transports/batch-warming.d.ts +7 -12
- package/transports/batch-warming.js +42 -28
- package/transports/batch-warming.js.map +1 -1
- package/transports/index.d.ts +20 -13
- package/transports/index.js +0 -35
- package/transports/index.js.map +1 -1
- package/transports/meta/index.d.ts +1 -0
- package/transports/meta/index.js +18 -0
- package/transports/meta/index.js.map +1 -0
- package/transports/{routing.d.ts → meta/routing.d.ts} +11 -5
- package/transports/{routing.js → meta/routing.js} +6 -6
- package/transports/meta/routing.js.map +1 -0
- package/transports/metrics.d.ts +11 -4
- package/transports/metrics.js +30 -20
- package/transports/metrics.js.map +1 -1
- package/transports/rest.d.ts +10 -7
- package/transports/rest.js +22 -12
- package/transports/rest.js.map +1 -1
- package/transports/sse.d.ts +8 -12
- package/transports/sse.js +29 -39
- package/transports/sse.js.map +1 -1
- package/transports/websocket.d.ts +15 -14
- package/transports/websocket.js +87 -60
- package/transports/websocket.js.map +1 -1
- package/util/request.d.ts +90 -11
- package/transports/routing.js.map +0 -1
package/adapter/basic.js
CHANGED
|
@@ -89,8 +89,8 @@ class Adapter {
|
|
|
89
89
|
}
|
|
90
90
|
this.endpointsMap[alias] = endpoint;
|
|
91
91
|
}
|
|
92
|
-
logger.debug(`Initializing
|
|
93
|
-
await endpoint.
|
|
92
|
+
logger.debug(`Initializing endpoint "${endpoint.name}"...`);
|
|
93
|
+
await endpoint.initialize(this.dependencies, this.config);
|
|
94
94
|
}
|
|
95
95
|
// Build list of key/values that need to be redacted in logs
|
|
96
96
|
// Populates the static array in CensorList to use in censor-transport
|
|
@@ -235,8 +235,13 @@ class Adapter {
|
|
|
235
235
|
if (this.config.METRICS_ENABLED && this.config.EXPERIMENTAL_METRICS_ENABLED) {
|
|
236
236
|
const label = cacheMetrics.cacheMetricsLabel(req.requestContext.cacheKey, req.requestContext.meta?.metrics?.feedId || 'N/A', this.config.CACHE_TYPE);
|
|
237
237
|
// Record cache staleness and cache get count and value
|
|
238
|
-
const
|
|
239
|
-
cacheMetrics.cacheGet(label, response.result,
|
|
238
|
+
const cacheStaleness = (0, cache_1.calculateStaleness)(response.timestamps.providerDataReceived, this.config.CACHE_MAX_AGE);
|
|
239
|
+
cacheMetrics.cacheGet(label, response.result, {
|
|
240
|
+
cache: cacheStaleness,
|
|
241
|
+
total: response.timestamps.providerIndicatedTime
|
|
242
|
+
? Date.now() - response.timestamps.providerIndicatedTime
|
|
243
|
+
: null,
|
|
244
|
+
});
|
|
240
245
|
req.requestContext.meta = {
|
|
241
246
|
...req.requestContext.meta,
|
|
242
247
|
metrics: { ...req.requestContext.meta?.metrics, cacheHit: true },
|
package/adapter/basic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/adapter/basic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/adapter/basic.ts"],"names":[],"mappings":"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"}
|
package/adapter/endpoint.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { AdapterConfig } from '../config';
|
|
1
2
|
import { MetaTransport, Transport } from '../transports';
|
|
2
3
|
import { InputParameters } from '../validation';
|
|
3
4
|
import { InputValidator } from '../validation/input-validator';
|
|
4
|
-
import { AdapterEndpointParams, EndpointGenerics, EndpointRateLimitingConfig } from './types';
|
|
5
|
+
import { AdapterDependencies, AdapterEndpointParams, EndpointGenerics, EndpointRateLimitingConfig } from './types';
|
|
5
6
|
/**
|
|
6
7
|
* Main class to represent an endpoint within an External Adapter
|
|
7
8
|
*/
|
|
@@ -14,4 +15,11 @@ export declare class AdapterEndpoint<T extends EndpointGenerics> implements Adap
|
|
|
14
15
|
validator: InputValidator;
|
|
15
16
|
cacheKeyGenerator?: (data: Record<string, unknown>) => string;
|
|
16
17
|
constructor(params: AdapterEndpointParams<T>);
|
|
18
|
+
/**
|
|
19
|
+
* Performs all necessary initialization processes that are async or need async initialized dependencies
|
|
20
|
+
*
|
|
21
|
+
* @param dependencies - all dependencies initialized at the adapter level
|
|
22
|
+
* @param config - configuration for the adapter
|
|
23
|
+
*/
|
|
24
|
+
initialize(dependencies: AdapterDependencies, config: AdapterConfig<T['CustomSettings']>): Promise<void>;
|
|
17
25
|
}
|
package/adapter/endpoint.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AdapterEndpoint = void 0;
|
|
4
|
+
const response_1 = require("../cache/response");
|
|
5
|
+
const util_1 = require("../util");
|
|
4
6
|
const input_validator_1 = require("../validation/input-validator");
|
|
7
|
+
const logger = (0, util_1.makeLogger)('AdapterEndpoint');
|
|
5
8
|
/**
|
|
6
9
|
* Main class to represent an endpoint within an External Adapter
|
|
7
10
|
*/
|
|
@@ -15,6 +18,26 @@ class AdapterEndpoint {
|
|
|
15
18
|
this.validator = new input_validator_1.InputValidator(this.inputParameters);
|
|
16
19
|
this.cacheKeyGenerator = params.cacheKeyGenerator;
|
|
17
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Performs all necessary initialization processes that are async or need async initialized dependencies
|
|
23
|
+
*
|
|
24
|
+
* @param dependencies - all dependencies initialized at the adapter level
|
|
25
|
+
* @param config - configuration for the adapter
|
|
26
|
+
*/
|
|
27
|
+
async initialize(dependencies, config) {
|
|
28
|
+
const responseCache = new response_1.ResponseCache({
|
|
29
|
+
dependencies,
|
|
30
|
+
config: config,
|
|
31
|
+
endpointName: this.name,
|
|
32
|
+
inputParameters: this.inputParameters,
|
|
33
|
+
});
|
|
34
|
+
const transportDependencies = {
|
|
35
|
+
...dependencies,
|
|
36
|
+
responseCache,
|
|
37
|
+
};
|
|
38
|
+
logger.debug(`Initializing transport for endpoint "${this.name}"...`);
|
|
39
|
+
await this.transport.initialize(transportDependencies, config, this.name);
|
|
40
|
+
}
|
|
18
41
|
}
|
|
19
42
|
exports.AdapterEndpoint = AdapterEndpoint;
|
|
20
43
|
//# sourceMappingURL=endpoint.js.map
|
package/adapter/endpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/adapter/endpoint.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../src/adapter/endpoint.ts"],"names":[],"mappings":";;;AAAA,gDAAiD;AAGjD,kCAAoC;AAEpC,mEAA8D;AAQ9D,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,iBAAiB,CAAC,CAAA;AAE5C;;GAEG;AACH,MAAa,eAAe;IAS1B,YAAY,MAAgC;QAC1C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACjC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;QAC7C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QACzD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAA;IACnD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACd,YAAiC,EACjC,MAA0C;QAE1C,MAAM,aAAa,GAAG,IAAI,wBAAa,CAAC;YACtC,YAAY;YACZ,MAAM,EAAE,MAAuB;YAC/B,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAA;QAEF,MAAM,qBAAqB,GAAG;YAC5B,GAAG,YAAY;YACf,aAAa;SACd,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,wCAAwC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAA;QACrE,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3E,CAAC;CACF;AA5CD,0CA4CC"}
|
package/cache/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AdapterConfig, SettingsMap } from '../config';
|
|
2
2
|
import { AdapterResponse, sleep } from '../util';
|
|
3
|
-
import { InputParameters } from '../validation
|
|
3
|
+
import { InputParameters } from '../validation';
|
|
4
|
+
import { CacheTypes as CacheType } from './metrics';
|
|
4
5
|
export * from './factory';
|
|
5
6
|
export * from './local';
|
|
6
7
|
export * from './redis';
|
|
@@ -17,6 +18,7 @@ export interface CacheEntry<T> {
|
|
|
17
18
|
* @typeParam T - the type of the cache entries' values
|
|
18
19
|
*/
|
|
19
20
|
export interface Cache<T = unknown> {
|
|
21
|
+
type: CacheType;
|
|
20
22
|
/**
|
|
21
23
|
* Gets an item from the Cache.
|
|
22
24
|
*
|
|
@@ -49,7 +51,7 @@ export interface Cache<T = unknown> {
|
|
|
49
51
|
*/
|
|
50
52
|
delete: (key: string) => Promise<void>;
|
|
51
53
|
}
|
|
52
|
-
export declare const calculateCacheKey: <T extends import("../transports").TransportGenerics>({
|
|
54
|
+
export declare const calculateCacheKey: <T extends import("../transports").TransportGenerics>({ inputParameters, endpointName, adapterConfig, }: {
|
|
53
55
|
inputParameters: InputParameters;
|
|
54
56
|
endpointName: string;
|
|
55
57
|
adapterConfig: AdapterConfig<T["CustomSettings"]>;
|
package/cache/index.js
CHANGED
|
@@ -21,7 +21,7 @@ __exportStar(require("./local"), exports);
|
|
|
21
21
|
__exportStar(require("./redis"), exports);
|
|
22
22
|
const logger = (0, util_1.makeLogger)('Cache');
|
|
23
23
|
// Uses calculateKey to generate a unique key from the endpoint name, data, and input parameters
|
|
24
|
-
const calculateCacheKey = ({
|
|
24
|
+
const calculateCacheKey = ({ inputParameters, endpointName, adapterConfig, }, data) => {
|
|
25
25
|
const paramNames = Object.keys(inputParameters);
|
|
26
26
|
if (paramNames.length === 0) {
|
|
27
27
|
logger.trace(`Using default cache key ${adapterConfig.DEFAULT_CACHE_KEY}`);
|
|
@@ -112,7 +112,7 @@ exports.calculateStaleness = calculateStaleness;
|
|
|
112
112
|
const pollResponseFromCache = async (cache, key, options, retry = 0) => {
|
|
113
113
|
if (retry > options.maxRetries) {
|
|
114
114
|
// Ideally this shouldn't happen often (p99 of reqs should be found in the cache)
|
|
115
|
-
logger.
|
|
115
|
+
logger.debug('Exceeded max cache polling retries');
|
|
116
116
|
return undefined;
|
|
117
117
|
}
|
|
118
118
|
logger.trace('Getting response from cache...');
|
package/cache/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,kCAA4D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"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"}
|
package/cache/local.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Cache, CacheEntry } from './index';
|
|
2
|
+
import { CacheTypes } from './metrics';
|
|
2
3
|
/**
|
|
3
4
|
* Type for a value stored in a LocalCache entry.
|
|
4
5
|
*
|
|
@@ -15,6 +16,7 @@ export interface LocalCacheEntry<T> {
|
|
|
15
16
|
* @typeParam T - the type for the entries' values
|
|
16
17
|
*/
|
|
17
18
|
export declare class LocalCache<T = unknown> implements Cache<T> {
|
|
19
|
+
type: CacheTypes;
|
|
18
20
|
store: Record<string, LocalCacheEntry<T>>;
|
|
19
21
|
get(key: string): Promise<T | undefined>;
|
|
20
22
|
delete(key: string): Promise<void>;
|
package/cache/local.js
CHANGED
|
@@ -1,31 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.LocalCache = void 0;
|
|
27
4
|
const util_1 = require("../util");
|
|
28
|
-
const
|
|
5
|
+
const metrics_1 = require("./metrics");
|
|
29
6
|
const logger = (0, util_1.makeLogger)('LocalCache');
|
|
30
7
|
/**
|
|
31
8
|
* Local implementation of a Cache. It uses a simple js Object, storing entries with both
|
|
@@ -35,6 +12,7 @@ const logger = (0, util_1.makeLogger)('LocalCache');
|
|
|
35
12
|
*/
|
|
36
13
|
class LocalCache {
|
|
37
14
|
constructor() {
|
|
15
|
+
this.type = metrics_1.CacheTypes.Local;
|
|
38
16
|
this.store = {};
|
|
39
17
|
}
|
|
40
18
|
async get(key) {
|
|
@@ -65,13 +43,6 @@ class LocalCache {
|
|
|
65
43
|
value,
|
|
66
44
|
expirationTimestamp: Date.now() + ttl,
|
|
67
45
|
};
|
|
68
|
-
// Only record metrics if feed Id is present, otherwise assuming value is not adapter response to record
|
|
69
|
-
const feedId = value.meta?.metrics?.feedId;
|
|
70
|
-
if (feedId) {
|
|
71
|
-
// Record cache set count, max age, and staleness (set to 0 for cache set)
|
|
72
|
-
const label = cacheMetrics.cacheMetricsLabel(key, feedId, cacheMetrics.CacheTypes.Local);
|
|
73
|
-
cacheMetrics.cacheSet(label, ttl);
|
|
74
|
-
}
|
|
75
46
|
}
|
|
76
47
|
async setMany(entries, ttl) {
|
|
77
48
|
logger.trace(`Setting a bunch of keys with ttl ${ttl}`);
|
package/cache/local.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/cache/local.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/cache/local.ts"],"names":[],"mappings":";;;AAAA,kCAAoC;AAEpC,uCAAsC;AAEtC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,YAAY,CAAC,CAAA;AAYvC;;;;;GAKG;AACH,MAAa,UAAU;IAAvB;QACE,SAAI,GAAG,oBAAU,CAAC,KAAK,CAAA;QAEvB,UAAK,GAAuC,EAAE,CAAA;IAyChD,CAAC;IAvCC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE7B,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,wBAAwB,CAAC,CAAA;YAC7E,OAAO,SAAS,CAAA;SACjB;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;QACvD,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAA;YAC9E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChB,OAAO,SAAS,CAAA;SACjB;aAAM;YACL,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAA;YACjE,OAAO,KAAK,CAAC,KAAK,CAAA;SACnB;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAA;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,wDAAwD;IACjF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAE,GAAW;QAC1C,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,aAAa,GAAG,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;YAChB,KAAK;YACL,mBAAmB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG;SACtC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAwB,EAAE,GAAW;QACjD,MAAM,CAAC,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAA;QACvD,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;SAC1B;IACH,CAAC;CACF;AA5CD,gCA4CC"}
|
package/cache/metrics.d.ts
CHANGED
|
@@ -4,8 +4,11 @@ interface CacheMetricsLabels {
|
|
|
4
4
|
feed_id: string;
|
|
5
5
|
cache_type: string;
|
|
6
6
|
}
|
|
7
|
-
export declare const cacheGet: (label: CacheMetricsLabels, value: unknown, staleness:
|
|
8
|
-
|
|
7
|
+
export declare const cacheGet: (label: CacheMetricsLabels, value: unknown, staleness: {
|
|
8
|
+
cache: number;
|
|
9
|
+
total: number | null;
|
|
10
|
+
}) => void;
|
|
11
|
+
export declare const cacheSet: (label: CacheMetricsLabels, maxAge: number, timeDelta: number | undefined) => void;
|
|
9
12
|
export declare const cacheMetricsLabel: (cacheKey: string, feedId: string, cacheType: string) => {
|
|
10
13
|
participant_id: string;
|
|
11
14
|
feed_id: string;
|
package/cache/metrics.js
CHANGED
|
@@ -33,13 +33,19 @@ const cacheGet = (label, value, staleness) => {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
cacheDataGetCount.labels(label).inc();
|
|
36
|
-
cacheDataStalenessSeconds.labels(label).set(staleness);
|
|
36
|
+
cacheDataStalenessSeconds.labels(label).set(staleness.cache);
|
|
37
|
+
if (staleness.total) {
|
|
38
|
+
totalDataStalenessSeconds.labels(label).set(staleness.total);
|
|
39
|
+
}
|
|
37
40
|
};
|
|
38
41
|
exports.cacheGet = cacheGet;
|
|
39
|
-
const cacheSet = (label, maxAge) => {
|
|
42
|
+
const cacheSet = (label, maxAge, timeDelta) => {
|
|
40
43
|
cacheDataSetCount.labels(label).inc();
|
|
41
44
|
cacheDataMaxAge.labels(label).set(maxAge);
|
|
42
45
|
cacheDataStalenessSeconds.labels(label).set(0);
|
|
46
|
+
if (timeDelta) {
|
|
47
|
+
providerTimeDelta.labels({ feed_id: label.feed_id }).set(timeDelta);
|
|
48
|
+
}
|
|
43
49
|
};
|
|
44
50
|
exports.cacheSet = cacheSet;
|
|
45
51
|
const cacheMetricsLabel = (cacheKey, feedId, cacheType) => ({
|
|
@@ -95,9 +101,19 @@ const cacheDataSetCount = new client.Counter({
|
|
|
95
101
|
});
|
|
96
102
|
const cacheDataStalenessSeconds = new client.Gauge({
|
|
97
103
|
name: 'cache_data_staleness_seconds',
|
|
98
|
-
help: 'Observes the staleness of the data returned',
|
|
104
|
+
help: 'Observes the cache staleness of the data returned (i.e., time since the data was written to the cache)',
|
|
99
105
|
labelNames: baseLabels,
|
|
100
106
|
});
|
|
107
|
+
const totalDataStalenessSeconds = new client.Gauge({
|
|
108
|
+
name: 'total_data_staleness_seconds',
|
|
109
|
+
help: 'Observes the total staleness of the data returned (i.e., time since the provider indicated the data was sent)',
|
|
110
|
+
labelNames: baseLabels,
|
|
111
|
+
});
|
|
112
|
+
const providerTimeDelta = new client.Gauge({
|
|
113
|
+
name: 'provider_time_delta',
|
|
114
|
+
help: 'Measures the difference between the time indicated by a DP for a value vs the time it was written to cache',
|
|
115
|
+
labelNames: ['feed_id'],
|
|
116
|
+
});
|
|
101
117
|
// Redis Metrics
|
|
102
118
|
exports.redisConnectionsOpen = new client.Counter({
|
|
103
119
|
name: 'redis_connections_open',
|
package/cache/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/cache/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AAS9B,MAAM,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/cache/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AAS9B,MAAM,QAAQ,GAAG,CACtB,KAAyB,EACzB,KAAc,EACd,SAGC,EACD,EAAE;IACF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC9D,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;SAClD;KACF;IACD,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAA;IACrC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5D,IAAI,SAAS,CAAC,KAAK,EAAE;QACnB,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;KAC7D;AACH,CAAC,CAAA;AAnBY,QAAA,QAAQ,YAmBpB;AAEM,MAAM,QAAQ,GAAG,CACtB,KAAyB,EACzB,MAAc,EACd,SAA6B,EAC7B,EAAE;IACF,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAA;IACrC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACzC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC9C,IAAI,SAAS,EAAE;QACb,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;KACpE;AACH,CAAC,CAAA;AAXY,QAAA,QAAQ,YAWpB;AAEM,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,SAAiB,EAAE,EAAE,CAAC,CAAC;IACzF,cAAc,EAAE,QAAQ;IACxB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,SAAS;CACtB,CAAC,CAAA;AAJW,QAAA,iBAAiB,qBAI5B;AAEF,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,6BAAe,CAAA;AACjB,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAED,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,gCAAa,CAAA;IACb,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B;AAED,MAAM,UAAU,GAAG;IACjB,SAAS;IACT,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,cAAc;CACN,CAAA;AAEV,+BAA+B;AAC/B,kEAAkE;AAClE,8CAA8C;AAC9C,iFAAiF;AACjF,uDAAuD;AACvD,iCAAiC;AACjC,KAAK;AAEL,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,wEAAwE;IAC9E,UAAU,EAAE,UAAU;CACvB,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;IAC1C,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,0DAA0D;IAChE,UAAU,EAAE,UAAU;CACvB,CAAC,CAAA;AAEF,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;IACvC,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,4DAA4D;IAClE,UAAU,EAAE,UAAU;CACvB,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,kEAAkE;IACxE,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,aAAa,CAAC;CAC3C,CAAC,CAAA;AAEF,MAAM,yBAAyB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;IACjD,IAAI,EAAE,8BAA8B;IACpC,IAAI,EAAE,wGAAwG;IAC9G,UAAU,EAAE,UAAU;CACvB,CAAC,CAAA;AAEF,MAAM,yBAAyB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;IACjD,IAAI,EAAE,8BAA8B;IACpC,IAAI,EAAE,+GAA+G;IACrH,UAAU,EAAE,UAAU;CACvB,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;IACzC,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,4GAA4G;IAClH,UAAU,EAAE,CAAC,SAAS,CAAC;CACxB,CAAC,CAAA;AAEF,gBAAgB;AACH,QAAA,oBAAoB,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;IACrD,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,+CAA+C;CACtD,CAAC,CAAA;AAEW,QAAA,iBAAiB,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;IAClD,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,2EAA2E;CAClF,CAAC,CAAA;AAEW,QAAA,sBAAsB,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;IACvD,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,mCAAmC;IACzC,UAAU,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;CACxC,CAAC,CAAA;AAEF,uBAAuB;AACV,QAAA,gBAAgB,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;IAC/C,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,qCAAqC;IAC3C,UAAU,EAAE,CAAC,WAAW,CAAU;CACnC,CAAC,CAAA"}
|
package/cache/redis.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Redis from 'ioredis';
|
|
2
2
|
import { Cache, CacheEntry } from './index';
|
|
3
|
+
import * as cacheMetrics from './metrics';
|
|
3
4
|
/**
|
|
4
5
|
* Redis implementation of a Cache. It uses a simple js Object, storing entries with both
|
|
5
6
|
* a value and an expiration timestamp. Expired entries are deleted on reads (i.e. no background gc/upkeep).
|
|
@@ -8,6 +9,7 @@ import { Cache, CacheEntry } from './index';
|
|
|
8
9
|
*/
|
|
9
10
|
export declare class RedisCache<T = unknown> implements Cache<T> {
|
|
10
11
|
private client;
|
|
12
|
+
type: cacheMetrics.CacheTypes;
|
|
11
13
|
constructor(client: Redis);
|
|
12
14
|
get(key: string): Promise<T | undefined>;
|
|
13
15
|
delete(key: string): Promise<void>;
|
package/cache/redis.js
CHANGED
|
@@ -36,6 +36,7 @@ const logger = (0, util_1.makeLogger)('RedisCache');
|
|
|
36
36
|
class RedisCache {
|
|
37
37
|
constructor(client) {
|
|
38
38
|
this.client = client;
|
|
39
|
+
this.type = cacheMetrics.CacheTypes.Redis;
|
|
39
40
|
}
|
|
40
41
|
async get(key) {
|
|
41
42
|
logger.trace(`Getting key ${key}`);
|
|
@@ -61,13 +62,6 @@ class RedisCache {
|
|
|
61
62
|
async set(key, value, ttl) {
|
|
62
63
|
logger.trace(`Setting key ${key}`);
|
|
63
64
|
await this.client.set(key, JSON.stringify(value), 'PX', ttl);
|
|
64
|
-
// Only record metrics if feed Id is present, otherwise assuming value is not adapter response to record
|
|
65
|
-
const feedId = value.meta?.metrics?.feedId;
|
|
66
|
-
if (feedId) {
|
|
67
|
-
// Record cache set count, max age, and staleness (set to 0 for cache set)
|
|
68
|
-
const label = cacheMetrics.cacheMetricsLabel(key, feedId, cacheMetrics.CacheTypes.Redis);
|
|
69
|
-
cacheMetrics.cacheSet(label, ttl);
|
|
70
|
-
}
|
|
71
65
|
// Record set command sent to Redis
|
|
72
66
|
cacheMetrics.redisCommandsSentCount
|
|
73
67
|
.labels({ status: cacheMetrics.CMD_SENT_STATUS.SUCCESS, function_name: 'set' })
|
|
@@ -82,13 +76,17 @@ class RedisCache {
|
|
|
82
76
|
}
|
|
83
77
|
await chain.exec();
|
|
84
78
|
// Loop again, but this time to record these in metrics
|
|
79
|
+
const now = Date.now();
|
|
85
80
|
for (const entry of entries) {
|
|
86
81
|
// Only record metrics if feed Id is present, otherwise assuming value is not adapter response to record
|
|
87
|
-
const
|
|
82
|
+
const response = entry.value;
|
|
83
|
+
const feedId = response.meta?.metrics?.feedId;
|
|
88
84
|
if (feedId) {
|
|
85
|
+
const providerTime = response.timestamps?.providerIndicatedTime;
|
|
86
|
+
const timeDelta = providerTime ? now - providerTime : undefined;
|
|
89
87
|
// Record cache set count, max age, and staleness (set to 0 for cache set)
|
|
90
88
|
const label = cacheMetrics.cacheMetricsLabel(entry.key, feedId, cacheMetrics.CacheTypes.Redis);
|
|
91
|
-
cacheMetrics.cacheSet(label, ttl);
|
|
89
|
+
cacheMetrics.cacheSet(label, ttl, timeDelta);
|
|
92
90
|
}
|
|
93
91
|
}
|
|
94
92
|
// Record setMany command sent to Redis
|
package/cache/redis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/cache/redis.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kCAAqD;AAErD,wDAAyC;AAEzC,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,YAAY,CAAC,CAAA;AAEvC;;;;;GAKG;AACH,MAAa,UAAU;
|
|
1
|
+
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/cache/redis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { AdapterDependencies } from '../adapter';
|
|
2
|
+
import { AdapterConfig } from '../config';
|
|
3
|
+
import { AdapterResponse, RequestGenerics, ResponseGenerics, TimestampedProviderResult } from '../util';
|
|
4
|
+
import { InputParameters } from '../validation/input-params';
|
|
5
|
+
import { Cache } from './';
|
|
6
|
+
/**
|
|
7
|
+
* Special type of cache to store responses for this adapter.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ResponseCache<T extends {
|
|
10
|
+
Request: RequestGenerics;
|
|
11
|
+
Response: ResponseGenerics;
|
|
12
|
+
}> {
|
|
13
|
+
cache: Cache<AdapterResponse<T['Response']>>;
|
|
14
|
+
inputParameters: InputParameters;
|
|
15
|
+
endpointName: string;
|
|
16
|
+
config: AdapterConfig;
|
|
17
|
+
constructor({ inputParameters, endpointName, config, dependencies, }: {
|
|
18
|
+
dependencies: AdapterDependencies;
|
|
19
|
+
config: AdapterConfig;
|
|
20
|
+
endpointName: string;
|
|
21
|
+
inputParameters: InputParameters;
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Sets responses in the adapter cache (adding necessary metadata and defaults)
|
|
25
|
+
*
|
|
26
|
+
* @param results - the entries to write to the cache
|
|
27
|
+
*/
|
|
28
|
+
write(results: TimestampedProviderResult<T>[]): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Looks for an adapter response in the cache.
|
|
31
|
+
*
|
|
32
|
+
* @param cacheKey - the key made from the adapter params
|
|
33
|
+
* @returns the associated response if found
|
|
34
|
+
*/
|
|
35
|
+
read(cacheKey: string): Promise<AdapterResponse<T["Response"]> | undefined>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.ResponseCache = void 0;
|
|
27
|
+
const _1 = require("./");
|
|
28
|
+
const cacheMetrics = __importStar(require("./metrics"));
|
|
29
|
+
/**
|
|
30
|
+
* Special type of cache to store responses for this adapter.
|
|
31
|
+
*/
|
|
32
|
+
class ResponseCache {
|
|
33
|
+
constructor({ inputParameters, endpointName, config, dependencies, }) {
|
|
34
|
+
this.cache = dependencies.cache;
|
|
35
|
+
this.inputParameters = inputParameters;
|
|
36
|
+
this.endpointName = endpointName;
|
|
37
|
+
this.config = config;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Sets responses in the adapter cache (adding necessary metadata and defaults)
|
|
41
|
+
*
|
|
42
|
+
* @param results - the entries to write to the cache
|
|
43
|
+
*/
|
|
44
|
+
async write(results) {
|
|
45
|
+
const entries = results.map((r) => {
|
|
46
|
+
const response = {
|
|
47
|
+
...r.response,
|
|
48
|
+
statusCode: r.response.statusCode || 200,
|
|
49
|
+
};
|
|
50
|
+
if (this.config.METRICS_ENABLED && this.config.EXPERIMENTAL_METRICS_ENABLED) {
|
|
51
|
+
response.meta = {
|
|
52
|
+
metrics: {
|
|
53
|
+
feedId: (0, _1.calculateFeedId)({
|
|
54
|
+
inputParameters: this.inputParameters,
|
|
55
|
+
adapterConfig: this.config,
|
|
56
|
+
}, r.params),
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
key: (0, _1.calculateCacheKey)({
|
|
62
|
+
inputParameters: this.inputParameters,
|
|
63
|
+
endpointName: this.endpointName,
|
|
64
|
+
adapterConfig: this.config,
|
|
65
|
+
}, r.params),
|
|
66
|
+
value: response,
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
const ttl = this.config.CACHE_MAX_AGE;
|
|
70
|
+
await this.cache.setMany(entries, ttl);
|
|
71
|
+
const now = Date.now();
|
|
72
|
+
for (const { key, value } of entries) {
|
|
73
|
+
// Only record metrics if feed Id is present, otherwise assuming value is not adapter response to record
|
|
74
|
+
const response = value;
|
|
75
|
+
const feedId = response.meta?.metrics?.feedId;
|
|
76
|
+
if (feedId) {
|
|
77
|
+
const providerTime = response.timestamps?.providerIndicatedTime;
|
|
78
|
+
const timeDelta = providerTime ? now - providerTime : undefined;
|
|
79
|
+
// Record cache set count, max age, and staleness (set to 0 for cache set)
|
|
80
|
+
const label = cacheMetrics.cacheMetricsLabel(key, feedId, this.cache.type);
|
|
81
|
+
cacheMetrics.cacheSet(label, ttl, timeDelta);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Looks for an adapter response in the cache.
|
|
88
|
+
*
|
|
89
|
+
* @param cacheKey - the key made from the adapter params
|
|
90
|
+
* @returns the associated response if found
|
|
91
|
+
*/
|
|
92
|
+
read(cacheKey) {
|
|
93
|
+
return this.cache.get(cacheKey);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.ResponseCache = ResponseCache;
|
|
97
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/cache/response.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,yBAA8D;AAC9D,wDAAyC;AAEzC;;GAEG;AACH,MAAa,aAAa;IAWxB,YAAY,EACV,eAAe,EACf,YAAY,EACZ,MAAM,EACN,YAAY,GAMb;QACC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAA8C,CAAA;QACxE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,OAAuC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAmC;gBAC/C,GAAG,CAAC,CAAC,QAAQ;gBACb,UAAU,EAAG,CAAC,CAAC,QAA6C,CAAC,UAAU,IAAI,GAAG;aAC/E,CAAA;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE;gBAC3E,QAAQ,CAAC,IAAI,GAAG;oBACd,OAAO,EAAE;wBACP,MAAM,EAAE,IAAA,kBAAe,EACrB;4BACE,eAAe,EAAE,IAAI,CAAC,eAAe;4BACrC,aAAa,EAAE,IAAI,CAAC,MAAM;yBAC3B,EACD,CAAC,CAAC,MAAM,CACT;qBACF;iBACF,CAAA;aACF;YAED,OAAO;gBACL,GAAG,EAAE,IAAA,oBAAiB,EACpB;oBACE,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,aAAa,EAAE,IAAI,CAAC,MAAM;iBAC3B,EACD,CAAC,CAAC,MAAM,CACT;gBACD,KAAK,EAAE,QAAQ;aAChB,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAA;QACrC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE;YACpC,wGAAwG;YACxG,MAAM,QAAQ,GAAG,KAAmC,CAAA;YACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAA;YAC7C,IAAI,MAAM,EAAE;gBACV,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAA;gBAC/D,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAA;gBAE/D,0EAA0E;gBAC1E,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1E,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;aAC7C;SACF;QAED,OAAM;IACR,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;CACF;AAjGD,sCAiGC"}
|
package/config/index.d.ts
CHANGED
|
@@ -142,11 +142,6 @@ export declare const BaseSettings: {
|
|
|
142
142
|
readonly description: "Retry count for failed HTTP requests";
|
|
143
143
|
readonly default: 1;
|
|
144
144
|
};
|
|
145
|
-
readonly SSE_SUBSCRIPTION_UPDATE_SLEEP: {
|
|
146
|
-
readonly description: "Maximum amount of time (in ms) between each update to the set of subscribed feeds";
|
|
147
|
-
readonly type: "number";
|
|
148
|
-
readonly default: 1000;
|
|
149
|
-
};
|
|
150
145
|
readonly SSE_KEEPALIVE_SLEEP: {
|
|
151
146
|
readonly description: "Maximum amount of time (in ms) between each SSE keepalive request";
|
|
152
147
|
readonly type: "number";
|
|
@@ -163,7 +158,12 @@ export declare const BaseSettings: {
|
|
|
163
158
|
readonly default: 300000;
|
|
164
159
|
};
|
|
165
160
|
readonly WS_SUBSCRIPTION_TTL: {
|
|
166
|
-
readonly description: "";
|
|
161
|
+
readonly description: "The time in ms a request will live in the subscription set before becoming stale";
|
|
162
|
+
readonly type: "number";
|
|
163
|
+
readonly default: 120000;
|
|
164
|
+
};
|
|
165
|
+
readonly WS_SUBSCRIPTION_UNRESPONSIVE_TTL: {
|
|
166
|
+
readonly description: "The maximum acceptable time (in milliseconds) since the last message received on a WebSocket connection before it is considered unresponsive, causing the adapter to close and attempt to reopen it.";
|
|
167
167
|
readonly type: "number";
|
|
168
168
|
readonly default: 120000;
|
|
169
169
|
};
|
package/config/index.js
CHANGED
|
@@ -191,11 +191,6 @@ exports.BaseSettings = {
|
|
|
191
191
|
description: 'Retry count for failed HTTP requests',
|
|
192
192
|
default: 1,
|
|
193
193
|
},
|
|
194
|
-
SSE_SUBSCRIPTION_UPDATE_SLEEP: {
|
|
195
|
-
description: 'Maximum amount of time (in ms) between each update to the set of subscribed feeds',
|
|
196
|
-
type: 'number',
|
|
197
|
-
default: 1000,
|
|
198
|
-
},
|
|
199
194
|
SSE_KEEPALIVE_SLEEP: {
|
|
200
195
|
description: 'Maximum amount of time (in ms) between each SSE keepalive request',
|
|
201
196
|
type: 'number',
|
|
@@ -216,14 +211,15 @@ exports.BaseSettings = {
|
|
|
216
211
|
// default: 3,
|
|
217
212
|
// },
|
|
218
213
|
WS_SUBSCRIPTION_TTL: {
|
|
219
|
-
description: '',
|
|
214
|
+
description: 'The time in ms a request will live in the subscription set before becoming stale',
|
|
215
|
+
type: 'number',
|
|
216
|
+
default: 120000,
|
|
217
|
+
},
|
|
218
|
+
WS_SUBSCRIPTION_UNRESPONSIVE_TTL: {
|
|
219
|
+
description: 'The maximum acceptable time (in milliseconds) since the last message received on a WebSocket connection before it is considered unresponsive, causing the adapter to close and attempt to reopen it.',
|
|
220
220
|
type: 'number',
|
|
221
221
|
default: 120000,
|
|
222
222
|
},
|
|
223
|
-
// WS_SUBSCRIPTION_UNRESPONSIVE_TTL: {
|
|
224
|
-
// type: 'number',
|
|
225
|
-
// default: false,
|
|
226
|
-
// },
|
|
227
223
|
// WS_TIME_UNTIL_HANDLE_NEXT_MESSAGE_OVERRIDE: {
|
|
228
224
|
// description: 'Time to wait until adapter should handle next WS message',
|
|
229
225
|
// type: 'number',
|