opentelemetry-lambda
sqs-consumer
opentelemetry-lambda | sqs-consumer | |
---|---|---|
8 | 4 | |
295 | 1,774 | |
3.1% | 0.9% | |
9.3 | 8.5 | |
12 days ago | 10 days ago | |
Go | TypeScript | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
opentelemetry-lambda
-
Did OpenTelemetry deliver on its promise in 2023?
I mean, sure, you can improve performance a bit by increasing the RAM/compute capacity on the Lambda. But it always adds a pretty steep overhead right now, no matter how much capacity you throw at it.
https://github.com/open-telemetry/opentelemetry-lambda/issue...
https://github.com/aws-observability/aws-otel-lambda/issues/...
-
Instrumenting AWS Lambda functions with OpenTelemetry SDKs
OpenTelemetry AWS Lambda repository
- OpenTelemetry in 2023
-
Serverless Spy Vs. Spy Chapter 3: X-Ray vs Jaeger - Send Lambda traces with open telemetry
With the sample apps from the opentelemetry-lambda repository the Lambda part itself was easy to implement. What took me some time was to provide the jaeger Fargate service with IaC ouside of an k8s environment. But with ECS and ServiceDiscovery that was easy in the end. This should be even more simple in an EKS environment with the jaegertracing helm-charts.
-
AWS Lambda tracing with OpenTelemetry and OpenSearch
OpenTelemetry recently released https://github.com/open-telemetry/opentelemetry-lambda, but they also have this in the official docs https://opentelemetry.io/docs/instrumentation/js/serverless/. What do you consider to be the better option?
-
Serverless Spy Vs. Spy Chapter 2: AWS Distro for OpenTelemetry Lambda vs X-Ray SDK
opentelemetry-lambda
-
How to Instrument AWS Services with OpenTelemetry
You don’t have to create an opentelemetry configuration file such as this for each of your lambdas. In fact, you shouldn’t. In AWS, you can use Lambda Layers. You can define the OpenTelemetry tracing piece of code as a Lambda layer and use it in any Lambda you want. Furthermore, OpenTelemetry went ahead and implemented this opentelemetry-lambda layer for us. All we need to do is use it with our config.
-
Struggling to connect the dots - ADOT with Lambda using aws-otel-nodejs Lambda layer, not sure how to go from here to using custom instrumentation (e.g. instrumentation-pg, instrumentation-graphql, etc).
Sorry you're having trouble working with the ADOT Lambda Layers :(. Have you had a chance to open an issue on the GitHub repo for OTel Lambda or ADOT Lambda? You should add your expected vs your actual output!
sqs-consumer
-
Infinite loop pattern to poll for a queue in a REST server app
You could utilize a wrapper like sqs-consumer. Check out their implementation.
-
How to Instrument AWS Services with OpenTelemetry
To receive the messages from the queue, we will use the sqs-consumer library. The service will receive messages describing newly created orders. After some processing, it will change the order status in the table to ‘completed’.
-
Knock and Open Source
As we built out this new system, we looked at the current module ecosystem to determine if anything would fit our needs to keep this queue cleared. Unfortunately, the best module we could find, sqs-consumer, did not support FIFO queues and the issues indicated they did not have any intention to do so. Therefore, we wrote sqsiphon. Our library heavily borrows from the public interface of sqs-consumer, but is implemented in a much different way. In particular, sqsiphon leverages the Node.js event loop through setImmediate to build the polling mechanism instead of relying on SQS's "long polling" feature. Additionally, sqsiphon utilizes the JavaScript prototype to reduce reliance on expensive closures. As a bonus, OpenTracing support is built-in to sqsiphon so that applications built with it can be monitored effectively. The result is a library that can poll SQS extremely quickly while requiring very little overhead.
What are some alternatives?
deploy-aws-lambda-to-vpc-with-terraform - Terraform module with all the cloud resources needed to run Lambda within a VPC
AdonisJs Application
terraform-aws-lambda - Terraform module, which takes care of a lot of AWS Lambda/serverless tasks (build dependencies, packages, updates, deployments) in countless combinations 🇺🇦
sns-sqs-big-payload - Amazon SNS/SQS client library that enables sending and receiving messages with payload larger than 256KiB via Amazon S3.
opentelemetry-examples
SailsJS - Realtime MVC Framework for Node.js
terraform-aws-jaeger - Terraform module for Jeager
Koa - Expressive middleware for node.js using ES2017 async functions
aws-otel-js - AWS Distro for OpenTelemetry JavaScript SDK
Express - Fast, unopinionated, minimalist web framework for node.
proposal-async-context - Async Context for JavaScript
sqs-producer - Simple scaffolding for applications that produce SQS messages