opentelemetry-examples
sqs-consumer
opentelemetry-examples | sqs-consumer | |
---|---|---|
6 | 4 | |
18 | 1,785 | |
- | 1.2% | |
2.9 | 8.5 | |
over 1 year ago | 12 days ago | |
JavaScript | TypeScript | |
GNU General Public License v3.0 only | 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-examples
-
Guide to Distributed Tracing with OpenTelemetry Dotnet
You can view the complete code on GitHub here.
-
OpenTelemetry Collector as an Agent on Kubernetes – Part 2
You can find all gateway configurations in this gateway.yml file.
-
How to Instrument AWS Services with OpenTelemetry
In the example code for this blog, I also added an AWS api gateway so we can trigger the Lambda using a public URL. That is out of scope for this blog, but you can visit the source code and check it out.
-
How to Get Started with OpenTelemetry Go
We will start with creating a simple to-do app that uses Mongo and the Gin framework. Then, we will send tracing data to Jaeger Tracing and to Aspecto for visualization. You can find all the relevant files in this Github repository.
-
Guide to OpenTelemetry Distributed Tracing in Rust
Here is a link for the source code.
-
Get Started with OpenTelemetry Node: A Practical Guide for Devs
You can find the complete project in this GitHub repository. We created three versions for the tracing.js file (for Aspecto, Jaeger, and console) to make it easier to use.
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?
opentelemetry-lambda - Create your own Lambda Layer in each OTel language using this starter code. Add the Lambda Layer to your Lambda Function to get tracing with OpenTelemetry.
AdonisJs Application
opentelemetry-ext-js - js extensions for the open-telemetry project
sqs-producer - Simple scaffolding for applications that produce SQS messages
opentelemetry-dotnet - The OpenTelemetry .NET Client
TypeGraphQL - Create GraphQL schema and resolvers with TypeScript, using classes and decorators!
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
MERN - ⛔️ DEPRECATED - Boilerplate for getting started with MERN stack
opentelemetry-rust - The Rust OpenTelemetry implementation
Quick Start - 🍔 A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. 🌈
opentelemetry-specification - Specifications for OpenTelemetry
sns-sqs-big-payload - Amazon SNS/SQS client library that enables sending and receiving messages with payload larger than 256KiB via Amazon S3.