Skip to content

Instantly share code, notes, and snippets.

let spanCounter = -1;
const HTTP_FILTER_RATIO = 2;
const thundra = require("@thundra/core")({
traceConfig: {
disableRequest: true,
disableResponse: true,
runCustomSamplerOnEachSpan: true,
sampler: {
isSampled(span) {
const thundra = require("@thundra/core")();
exports.handler_blocking = thundra((event, context, callback) => {
setTimeout(function () {
callback(null, {msg: event});
}, 5000);
while (true);
});
@kobalski
kobalski / index.js
Last active April 16, 2019 12:46
thundra-mongose-example
const thundra = require("@thundra/core")();
const mongoose = require('mongoose');
let conn = null;
const uri = 'your mongo connection here';
exports.handler = thundra(async function(event) {
if (conn == null) {
conn = await mongoose.connect(uri, {useNewUrlParser: true});
conn.model('Test', new mongoose.Schema({ name: String }));
"use strict";
const thundra = require("@thundra/core")();
const MongoClient = require('mongodb').MongoClient;
const MONGODB_URI = process.env.MONGODB_URI;
let cachedDb = null;
function connectToDatabase (uri) {
console.log('=> connect to database');
"use strict";
const thundra = require("@thundra/core")();
const MongoClient = require('mongodb').MongoClient;
const MONGODB_URI = process.env.MONGODB_URI;
let cachedDb = null;
function connectToDatabase (uri) {
console.log('=> connect to database');
@kobalski
kobalski / index.js
Created March 6, 2019 12:12
Thundra Example with serverless-mysql
// Require and initialize outside of your main handler
const thundra = require('@thundra/core')();
const mysql = require('serverless-mysql')({
config: {
host : '',
database : '',
user : '',
password : '',
@kobalski
kobalski / index.js
Created January 23, 2019 12:25
A NodeJS AWS Lambda Function which executes commands
let {exec} = require('child_process');
exports.handler = (event, context, callback) => {
exec(event.cmd, (err, stdout, stderr) => {
console.log(stdout);
if (err) console.log(stderr);
callback(undefined, {statusCode: 200});
});
}
@kobalski
kobalski / index.js
Created November 19, 2018 20:32
AWS Lambda NodeJS 8 Runtime index.js file
var net = require('net');
var repl = require('repl');
var util = require('util');
var awslambda = require('./build/Release/awslambda');
const BASE_CONTEXT = Object.freeze({
logGroupName: process.env['AWS_LAMBDA_LOG_GROUP_NAME'],
logStreamName: process.env['AWS_LAMBDA_LOG_STREAM_NAME'],
functionName: process.env['AWS_LAMBDA_FUNCTION_NAME'],
memoryLimitInMB: process.env['AWS_LAMBDA_FUNCTION_MEMORY_SIZE'],
@kobalski
kobalski / vandium-helloworld.js
Last active November 12, 2018 15:14
vandium-helloword
const thundra = require("@thundra/core")();
const vandium = require('vandium');
exports.handler = thundra(vandium.api()
.GET((event) => {
return 'Hello ' + event.pathParameters.name + '!';
}));
@kobalski
kobalski / index.js
Created September 6, 2018 21:03
Simple try catch with open tracing
const thundra = require('@thundra/core');
exports.handler = thundra({
apiKey : <Your API Key>
})((event, context, callback) => {
const tracer = thundra.tracer();
const span = tracer.startSpan('say-hello');
try {
const message = sayHello('Thundra');