diff --git a/examples/getting_started/package-lock.json b/examples/getting_started/package-lock.json index dc91897..ac07ee6 100644 --- a/examples/getting_started/package-lock.json +++ b/examples/getting_started/package-lock.json @@ -13,7 +13,7 @@ }, "../..": { "name": "@harnessio/ff-nodejs-server-sdk", - "version": "1.4.0", + "version": "1.4.1", "bundleDependencies": [ "axios", "eventsource", @@ -32,7 +32,6 @@ "tslib": "~2.3.0" }, "devDependencies": { - "@openapitools/openapi-generator-cli": "^2.4.12", "@types/jest": "~29.5.8", "@types/keyv": "^3.1.3", "@types/node": "^14.17.11", @@ -63,7 +62,6 @@ "@harnessio/ff-nodejs-server-sdk": { "version": "file:../..", "requires": { - "@openapitools/openapi-generator-cli": "^2.4.12", "@types/jest": "~29.5.8", "@types/keyv": "^3.1.3", "@types/node": "^14.17.11", diff --git a/package-lock.json b/package-lock.json index 0ecdf6f..3cc1c3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@harnessio/ff-nodejs-server-sdk", - "version": "1.4.0", + "version": "1.4.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@harnessio/ff-nodejs-server-sdk", - "version": "1.4.0", + "version": "1.4.1", "bundleDependencies": [ "axios", "eventsource", diff --git a/package.json b/package.json index e30715d..e00fcc8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@harnessio/ff-nodejs-server-sdk", - "version": "1.4.0", + "version": "1.4.1", "description": "Feature flags SDK for NodeJS environments", "main": "dist/cjs/index.js", "module": "dist/esm/index.mjs", diff --git a/src/metrics.ts b/src/metrics.ts index 378618d..10f5042 100644 --- a/src/metrics.ts +++ b/src/metrics.ts @@ -101,11 +101,6 @@ export const MetricsProcessor = ( }; const _summarize = (): Metrics | unknown => { - if (!data) { - log.debug('No metrics data!'); - return; - } - const targetData: TargetData[] = []; const metricsData: MetricsData[] = []; @@ -184,30 +179,34 @@ export const MetricsProcessor = ( const _send = (): void => { if (closed) { + log.debug('SDK has been closed before metrics can be sent'); + return; + } + + if (data.size == 0) { + log.debug('No metrics to send in this interval'); return; } const metrics: Metrics = _summarize(); - if (metrics && metrics.metricsData.length && metrics.targetData.length) { - log.debug('Start sending metrics data'); - api - .postMetrics(environment, cluster, metrics) - .then((response) => { - log.debug('Metrics server returns: ', response.status); - infoMetricsSuccess(log); - if (response.status >= 400) { - log.error( - 'Error while sending metrics data with status code: ', - response.status, - ); - } - }) - .catch((error: Error) => { - warnPostMetricsFailed(`${error}`, log); - log.debug('Metrics server returns error: ', error); - }); - } + log.debug('Start sending metrics data'); + api + .postMetrics(environment, cluster, metrics) + .then((response) => { + log.debug('Metrics server returns: ', response.status); + infoMetricsSuccess(log); + if (response.status >= 400) { + log.error( + 'Error while sending metrics data with status code: ', + response.status, + ); + } + }) + .catch((error: Error) => { + warnPostMetricsFailed(`${error}`, log); + log.debug('Metrics server returns error: ', error); + }); }; const start = (): void => { diff --git a/src/streaming.ts b/src/streaming.ts index df231c5..c480659 100644 --- a/src/streaming.ts +++ b/src/streaming.ts @@ -143,7 +143,6 @@ export class StreamProcessor { res .on('data', (data) => { - debugStreamEventReceived(this.log); this.processData(data); }) .on('close', () => { @@ -166,11 +165,16 @@ export class StreamProcessor { private processData(data: any): void { const lines = data.toString().split(/\r?\n/); + if (lines[0].startsWith(":")) { + this.log.debug("SSE Heartbeat received") + return; + } lines.forEach((line) => this.processLine(line)); } private processLine(line: string): void { if (line.startsWith('data:')) { + debugStreamEventReceived(this.log); this.log.debug('SSE GOT:', line.substring(5)); const msg = JSON.parse(line.substring(5)); diff --git a/src/version.ts b/src/version.ts index b44ee38..d93bbd2 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '1.4.0'; +export const VERSION = '1.4.1';