Skip to content

Instantly share code, notes, and snippets.

View serkan-ozal's full-sized avatar

Serkan ÖZAL serkan-ozal

View GitHub Profile
@serkan-ozal
serkan-ozal / stacktrace.txt
Created December 8, 2025 15:30
AWS Lambda Nodejs CJS Module Load StackTrace in Nodejs v24
at Object.<anonymous> (/var/task/index.js:2:13)
at Module._compile (node:internal/modules/cjs/loader:1760:14)
at Object..js (node:internal/modules/cjs/loader:1893:10)
at Module.load (node:internal/modules/cjs/loader:1480:32)
at Module._load (node:internal/modules/cjs/loader:1299:12)
at TracingChannel.traceSync (node:diagnostics_channel:328:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:244:24)
at cjsLoader (node:internal/modules/esm/translators:342:5)
at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:234:7)
at ModuleJob.run (node:internal/modules/esm/module_job:377:25)
@serkan-ozal
serkan-ozal / stacktrace.txt
Created December 8, 2025 15:29
AWS Lambda Nodejs CJS Module Load StackTrace in Nodejs v22
at Object.<anonymous> (/var/task/index.js:2:13)
at Module._compile (node:internal/modules/cjs/loader:1706:14)
at Object..js (node:internal/modules/cjs/loader:1839:10)
at Module.load (node:internal/modules/cjs/loader:1441:32)
at Function._load (node:internal/modules/cjs/loader:1263:12)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)
at Module.<anonymous> (node:internal/modules/cjs/loader:1463:12)
at Module.T (/opt/wrapper.js:1:172790)
at _require.o.require (/opt/wrapper.js:1:174123)
@serkan-ozal
serkan-ozal / index.mjs
Created December 4, 2025 08:03
AWS Lambda Nodejs Runtime Code Extracter
import { readdir, readFile } from "fs/promises";
import { statSync } from "fs";
import path from "path";
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
const ROOT_DIR = "/var/runtime";
const s3 = new S3Client({
region: process.env.BUCKET_REGION ?? process.env.AWS_REGION,
});
@serkan-ozal
serkan-ozal / index.mjs
Created December 4, 2025 07:59
AWS Lambda Nodejs Runtime Interface Client (Extracted from AWS Lambda Environment) Nodejs v22
/** Copyright 2019,2020,2021,2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. */
// node_modules/lambda-runtime/dist/node16/index.mjs
import { createRequire } from "module";
var require2 = createRequire(import.meta.url);
var __getOwnPropNames = Object.getOwnPropertyNames;
var __require = /* @__PURE__ */ ((x) => typeof require2 !== "undefined" ? require2 : typeof Proxy !== "undefined" ? new Proxy(x, {
get: (a, b) => (typeof require2 !== "undefined" ? require2 : a)[b]
}) : x)(function(x) {
if (typeof require2 !== "undefined")
return require2.apply(this, arguments);
@serkan-ozal
serkan-ozal / index.mjs
Created December 4, 2025 07:59
AWS Lambda Nodejs Runtime Interface Client (Extracted from AWS Lambda Environment) Nodejs v24
// dist/logging/verbose-log.js
var EnvVarName = "AWS_LAMBDA_RUNTIME_VERBOSE";
var Tag = "RUNTIME";
var Verbosity = (() => {
if (!process.env[EnvVarName]) {
return 0;
}
try {
const verbosity = parseInt(process.env[EnvVarName]);
return verbosity < 0 ? 0 : verbosity > 3 ? 3 : verbosity;
@serkan-ozal
serkan-ozal / otel-lambda-nodejs-layer-init-timings-gte-5ms
Last active January 22, 2025 20:06
OTEL Lambda Node.js Layer Init Timings (>= 5 ms)
|-- require('@opentelemetry/api') took 23 ms
..|-- require('./baggage/utils') took 8 ms
....|-- require('../api/diag') took 6 ms
|-- require('@opentelemetry/core') took 60 ms
..|-- require('./common/time') took 45 ms
....|-- require('../platform') took 44 ms
......|-- require('./node') took 44 ms
........|-- require('./performance') took 15 ms
..........|-- require('perf_hooks') took 15 ms
........|-- require('./sdk-info') took 22 ms
This file has been truncated, but you can view the full file.
{"nodes":[{"id":1,"callFrame":{"functionName":"(root)","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":0,"children":[2,9,28,98,119,120,10349,10350]},{"id":2,"callFrame":{"functionName":"startProfiler","scriptId":"418","url":"file:///opt/profile-controller.js","lineNumber":16,"columnNumber":28},"hitCount":0,"children":[3]},{"id":3,"callFrame":{"functionName":"_sessionPost","scriptId":"418","url":"file:///opt/profile-controller.js","lineNumber":8,"columnNumber":27},"hitCount":0,"children":[4]},{"id":4,"callFrame":{"functionName":"","scriptId":"418","url":"file:///opt/profile-controller.js","lineNumber":9,"columnNumber":23},"hitCount":0,"children":[5]},{"id":5,"callFrame":{"functionName":"post","scriptId":"419","url":"node:inspector","lineNumber":115,"columnNumber":6},"hitCount":0,"children":[6]},{"id":6,"callFrame":{"functionName":"dispatch","scriptId":"0","url":"","lineNumber":-1,"columnNumber":-1},"hitCount":0,"children":[7]},{"id":7,"callFrame":{"functionName":"","scriptId":"419","url":
Algorithm / OS Ubuntu Window MacOS
Dot Product 750,622.625 ops/s 760,163.774 ops/s 961,366.490 ops/s
Cosine Similarity 586,113.920 ops/s 705,148.739 ops/s 892,124.358 ops/s
Manhattan Distance 793,538.457 ops/s 717,150.911 ops/s 1,156,442.603 ops/s
Euclidean Distance 760,819.826 ops/s 748,286.320 ops/s 1,012,210.232 ops/s
Runtime JDK 21, Java HotSpot(TM) 64-Bit Server VM, 21+35-LTS-2513
Benchmark tool JMH (version 1.37)
Benchmark mode Throughput, ops/time
Warmup iteration 3
Warmup time 5 seconds (for each warmup iteration)
Measurement iteration 10
Measurement time 30 seconds (for each measurement iteration)
Vector length 1000
Runner OS Processor (CPU) Memory (RAM)
ubuntu-latest Ubuntu - 22.04 Model: Intel Xeon E5-2673 v4 @ 2.30GHz # of cores: 2 7 GB
windows-latest Windows - 2022 Model: Xeon® Platinum 8272CL # of cores: 2 7 GB
macos-latest MacOS - 12 Model: Intel Xeon E5-1650 v2 @ 3.50GHz # of cores: 3 14 GB