diff --git a/packages/lambda-powertools-middleware-log-timeout/README.md b/packages/lambda-powertools-middleware-log-timeout/README.md index 2d96db8d..0879da68 100644 --- a/packages/lambda-powertools-middleware-log-timeout/README.md +++ b/packages/lambda-powertools-middleware-log-timeout/README.md @@ -4,7 +4,7 @@ A [Middy](https://github.com/middyjs/middy) middleware that will log a timeout e Main features: -* records an error log message with the invocation event as attribute when an invocation errors +* records an error log message with the invocation event as attribute when an invocation times out ## Getting Started @@ -14,16 +14,6 @@ Alternatively, if you use the template `@perform/lambda-powertools-pattern-basic ## API -Accepts a configuration object of the following shape: - -```js -{ - // Log the timed out error message this many millis before a function - // actually times out. Defaults to 10ms. - thresholdMillis: double -} -``` - ```js const middy = require('middy') const logTimeout = require('@perform/lambda-powertools-middleware-log-timeout') diff --git a/packages/lambda-powertools-pattern-basic/README.md b/packages/lambda-powertools-pattern-basic/README.md index c3d97349..7be90a31 100644 --- a/packages/lambda-powertools-pattern-basic/README.md +++ b/packages/lambda-powertools-pattern-basic/README.md @@ -1,6 +1,6 @@ # lambda-powertools-pattern-basic -A basic pattern that helps you follow our guidelines around logging and monitoring and be a good citizen in DAZN 2.0 :-). +A basic pattern that helps you follow our guidelines around logging and monitoring. Main features: @@ -12,6 +12,8 @@ Main features: * applies the `@perform/lambda-powertools-middleware-sample-logging` middleware at 1% sample rate +* applies the `@perform/lambda-powertools-middleware-log-timeout` middleware at default 10ms threshold (i.e. log an error message 10ms before an invocation actually times out) + ## Getting Started Install from NPM: `npm install @perform/lambda-powertools-pattern-basic` @@ -24,4 +26,4 @@ const wrap = require('@perform/lambda-powertools-pattern-basic') module.exports.handler = wrap(async (event, context) => { return 42 }) -``` \ No newline at end of file +``` diff --git a/packages/lambda-powertools-pattern-basic/index.js b/packages/lambda-powertools-pattern-basic/index.js index 58e2cf02..be917f6e 100644 --- a/packages/lambda-powertools-pattern-basic/index.js +++ b/packages/lambda-powertools-pattern-basic/index.js @@ -1,6 +1,7 @@ const middy = require('middy') const sampleLogging = require('@perform/lambda-powertools-middleware-sample-logging') const captureCorrelationIds = require('@perform/lambda-powertools-middleware-correlation-ids') +const logTimeout = require('@perform/lambda-powertools-middleware-log-timeout') const AWS_REGION = process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION const FUNCTION_NAME = process.env.AWS_LAMBDA_FUNCTION_NAME @@ -17,4 +18,5 @@ module.exports = f => { return middy(f) .use(captureCorrelationIds({ sampleDebugLogRate: 0.01 })) .use(sampleLogging({ sampleRate: 0.01 })) + .use(logTimeout()) } diff --git a/packages/lambda-powertools-pattern-basic/package.json b/packages/lambda-powertools-pattern-basic/package.json index d5df67c6..9f97a09d 100644 --- a/packages/lambda-powertools-pattern-basic/package.json +++ b/packages/lambda-powertools-pattern-basic/package.json @@ -8,6 +8,7 @@ "dependencies": { "@perform/lambda-powertools-middleware-correlation-ids": "^1.2.0", "@perform/lambda-powertools-middleware-sample-logging": "^1.1.7", + "@perform/lambda-powertools-middleware-log-timeout": "^1.0.0", "middy": "^0.15.0" }, "publishConfig": { diff --git a/packages/lambda-powertools-pattern-obfuscate/README.md b/packages/lambda-powertools-pattern-obfuscate/README.md index f696964b..01d3bf14 100644 --- a/packages/lambda-powertools-pattern-obfuscate/README.md +++ b/packages/lambda-powertools-pattern-obfuscate/README.md @@ -1,6 +1,6 @@ # lambda-powertools-pattern-obfuscate -A pattern that helps you follow our guidelines around logging and monitoring and be a good citizen in DAZN 2.0 :-) With added ability to obfuscate personal fields. +A pattern that helps you follow our guidelines around logging and monitoring. With added ability to obfuscate personal fields. Main features: @@ -12,8 +12,10 @@ Main features: * applies the `@perform/lambda-powertools-middleware-sample-logging` middleware at 1% sample rate -* applies the `@perform/lambda-powertools-middleware-obfuscated-logging` middleware with passed obfuscation filters - +* applies the `@perform/lambda-powertools-middleware-obfuscated-logging` middleware with passed obfuscation filters + +* applies the `@perform/lambda-powertools-middleware-log-timeout` middleware at default 10ms threshold (i.e. log an error message 10ms before an invocation actually times out) + ## Getting Started Install from NPM: `npm install @perform/lambda-powertools-pattern-obfuscate` @@ -26,4 +28,4 @@ const obfuscatedWrap = require('@perform/lambda-powertools-pattern-obfuscated') module.exports.handler = obfuscatedWrap(['Records.*.firstName', 'Records.*.lastName'], async (event, context) => { return 42 }) -``` \ No newline at end of file +``` diff --git a/packages/lambda-powertools-pattern-obfuscate/index.js b/packages/lambda-powertools-pattern-obfuscate/index.js index f1f1756b..1cf4d7fb 100644 --- a/packages/lambda-powertools-pattern-obfuscate/index.js +++ b/packages/lambda-powertools-pattern-obfuscate/index.js @@ -2,6 +2,7 @@ const middy = require('middy') const sampleLogging = require('@perform/lambda-powertools-middleware-sample-logging') const { obfuscaterMiddleware, FILTERING_MODE: obfuscaterFilteringMode } = require('@perform/lambda-powertools-middleware-obfuscater') const captureCorrelationIds = require('@perform/lambda-powertools-middleware-correlation-ids') +const logTimeout = require('@perform/lambda-powertools-middleware-log-timeout') const AWS_REGION = process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION const FUNCTION_NAME = process.env.AWS_LAMBDA_FUNCTION_NAME @@ -53,6 +54,7 @@ const obfuscaterPattern = (obfuscationFilters, f, filterOnAfter = false, filteri .use(errorObfuscater(obfuscationFilters, filteringMode)) .use(sampleLogging({ sampleRate: 0.01, obfuscationFilters })) .use(genericObfuscater(obfuscationFilters, filteringMode, filterOnAfter)) + .use(logTimeout()) } module.exports = { diff --git a/packages/lambda-powertools-pattern-obfuscate/package.json b/packages/lambda-powertools-pattern-obfuscate/package.json index a0c9977e..3bbeddb8 100644 --- a/packages/lambda-powertools-pattern-obfuscate/package.json +++ b/packages/lambda-powertools-pattern-obfuscate/package.json @@ -9,6 +9,7 @@ "@perform/lambda-powertools-middleware-correlation-ids": "^1.2.0", "@perform/lambda-powertools-middleware-obfuscater": "^1.1.7", "@perform/lambda-powertools-middleware-sample-logging": "^1.1.7", + "@perform/lambda-powertools-middleware-log-timeout": "^1.0.0", "middy": "^0.15.0" }, "devDependencies": {