From f48bd1cbb131938f625d5c38e5f4c743015fb148 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Wed, 25 May 2022 23:37:29 +0200 Subject: [PATCH 1/2] chore: cleaned up examples + removed links --- README.md | 3 -- docs/index.md | 3 -- packages/commons/README.md | 3 -- packages/logger/README.md | 3 -- packages/logger/examples/additional-keys.ts | 35 ---------------- packages/logger/examples/child-logger.ts | 34 ---------------- .../logger/examples/constructor-options.ts | 32 --------------- .../logger/examples/custom-log-formatter.ts | 35 ---------------- .../logger/examples/custom-logger-options.ts | 40 ------------------- .../logger/examples/ephemeral-attributes.ts | 38 ------------------ packages/logger/examples/errors.ts | 35 ---------------- packages/logger/examples/hello-world.ts | 28 ------------- .../examples/inject-context-decorator.ts | 27 ------------- .../examples/inject-context-middleware.ts | 32 --------------- packages/logger/examples/inject-context.ts | 27 ------------- .../logger/examples/persistent-attributes.ts | 39 ------------------ packages/logger/examples/sample-rate.ts | 37 ----------------- .../utils/config/CustomConfigService.ts | 16 -------- .../utils/formatters/CustomLogFormatter.ts | 37 ----------------- .../utils/formatters/MyCompanyLogFormatter.ts | 37 ----------------- .../examples/utils/lambda/LambdaInterface.ts | 9 ----- .../logger/examples/utils/lambda/index.ts | 1 - packages/metrics/README.md | 3 -- packages/metrics/examples/cold-start.ts | 26 ------------ .../metrics/examples/constructor-options.ts | 25 ------------ .../metrics/examples/decorator/cold-start.ts | 26 ------------ .../examples/decorator/constructor-options.ts | 21 ---------- .../default-dimensions-constructor.ts | 27 ------------- .../examples/decorator/default-dimensions.ts | 34 ---------------- .../metrics/examples/decorator/dimensions.ts | 28 ------------- .../examples/decorator/empty-metrics.ts | 27 ------------- .../metrics/examples/decorator/hello-world.ts | 27 ------------- .../examples/decorator/manual-flushing.ts | 27 ------------- .../decorator/manual-metrics-print.ts | 28 ------------- .../examples/decorator/single-metric.ts | 31 -------------- .../default-dimensions-constructor.ts | 22 ---------- .../metrics/examples/default-dimensions.ts | 31 -------------- packages/metrics/examples/dimensions.ts | 23 ----------- packages/metrics/examples/empty-metrics.ts | 23 ----------- packages/metrics/examples/hello-world.ts | 22 ---------- packages/metrics/examples/manual-flushing.ts | 23 ----------- .../metrics/examples/manual-metrics-print.ts | 25 ------------ packages/metrics/examples/single-metric.ts | 29 -------------- .../examples/utils/lambda/LambdaInterface.ts | 9 ----- .../metrics/examples/utils/lambda/index.ts | 1 - packages/tracer/README.md | 3 -- 46 files changed, 1092 deletions(-) delete mode 100644 packages/logger/examples/additional-keys.ts delete mode 100644 packages/logger/examples/child-logger.ts delete mode 100644 packages/logger/examples/constructor-options.ts delete mode 100644 packages/logger/examples/custom-log-formatter.ts delete mode 100644 packages/logger/examples/custom-logger-options.ts delete mode 100644 packages/logger/examples/ephemeral-attributes.ts delete mode 100644 packages/logger/examples/errors.ts delete mode 100644 packages/logger/examples/hello-world.ts delete mode 100644 packages/logger/examples/inject-context-decorator.ts delete mode 100644 packages/logger/examples/inject-context-middleware.ts delete mode 100644 packages/logger/examples/inject-context.ts delete mode 100644 packages/logger/examples/persistent-attributes.ts delete mode 100644 packages/logger/examples/sample-rate.ts delete mode 100644 packages/logger/examples/utils/config/CustomConfigService.ts delete mode 100644 packages/logger/examples/utils/formatters/CustomLogFormatter.ts delete mode 100644 packages/logger/examples/utils/formatters/MyCompanyLogFormatter.ts delete mode 100644 packages/logger/examples/utils/lambda/LambdaInterface.ts delete mode 100644 packages/logger/examples/utils/lambda/index.ts delete mode 100644 packages/metrics/examples/cold-start.ts delete mode 100644 packages/metrics/examples/constructor-options.ts delete mode 100644 packages/metrics/examples/decorator/cold-start.ts delete mode 100644 packages/metrics/examples/decorator/constructor-options.ts delete mode 100644 packages/metrics/examples/decorator/default-dimensions-constructor.ts delete mode 100644 packages/metrics/examples/decorator/default-dimensions.ts delete mode 100644 packages/metrics/examples/decorator/dimensions.ts delete mode 100644 packages/metrics/examples/decorator/empty-metrics.ts delete mode 100644 packages/metrics/examples/decorator/hello-world.ts delete mode 100644 packages/metrics/examples/decorator/manual-flushing.ts delete mode 100644 packages/metrics/examples/decorator/manual-metrics-print.ts delete mode 100644 packages/metrics/examples/decorator/single-metric.ts delete mode 100644 packages/metrics/examples/default-dimensions-constructor.ts delete mode 100644 packages/metrics/examples/default-dimensions.ts delete mode 100644 packages/metrics/examples/dimensions.ts delete mode 100644 packages/metrics/examples/empty-metrics.ts delete mode 100644 packages/metrics/examples/hello-world.ts delete mode 100644 packages/metrics/examples/manual-flushing.ts delete mode 100644 packages/metrics/examples/manual-metrics-print.ts delete mode 100644 packages/metrics/examples/single-metric.ts delete mode 100644 packages/metrics/examples/utils/lambda/LambdaInterface.ts delete mode 100644 packages/metrics/examples/utils/lambda/index.ts diff --git a/README.md b/README.md index 3537f7c608..3db5a22b10 100644 --- a/README.md +++ b/README.md @@ -45,9 +45,6 @@ Each TypeScript utility is installed as standalone NPM package. * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) * [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk/src) -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples) -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples) ## Credits diff --git a/docs/index.md b/docs/index.md index e00d1146ad..aace91263e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -64,9 +64,6 @@ Each TypeScript utility is installed as standalone NPM package. * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk){target="_blank"} * [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam){target="_blank"} -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk/lib){target="_blank"} -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples){target="_blank"} -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples){target="_blank"} ## Credits diff --git a/packages/commons/README.md b/packages/commons/README.md index cc59a3fd64..e7b55ef421 100644 --- a/packages/commons/README.md +++ b/packages/commons/README.md @@ -36,9 +36,6 @@ Each TypeScript utility is installed as standalone NPM package. * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) * [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/tracing/examples) -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples) -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples) ## Credits diff --git a/packages/logger/README.md b/packages/logger/README.md index c330f51cf0..fc46544a06 100644 --- a/packages/logger/README.md +++ b/packages/logger/README.md @@ -37,9 +37,6 @@ Each TypeScript utility is installed as standalone NPM package. * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) * [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/tracing/examples) -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples) -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples) ## Credits diff --git a/packages/logger/examples/additional-keys.ts b/packages/logger/examples/additional-keys.ts deleted file mode 100644 index 673a820248..0000000000 --- a/packages/logger/examples/additional-keys.ts +++ /dev/null @@ -1,35 +0,0 @@ -// Populate runtime -require('../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'WARN'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async (event) => { - - // Pass a custom correlation ID - logger.warn('This is a WARN log', { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } }); - - // Pass an error that occurred - logger.error('This is an ERROR log', new Error('Something bad happened!')); - - // Pass a simple string as additional data - logger.info('This is an INFO log', 'Extra log data'); - - // Pass an arbitrary object as additional data - logger.debug('This is a DEBUG log', { lambdaEvent: event }); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/child-logger.ts b/packages/logger/examples/child-logger.ts deleted file mode 100644 index a261996391..0000000000 --- a/packages/logger/examples/child-logger.ts +++ /dev/null @@ -1,34 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const parentLogger = new Logger({ - logLevel: 'INFO' -}); - -const childLogger = parentLogger.createChild({ - logLevel: 'ERROR' -}); - -const lambdaHandler: Handler = async () => { - - parentLogger.info('This is an INFO log, from the parent logger'); - parentLogger.error('This is an ERROR log, from the parent logger'); - - childLogger.info('This is an INFO log, from the child logger'); - childLogger.error('This is an ERROR log, from the child logger'); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/constructor-options.ts b/packages/logger/examples/constructor-options.ts deleted file mode 100644 index 3671e5b4cc..0000000000 --- a/packages/logger/examples/constructor-options.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import * as powertool from '../../../package.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger({ - logLevel: 'DEBUG', - serviceName: 'hello-world', - sampleRateValue: 0.5, - persistentLogAttributes: { // Custom attributes that will be added in every log item - awsAccountId: process.env.AWS_ACCOUNT_ID || '123456789012', - logger: { - name: powertool.name, - version: powertool.version, - } - }, -}); - -const lambdaHandler: Handler = async () => { - - logger.info('This is an INFO log', { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } }); - - return { - foo: 'bar' - }; -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/custom-log-formatter.ts b/packages/logger/examples/custom-log-formatter.ts deleted file mode 100644 index 3308b93121..0000000000 --- a/packages/logger/examples/custom-log-formatter.ts +++ /dev/null @@ -1,35 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import * as powertool from '../../../package.json'; -import { MyCompanyLogFormatter } from './utils/formatters/MyCompanyLogFormatter'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger({ - logFormatter: new MyCompanyLogFormatter(), // Custom log formatter to print the log in a custom structure - logLevel: 'DEBUG', - serviceName: 'hello-world', - sampleRateValue: 0.5, - persistentLogAttributes: { // Custom attributes that will be added in every log item - awsAccountId: process.env.AWS_ACCOUNT_ID || '123456789012', - logger: { - name: powertool.name, - version: powertool.version, - } - }, -}); - -const lambdaHandler: Handler = async (event, context) => { - logger.addContext(context); - - logger.info('This is an INFO log', { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } }); - - return { - foo: 'bar' - }; -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/custom-logger-options.ts b/packages/logger/examples/custom-logger-options.ts deleted file mode 100644 index 72bb286a6f..0000000000 --- a/packages/logger/examples/custom-logger-options.ts +++ /dev/null @@ -1,40 +0,0 @@ -// Populate runtime -require('../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.CUSTOM_ENV = 'prod'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import * as powertool from '../../../package.json'; -import { CustomConfigService } from './utils/config/CustomConfigService'; -import { CustomLogFormatter } from './utils/formatters/CustomLogFormatter'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger({ - logLevel: 'INFO', // Override options - serviceName: 'foo-bar', - sampleRateValue: 0.00001, - persistentLogAttributes: { // Custom attributes that will be added in every log - awsAccountId: '123456789012', - logger: { - name: powertool.name, - version: powertool.version, - } - }, - logFormatter: new CustomLogFormatter(), // Custom log formatter to print the log in custom structure - customConfigService: new CustomConfigService() // Custom config service, that could be used for AppConfig for example -}); - -const lambdaHandler: Handler = async (event, context) => { - logger.addContext(context); - - logger.info('This is an INFO log', { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } }); - - return { - foo: 'bar' - }; -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/ephemeral-attributes.ts b/packages/logger/examples/ephemeral-attributes.ts deleted file mode 100644 index 024504e38b..0000000000 --- a/packages/logger/examples/ephemeral-attributes.ts +++ /dev/null @@ -1,38 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - const myImportantVariable = { - foo: 'bar' - }; - - // Pass additional keys and values in single log items - - // As second parameter - logger.info('This is a log with an extra variable', { data: myImportantVariable }); - - // You can also pass multiple parameters - logger.info('This is a log with 2 extra variables', - { data: myImportantVariable }, - { correlationIds: { myCustomCorrelationId: 'foo-bar-baz' } } - ); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/errors.ts b/packages/logger/examples/errors.ts deleted file mode 100644 index c0102adef0..0000000000 --- a/packages/logger/examples/errors.ts +++ /dev/null @@ -1,35 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'WARN'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - try { - throw new Error('Unexpected error #1'); - } catch (error) { - logger.error('This is an ERROR log #1', error as Error); - } - - try { - throw new Error('Unexpected error #2'); - } catch (error) { - logger.error('This is an ERROR log #2', { myCustomErrorKey: error as Error } ); - } - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/hello-world.ts b/packages/logger/examples/hello-world.ts deleted file mode 100644 index 3e0795f797..0000000000 --- a/packages/logger/examples/hello-world.ts +++ /dev/null @@ -1,28 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'WARN'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - logger.debug('This is a DEBUG log'); - logger.info('This is an INFO log'); - logger.warn('This is a WARN log'); - logger.error('This is an ERROR log'); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/inject-context-decorator.ts b/packages/logger/examples/inject-context-decorator.ts deleted file mode 100644 index 23e43de0c6..0000000000 --- a/packages/logger/examples/inject-context-decorator.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from './utils/lambda'; -import { Logger } from '../src'; -import { Callback, Context } from 'aws-lambda/handler'; - -const logger = new Logger(); - -class Lambda implements LambdaInterface { - - @logger.injectLambdaContext() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - - logger.info('This is an INFO log with some context'); - - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/inject-context-middleware.ts b/packages/logger/examples/inject-context-middleware.ts deleted file mode 100644 index c60260296e..0000000000 --- a/packages/logger/examples/inject-context-middleware.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -import { injectLambdaContext } from '../src'; -import middy from '@middy/core'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - logger.info('This is an INFO log'); - - return { - foo: 'bar' - }; - -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(injectLambdaContext(logger)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); - diff --git a/packages/logger/examples/inject-context.ts b/packages/logger/examples/inject-context.ts deleted file mode 100644 index fbf9bd4a50..0000000000 --- a/packages/logger/examples/inject-context.ts +++ /dev/null @@ -1,27 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async (event, context) => { - - logger.addContext(context); - - logger.info('This is an INFO log'); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/persistent-attributes.ts b/packages/logger/examples/persistent-attributes.ts deleted file mode 100644 index 1e01f38fe2..0000000000 --- a/packages/logger/examples/persistent-attributes.ts +++ /dev/null @@ -1,39 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'INFO'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import * as powertool from '../../../package.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - // Add persistent log keys to an existing Logger instance: - logger.appendKeys({ - aws_account_id: '123456789012', - aws_region: 'eu-west-1', - logger: { - name: powertool.name, - version: powertool.version, - } - }); - - // This info log will print all extra custom attributes added above - // Extra attributes: logger object with name and version of this library, awsAccountId, awsRegion - logger.info('This is an INFO log'); - logger.info('This is another INFO log'); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/sample-rate.ts b/packages/logger/examples/sample-rate.ts deleted file mode 100644 index 0051a62e6d..0000000000 --- a/packages/logger/examples/sample-rate.ts +++ /dev/null @@ -1,37 +0,0 @@ -// Populate runtime -require('./../tests/helpers/populateEnvironmentVariables'); - -// Additional runtime variables -process.env.LOG_LEVEL = 'ERROR'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world'; -process.env.POWERTOOLS_LOGGER_SAMPLE_RATE = '0.5'; - -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Logger } from '../src'; - -const logger = new Logger(); - -const lambdaHandler: Handler = async () => { - - // This log item (equal to log level 'ERROR') will be printed to standard output - // in all Lambda invocations - logger.error('This is an ERROR log'); - - // These log items (below the log level 'ERROR') have ~50% chance - // of being printed in a Lambda invocation - logger.debug('This is a DEBUG log that has 50% chance of being printed'); - logger.info('This is an INFO log that has 50% chance of being printed'); - logger.warn('This is a WARN log that has 50% chance of being printed'); - - // Optional: refresh sample rate calculation on runtime - // logger.refreshSampleRateCalculation(); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('lambda invoked!')); \ No newline at end of file diff --git a/packages/logger/examples/utils/config/CustomConfigService.ts b/packages/logger/examples/utils/config/CustomConfigService.ts deleted file mode 100644 index c5070c48a6..0000000000 --- a/packages/logger/examples/utils/config/CustomConfigService.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { EnvironmentVariablesService } from '../../../src/config'; - -class CustomConfigService extends EnvironmentVariablesService { - - // Custom environment variables - protected customEnvironmentVariable = 'CUSTOM_ENV'; - - public getCurrentEnvironment(): string { - return this.get(this.customEnvironmentVariable); - } - -} - -export { - CustomConfigService -}; \ No newline at end of file diff --git a/packages/logger/examples/utils/formatters/CustomLogFormatter.ts b/packages/logger/examples/utils/formatters/CustomLogFormatter.ts deleted file mode 100644 index 473c2b6fc5..0000000000 --- a/packages/logger/examples/utils/formatters/CustomLogFormatter.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { LogFormatter } from '../../../src'; -import { LogAttributes, UnformattedAttributes } from '../../../src/types'; - -type MyCompanyLog = LogAttributes; - -class CustomLogFormatter extends LogFormatter { - - public formatAttributes(attributes: UnformattedAttributes): MyCompanyLog { - return { - message: attributes.message, - service: attributes.serviceName, - environment: attributes.environment, - awsRegion: attributes.awsRegion, - correlationIds: { - awsRequestId: attributes.lambdaContext?.awsRequestId, - xRayTraceId: attributes.xRayTraceId - }, - lambdaFunction: { - name: attributes.lambdaContext?.functionName, - arn: attributes.lambdaContext?.invokedFunctionArn, - memoryLimitInMB: attributes.lambdaContext?.memoryLimitInMB, - version: attributes.lambdaContext?.functionVersion, - coldStart: attributes.lambdaContext?.coldStart, - }, - logLevel: attributes.logLevel, - timestamp: this.formatTimestamp(attributes.timestamp), - logger: { - sampleRateValue: attributes.sampleRateValue, - }, - }; - } - -} - -export { - CustomLogFormatter -}; \ No newline at end of file diff --git a/packages/logger/examples/utils/formatters/MyCompanyLogFormatter.ts b/packages/logger/examples/utils/formatters/MyCompanyLogFormatter.ts deleted file mode 100644 index e92a9bbad7..0000000000 --- a/packages/logger/examples/utils/formatters/MyCompanyLogFormatter.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { LogFormatter } from '../../../src'; -import { LogAttributes, UnformattedAttributes } from '../../../src/types'; - -type MyCompanyLog = LogAttributes; - -class MyCompanyLogFormatter extends LogFormatter { - - public formatAttributes(attributes: UnformattedAttributes): MyCompanyLog { - return { - message: attributes.message, - service: attributes.serviceName, - environment: attributes.environment, - awsRegion: attributes.awsRegion, - correlationIds: { - awsRequestId: attributes.lambdaContext?.awsRequestId, - xRayTraceId: attributes.xRayTraceId - }, - lambdaFunction: { - name: attributes.lambdaContext?.functionName, - arn: attributes.lambdaContext?.invokedFunctionArn, - memoryLimitInMB: attributes.lambdaContext?.memoryLimitInMB, - version: attributes.lambdaContext?.functionVersion, - coldStart: attributes.lambdaContext?.coldStart, - }, - logLevel: attributes.logLevel, - timestamp: this.formatTimestamp(attributes.timestamp), - logger: { - sampleRateValue: attributes.sampleRateValue, - }, - }; - } - -} - -export { - MyCompanyLogFormatter -}; \ No newline at end of file diff --git a/packages/logger/examples/utils/lambda/LambdaInterface.ts b/packages/logger/examples/utils/lambda/LambdaInterface.ts deleted file mode 100644 index 6e31000601..0000000000 --- a/packages/logger/examples/utils/lambda/LambdaInterface.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Handler } from 'aws-lambda'; - -interface LambdaInterface { - handler: Handler -} - -export { - LambdaInterface -}; \ No newline at end of file diff --git a/packages/logger/examples/utils/lambda/index.ts b/packages/logger/examples/utils/lambda/index.ts deleted file mode 100644 index 059e4dbaf7..0000000000 --- a/packages/logger/examples/utils/lambda/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './LambdaInterface'; \ No newline at end of file diff --git a/packages/metrics/README.md b/packages/metrics/README.md index ea429fe74e..f5633380fb 100644 --- a/packages/metrics/README.md +++ b/packages/metrics/README.md @@ -36,9 +36,6 @@ Each TypeScript utility is installed as standalone NPM package. * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) * [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/tracing/examples) -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples) -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples) ## Credits diff --git a/packages/metrics/examples/cold-start.ts b/packages/metrics/examples/cold-start.ts deleted file mode 100644 index c6df4da619..0000000000 --- a/packages/metrics/examples/cold-start.ts +++ /dev/null @@ -1,26 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - - metrics.addDimension('custom-dimension', 'true'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); - -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics, { captureColdStartMetric: true })); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked again!')); \ No newline at end of file diff --git a/packages/metrics/examples/constructor-options.ts b/packages/metrics/examples/constructor-options.ts deleted file mode 100644 index 988d750996..0000000000 --- a/packages/metrics/examples/constructor-options.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics({ - namespace: 'hello-world-constructor', - serviceName: 'hello-world-service-constructor' -}); - -const lambdaHandler = async (): Promise => { - metrics.addMetric('test-metric', MetricUnits.Count, 10); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/cold-start.ts b/packages/metrics/examples/decorator/cold-start.ts deleted file mode 100644 index 69cf5976f0..0000000000 --- a/packages/metrics/examples/decorator/cold-start.ts +++ /dev/null @@ -1,26 +0,0 @@ -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { populateEnvironmentVariables } from '../../tests/helpers'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics({ captureColdStartMetric: true }) - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - metrics.addDimension('OuterDimension', 'true'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked again!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/constructor-options.ts b/packages/metrics/examples/decorator/constructor-options.ts deleted file mode 100644 index 9f76162457..0000000000 --- a/packages/metrics/examples/decorator/constructor-options.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { Metrics, MetricUnits } from '../../src'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; - -const metrics = new Metrics({ - namespace: 'hello-world-constructor', - serviceName: 'hello-world-service-constructor' -}); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - metrics.addMetric('test-metric', MetricUnits.Count, 10); - - } - -} -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/default-dimensions-constructor.ts b/packages/metrics/examples/decorator/default-dimensions-constructor.ts deleted file mode 100644 index 748b8f91b1..0000000000 --- a/packages/metrics/examples/decorator/default-dimensions-constructor.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world-constructor'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world-service-constructor'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics({ defaultDimensions:{ 'application': 'hello-world' } }); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - metrics.addMetric('test-metric', MetricUnits.Count, 10); - - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/default-dimensions.ts b/packages/metrics/examples/decorator/default-dimensions.ts deleted file mode 100644 index 47689be465..0000000000 --- a/packages/metrics/examples/decorator/default-dimensions.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics({ defaultDimensions:{ 'application': 'hello-world' } }) - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - - metrics.addDimension('environment', 'dev'); - metrics.addDimension('application', 'hello-world-dev'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); - // You can override the default dimensions by clearing the existing metrics first. Note that the cleared metric will be dropped, it will NOT be published to CloudWatch - const metricsObject = metrics.serializeMetrics(); - metrics.clearMetrics(); - metrics.clearDimensions(); - metrics.addMetric('new-test-metric', MetricUnits.Count, 5); - console.log(JSON.stringify(metricsObject)); - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/dimensions.ts b/packages/metrics/examples/decorator/dimensions.ts deleted file mode 100644 index 0670989199..0000000000 --- a/packages/metrics/examples/decorator/dimensions.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - - metrics.addDimension('environment', 'dev'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); - - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/empty-metrics.ts b/packages/metrics/examples/decorator/empty-metrics.ts deleted file mode 100644 index 8a897f9290..0000000000 --- a/packages/metrics/examples/decorator/empty-metrics.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics } from '../../src'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - // Be default, we will not throw any error if there is no metrics. Use this property to override and throw an exception - @metrics.logMetrics({ throwOnEmptyMetrics: true }) - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - // Notice that no metrics are added - // Since the throwOnEmptyMetrics parameter is set to true, the Powertool throws an Error - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/hello-world.ts b/packages/metrics/examples/decorator/hello-world.ts deleted file mode 100644 index 675cd3fd91..0000000000 --- a/packages/metrics/examples/decorator/hello-world.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; -process.env.POWERTOOLS_SERVICE_NAME = 'hello-world-service'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - metrics.addMetric('test-metric', MetricUnits.Count, 10); - - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/manual-flushing.ts b/packages/metrics/examples/decorator/manual-flushing.ts deleted file mode 100644 index a993dfa726..0000000000 --- a/packages/metrics/examples/decorator/manual-flushing.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics(); - -const lambdaHandler: Handler = async () => { - - metrics.addMetric('test-metric', MetricUnits.Count, 10); - metrics.publishStoredMetrics(); - //Metrics will be published and cleared - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/manual-metrics-print.ts b/packages/metrics/examples/decorator/manual-metrics-print.ts deleted file mode 100644 index 125d7ef703..0000000000 --- a/packages/metrics/examples/decorator/manual-metrics-print.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { Handler } from 'aws-lambda'; -import { Metrics, MetricUnits } from '../../src'; - -const metrics = new Metrics(); - -const lambdaHandler: Handler = async () => { - - metrics.addMetric('test-metric', MetricUnits.Count, 10); - const metricsObject = metrics.serializeMetrics(); - metrics.clearMetrics(); - console.log(JSON.stringify(metricsObject)); - - return { - foo: 'bar' - }; - -}; - -lambdaHandler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/decorator/single-metric.ts b/packages/metrics/examples/decorator/single-metric.ts deleted file mode 100644 index 66ac2102f0..0000000000 --- a/packages/metrics/examples/decorator/single-metric.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { populateEnvironmentVariables } from '../../tests/helpers'; -import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../../tests/resources/contexts/hello-world'; -import { LambdaInterface } from '../utils/lambda'; -import { Callback, Context } from 'aws-lambda/handler'; -import { Metrics, MetricUnits } from '../../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -class Lambda implements LambdaInterface { - - @metrics.logMetrics() - public handler(_event: TEvent, _context: Context, _callback: Callback): void | Promise { - metrics.addDimension('metricUnit', 'milliseconds'); - // This metric will have the "metricUnit" dimension, and no "metricType" dimension: - metrics.addMetric('latency', MetricUnits.Milliseconds, 56); - - const singleMetric = metrics.singleMetric(); - // This metric will have the "metricType" dimension, and no "metricUnit" dimension: - singleMetric.addDimension('metricType', 'business'); - singleMetric.addMetric('videoClicked', MetricUnits.Count, 1); - } - -} - -new Lambda().handler(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/default-dimensions-constructor.ts b/packages/metrics/examples/default-dimensions-constructor.ts deleted file mode 100644 index 12cfe488bb..0000000000 --- a/packages/metrics/examples/default-dimensions-constructor.ts +++ /dev/null @@ -1,22 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics({ defaultDimensions:{ 'application': 'my-application' } }); - -const lambdaHandler = async (): Promise => { - metrics.addMetric('test-metric', MetricUnits.Count, 10); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/default-dimensions.ts b/packages/metrics/examples/default-dimensions.ts deleted file mode 100644 index bf08b547cc..0000000000 --- a/packages/metrics/examples/default-dimensions.ts +++ /dev/null @@ -1,31 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - metrics.addDimension('environment', 'dev'); - metrics.addDimension('application', 'hello-world-dev'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); - metrics.addMetric('new-test-metric-with-dimensions', MetricUnits.Count, 5); - metrics.addMetric('new-test-metric-without-dimensions', MetricUnits.Count, 5); - - // Optional: clear metrics and dimensions created till now - // metrics.clearMetrics(); - // metrics.clearDimensions(); - -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics, { defaultDimensions:{ 'application': 'hello-world' } })); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); diff --git a/packages/metrics/examples/dimensions.ts b/packages/metrics/examples/dimensions.ts deleted file mode 100644 index 90f66a3730..0000000000 --- a/packages/metrics/examples/dimensions.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics({ defaultDimensions:{ 'application': 'my-application' } }); - -const lambdaHandler = async (): Promise => { - metrics.addDimension('environment', 'dev'); - metrics.addMetric('test-metric', MetricUnits.Count, 10); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/empty-metrics.ts b/packages/metrics/examples/empty-metrics.ts deleted file mode 100644 index 8c744b89b0..0000000000 --- a/packages/metrics/examples/empty-metrics.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - // Notice that no metrics are added - // Since the throwOnEmptyMetrics parameter is set to true, the Powertool throws an Error -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics, { throwOnEmptyMetrics: true })); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/hello-world.ts b/packages/metrics/examples/hello-world.ts deleted file mode 100644 index 6b39f5d636..0000000000 --- a/packages/metrics/examples/hello-world.ts +++ /dev/null @@ -1,22 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - metrics.addMetric('test-metric', MetricUnits.Count, 10); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/manual-flushing.ts b/packages/metrics/examples/manual-flushing.ts deleted file mode 100644 index d8b93982cd..0000000000 --- a/packages/metrics/examples/manual-flushing.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - metrics.addMetric('test-metric', MetricUnits.Count, 10); - metrics.publishStoredMetrics(); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/manual-metrics-print.ts b/packages/metrics/examples/manual-metrics-print.ts deleted file mode 100644 index ec12346395..0000000000 --- a/packages/metrics/examples/manual-metrics-print.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - metrics.addMetric('test-metric', MetricUnits.Count, 10); - const metricsObject = metrics.serializeMetrics(); - metrics.clearMetrics(); - console.log(JSON.stringify(metricsObject)); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/single-metric.ts b/packages/metrics/examples/single-metric.ts deleted file mode 100644 index 4161d2be0f..0000000000 --- a/packages/metrics/examples/single-metric.ts +++ /dev/null @@ -1,29 +0,0 @@ -import * as dummyEvent from '../../../tests/resources/events/custom/hello-world.json'; -import { context as dummyContext } from '../../../tests/resources/contexts/hello-world'; -import { populateEnvironmentVariables } from '../tests/helpers'; -import { Metrics, MetricUnits } from '../src'; -import middy from '@middy/core'; -import { logMetrics } from '../src'; - -// Populate runtime -populateEnvironmentVariables(); -// Additional runtime variables -process.env.POWERTOOLS_METRICS_NAMESPACE = 'hello-world'; - -const metrics = new Metrics(); - -const lambdaHandler = async (): Promise => { - metrics.addDimension('metricUnit', 'milliseconds'); - // This metric will have the "metricUnit" dimension, and no "metricType" dimension: - metrics.addMetric('latency', MetricUnits.Milliseconds, 56); - - const singleMetric = metrics.singleMetric(); - // This metric will have the "metricType" dimension, and no "metricUnit" dimension: - singleMetric.addDimension('metricType', 'business'); - singleMetric.addMetric('videoClicked', MetricUnits.Count, 1); -}; - -const handlerWithMiddleware = middy(lambdaHandler) - .use(logMetrics(metrics)); - -handlerWithMiddleware(dummyEvent, dummyContext, () => console.log('Lambda invoked!')); \ No newline at end of file diff --git a/packages/metrics/examples/utils/lambda/LambdaInterface.ts b/packages/metrics/examples/utils/lambda/LambdaInterface.ts deleted file mode 100644 index 6e31000601..0000000000 --- a/packages/metrics/examples/utils/lambda/LambdaInterface.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Handler } from 'aws-lambda'; - -interface LambdaInterface { - handler: Handler -} - -export { - LambdaInterface -}; \ No newline at end of file diff --git a/packages/metrics/examples/utils/lambda/index.ts b/packages/metrics/examples/utils/lambda/index.ts deleted file mode 100644 index 059e4dbaf7..0000000000 --- a/packages/metrics/examples/utils/lambda/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './LambdaInterface'; \ No newline at end of file diff --git a/packages/tracer/README.md b/packages/tracer/README.md index 9ba466aa27..f22574317f 100644 --- a/packages/tracer/README.md +++ b/packages/tracer/README.md @@ -36,9 +36,6 @@ Each TypeScript utility is installed as standalone NPM package. * [CDK](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/cdk) * [SAM](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/examples/sam) -* [Tracer](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/tracing/examples) -* [Logger](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/logger/examples) -* [Metrics](https://github.com/awslabs/aws-lambda-powertools-typescript/tree/main/packages/metrics/examples) ## Credits From a2ef21da798fa53209166dde7467b3efe4d881fa Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Wed, 25 May 2022 23:45:08 +0200 Subject: [PATCH 2/2] chore: remove leftovers --- packages/logger/package.json | 14 +------------- packages/logger/tests/unit/Logger.test.ts | 7 +++++-- packages/metrics/package.json | 22 +--------------------- 3 files changed, 7 insertions(+), 36 deletions(-) diff --git a/packages/logger/package.json b/packages/logger/package.json index c82e147399..65875e101a 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -26,19 +26,7 @@ "prepublishOnly": "npm test && npm run lint", "preversion": "npm run lint", "version": "npm run format && git add -A src", - "postversion": "git push && git push --tags", - "example:hello-world": "ts-node examples/hello-world.ts", - "example:inject-context": "ts-node examples/inject-context.ts", - "example:inject-context-decorator": "ts-node examples/inject-context-decorator.ts", - "example:inject-context-middleware": "ts-node examples/inject-context-middleware.ts", - "example:errors": "ts-node examples/errors.ts", - "example:constructor-options": "ts-node examples/constructor-options.ts", - "example:custom-log-formatter": "ts-node examples/custom-log-formatter.ts", - "example:child-logger": "ts-node examples/child-logger.ts", - "example:additional-keys": "ts-node examples/additional-keys.ts", - "example:sample-rate": "ts-node examples/sample-rate.ts", - "example:persistent-attributes": "ts-node examples/persistent-attributes.ts", - "example:ephemeral-attributes": "ts-node examples/ephemeral-attributes.ts" + "postversion": "git push && git push --tags" }, "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/master/packages/logging#readme", "license": "MIT", diff --git a/packages/logger/tests/unit/Logger.test.ts b/packages/logger/tests/unit/Logger.test.ts index a167ef5d1a..d135414aac 100644 --- a/packages/logger/tests/unit/Logger.test.ts +++ b/packages/logger/tests/unit/Logger.test.ts @@ -8,14 +8,17 @@ import { context as dummyContext } from '../../../../tests/resources/contexts/he // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import * as dummyEvent from '../../../../tests/resources/events/custom/hello-world.json'; -import { LambdaInterface } from '../../examples/utils/lambda'; import { createLogger, Logger } from '../../src'; import { EnvironmentVariablesService } from '../../src/config'; import { PowertoolLogFormatter } from '../../src/formatter'; import { ClassThatLogs } from '../../src/types'; -import { Context } from 'aws-lambda'; +import { Context, Handler } from 'aws-lambda'; import { Console } from 'console'; +interface LambdaInterface { + handler: Handler +} + const mockDate = new Date(1466424490000); const dateSpy = jest.spyOn(global, 'Date').mockImplementation(() => mockDate as unknown as string); diff --git a/packages/metrics/package.json b/packages/metrics/package.json index bd62059636..4d5760272d 100644 --- a/packages/metrics/package.json +++ b/packages/metrics/package.json @@ -26,27 +26,7 @@ "prepublishOnly": "npm test && npm run lint", "preversion": "npm run lint", "version": "npm run format && git add -A src", - "postversion": "git push && git push --tags", - "example:hello-world": "ts-node examples/hello-world.ts", - "example:manual-flushing": "ts-node examples/manual-flushing.ts", - "example:dimensions": "ts-node examples/dimensions.ts", - "example:default-dimensions": "ts-node examples/default-dimensions.ts", - "example:empty-metrics": "ts-node examples/empty-metrics.ts", - "example:single-metric": "ts-node examples/single-metric.ts", - "example:cold-start": "ts-node examples/cold-start.ts", - "example:manual-metrics-print": "ts-node examples/manual-metrics-print.ts", - "example:constructor-options": "ts-node examples/constructor-options.ts", - "example:default-dimensions-constructor": "ts-node examples/default-dimensions-constructor.ts", - "example:decorator-hello-world": "ts-node examples/decorator/hello-world.ts", - "example:decorator-manual-flushing": "ts-node examples/decorator/manual-flushing.ts", - "example:decorator-dimensions": "ts-node examples/decorator/dimensions.ts", - "example:decorator-default-dimensions": "ts-node examples/decorator/default-dimensions.ts", - "example:decorator-empty-metrics": "ts-node examples/decorator/empty-metrics.ts", - "example:decorator-single-metric": "ts-node examples/decorator/single-metric.ts", - "example:decorator-cold-start": "ts-node examples/decorator/cold-start.ts", - "example:decorator-manual-metrics-print": "ts-node examples/decorator/manual-metrics-print.ts", - "example:decorator-constructor-options": "ts-node examples/decorator/constructor-options.ts", - "example:decorator-default-dimensions-constructor": "ts-node examples/decorator/default-dimensions-constructor.ts" + "postversion": "git push && git push --tags" }, "homepage": "https://github.com/awslabs/aws-lambda-powertools-typescript/tree/master/packages/metrics#readme", "license": "MIT-0",