Skip to content

Feature request: Support LLRT (Low Latency Runtime) #2050

Open
@NimmLor

Description

@NimmLor

Use case

This feature request is about the beta of the new lightweight JavaScript runtime LLRT (Low Latency Runtime).

Currently, the Logger crashes when importing the "console" module.

Demo repository: https://github.com/NimmLor/aws-cdk-llrt-demo

{
  "errorType": "ReferenceError",
  "errorMessage": "Error resolving module '/var/task/console' from '/var/task/index.js'",
  "stackTrace": [
    "    at ../../node_modules/@aws-lambda-powertools/logger/lib/Logger.js (/var/task/index.js:1652:26)",
    "    at __require2 (/var/task/index.js:15:17)",
    "    at ../../node_modules/@aws-lambda-powertools/logger/lib/index.js (/var/task/index.js:2555:18)",
    "    at __require2 (/var/task/index.js:15:17)",
    "    at <anonymous> (/var/task/index.js:2562:29)",
    ""
  ]
}
// esbuild output, failing code snippet

/** ... **/
var require_Logger = __commonJS({
  "../../node_modules/@aws-lambda-powertools/logger/lib/Logger.js"(exports) {
    "use strict";
    var __importDefault = exports && exports.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.Logger = void 0;
    var node_crypto_1 = __require("crypto");
    var node_console_1 = __require("console");
/** ... **/
// index.ts

import { Logger } from '@aws-lambda-powertools/logger'

export const handler = async () => {
  const logger = new Logger()
  logger.info('Hello world')

  return {
    body: JSON.stringify({
      hello: 'world',
    }),
    statusCode: 200,
  }
}

Solution/User Experience

LLRT offers up to over 10x faster startup and up to 2x overall lower cost compared to other JavaScript runtimes running on AWS Lambda

It would be great if the aws-lambda-powertools would support this runtime, usage should be exactly the same as for nodejs runtimes.

Alternative solutions

No response

Acknowledgment

Future readers

Please react with 👍 and your use case to help us understand customer demand.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug-upstreamThis item is related to a bug caused by upstream dependencyloggerThis item relates to the Logger Utilityon-holdThis item is on-hold and will be revisited in the future

    Type

    No type

    Projects

    Status

    On hold

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions