What is OpenTelemetry? A Straightforward Guide

Guide to OpenTelemetry

In this blog post, you will learn how to get started with OpenTelemetry. We will go over what OpenTelemetry is and how it works. We then explore what distributed tracing is and take a look under the OpenTelemetry hood. We will take a deep dive into OpenTelemetry, its structure, deployment methods, and some best practices. […]

OpenTelemetry and Istio: Everything you need to know

Istio OpenTelemetry

There is a high correlation between R&D teams using Istio (k8s) and OpenTelemetry.  The reason is that OpenTelemetry shines when there are a lot of services communicating with each other and the best platform to host it is k8s. Getting started with OpenTelemetry can be a challenge as it requires a lot of knowledge. Having […]

OpenTelemetry Collector and SDK: Deployment Strategies

Men in black holding the OpenTelemetry telescope

So you are starting your journey with OpenTelemetry, congrats! In this article, I will walk you through the different deployment methods. More specifically, what options are available for us when it comes to the SDK and Collector.  When looking back on my OpenTelemetry journey, it wasn’t always smooth sailing. So I’m writing this to try and […]

OpenTelemetry Sampling: Everything You Need to Know

opentelemetry sampling tinder-like app for traces

OpenTelemetry Sampling: Introduction So you’re using OpenTelemetry to gain insights into your microservices’ interactions. To gain those insights, you need to store the created traces and spans somewhere, and later on, have some form of visualization. It may be a cloud-hosted Jaeger or some observability vendor. In either case, you would most likely pay more […]

Trace-Based Testing with OpenTelemetry: Meet Open Source Malabi

A quick code example for the assertion using Malabi

Originally published on the CNCF blog. Written by Yuri Shkuro, creator and maintainer of Jaeger, and Michael Haberman, Co-Founder & CTO of Aspecto. If you deal with distributed applications at scale, you probably use tracing. And if you use tracing data, you already realize its crucial role in understanding your system and the relationships between system components, […]

Distributed Tracing vs Logging: Why Logs Aren’t Enough to Debug Your Microservices

tracing vs logging

Originally published on The New Stack. Yes, you are reading it correctly, logs are not enough to debug your microservices. Not alone anyway. This is where distributed tracing comes into play. When debugging microservices, it can be challenging for developers to identify the root cause of issues. Not to mention how frustrating it is to […]

Kafka vs RabbitMQ vs AWS SNS/SQS: Which Broker to Choose?

Choosing a message broker

Microservice applications rely heavily on messaging and asynchronous communications to keep everything working smoothly.  Choosing the right message broker is one of the first critical choices you must make when developing the services that need to communicate with each other. Making the “right” choice can be a battle of features and edge cases that can be […]

How to Reduce RAM Consumption by X6 When Using ts-node

It turns out that running ts-node-dev / ts-node is constantly consuming hundreds of megabytes of RAM even for small and simple applications. In development, it is usually not a big concern, however, it can be, if your application is running inside a docker container with limited resources (for example, with Docker Desktop on Mac which allocates by default […]

Context Management in OpenTelemetry Node.js

context management opentelemetry nodejs

This post shares some of our experience gained by writing Node.js plugins and debugging context issues at Aspecto. You might find it interesting if: You are developing an instrumentation plugin for OpenTelemetry in Node. You get broken-traces or the structure of the trace tree is not as expected. You would like to have a deeper understanding […]

How to Send Large SQS/SNS Messages with Node.js

How to Send Large SQS/SNS Messages with Node.js

One of the common problems that people have with SQS and SNS is a message size limit. At the time of this writing, you can only send messages that are less than 256 KiB in size, which may be not enough in some scenarios and use cases. Since it’s a common problem there’s a common solution […]