aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
  • Tools
  • About
aster.cloud aster.cloud
  • /
  • Platforms
    • Public Cloud
    • On-Premise
    • Hybrid Cloud
    • Data
  • Architecture
    • Design
    • Solutions
    • Enterprise
  • Engineering
    • Automation
    • Software Engineering
    • Project Management
    • DevOps
  • Programming
  • Tools
  • About
  • Programming

The State Of OpenTelemetry

  • relay
  • December 1, 2022
  • 4 minute read

The question we’re discussing daily with potential users of TelemetryHub is, ‘can I instrument my system with OpenTelemetry?’ And the answer is almost always ‘yes.’

Well, mostly. Any system with internet access can report data via the OpenTelemetry standard. And anyone can use an OpenTelemetry Collector to filter, compress, and limit data being sent over the internet to an OpenTelemetry Endpoint.

All is well and good, but what most people want to know is ‘how well will open telemetry instrument my language and framework?’

C++

C++ has most of the pieces that need to be instrumented with OpenTelemetry

The current status of the major functional components for OpenTelemetry C++ is as follows:

Traces Metrics Logs
Stable Stable Experimental

The latest release has support to build most projects with the C++ Otel SDK. Note the builds with Bazel are experimental at this stage. See the installation documentation for more detail.

Java

The OpenTelemetry Java project is the most mature of the Otel-supported languages. While Logs are still listed as “experimental,” it’s worth digging into what “experimental” means. From the docs:

Signals start as experimental, which covers alpha, beta, and release candidate versions of the signal. While signals are experimental, breaking changes and performance issues may occur. Components should not be expected to be feature-complete. In some cases, the experiment may be discarded and removed entirely. Long-term dependencies should not be taken against experimental signals.

Later in this article, I discuss the status of logging within OpenTelemetry, and the short version is that it’s likely you’re already using a logging tool that can be exported to the Open Telemetry format.

Read More  Building Large Scale Recommenders Using Cloud TPUs

.Net

Like C++, .Net support is

The current status of the major functional components for OpenTelemetry .NET is as follows:

Traces Metrics Logs
Stable Stable Mixed*

For logging, while the OpenTelemetryLoggerProvider (i.e., integration with ILogger) is stable, the OTLP Log Exporter is still non-stable.

To be frank, this is probably still usable for most applications since it’s possible to use a tool like ILogger for sending logs. Further, it’s unlikely that logs are the ‘missing piece’ of your observability solution.

Erlang/Elixir

The status of Erlang support makes it worth developing with:

Traces Metrics Logs
Stable Experimental Experimental

See the definition of ‘Experimental’ above in the Java section; both logs and metrics are currently functioning in the project.

Packages of the API, SDK, and OTLP exporter have been published to hex.pm as opentelemetry_api, opentelemetry, and opentelemetry_exporter.

Go

Go isn’t currently well-supported enough to recommend using OpenTelemetry to monitor your stack. The current status of the major functional components for OpenTelemetry Go is as follows:

Traces Metrics Logs
Stable Alpha Not yet implemented

Traces are a major component, making it worth a try if you’re currently not observing any part of your go stack. For releases of the Go Otel project, including the latest release, see Releases.

Javascript

OpenTelemetry JavaScript is currently rather advanced

Traces Metrics Logs
Stable Release candidate Development

As of the latest release, logs were not in a state where they should be used in production. There are several other logging solutions available, and this is an area of active development

It’s worth noting that, in order to perform tracing, OpenTelemetry stores span in the Context. This is necessary to allow tracing of multiple components handling the same basic request. Learn more in the Context API documentation.

Read More  How To Monitor Endpoints In Kubernetes Using Blackbox Exporter

Python

Python, that classic of functional programming, is another language with OpenTelemetry support. Only logs are listed as Experimental, which is true across all OpenTelmetry languages. This is listed on the OpenTelemetry documentation page

  • An OpenTelemetry logging SDK is currently under development. This allows OpenTelemetry clients to ingest logging data from existing logging systems, outputting logs as part of OTLP along with tracing and metrics.
  • An OpenTelemetry logging API is not currently under development. We are focusing first on integration with existing logging systems. When metrics are complete, the focus will shift to developing an OpenTelemetry logging API.

One question that may come up is, ‘why is logging still in the experimental phase, how hard can it be?’ The counter-intuitive reason is that logging, and the transmission of logging, is largely a solved problem in the tech industry.

Every framework has some way to emit logs, and nearly every organization has tools to transmit and store logs. Data ingest of existing logs tools is a more reasonable focus for the OpenTelemetry project.

Ruby

OpenTelemetry Ruby is ‘not ready for prime time’ as of yet. The current status of the major functional components for OpenTelemetry Ruby is as follows:

Traces Metrics Logs
Stable Not yet implemented Not yet implemented

For releases, including the latest release, see Releases.

Without Metrics, there’s not a strong case for Otel on Ruby yet. Thankfully there are great APM tools to monitor Ruby applications.

OpenTelemetry GA

From https://opentelemetry.io/docs/reference/specification/versioning-and-stability/

Still, the question remains ‘when will OpenTelemetry reach GA?’ The term “OpenTelemetry GA” refers to the point at which OpenTracing and OpenCensus will be fully deprecated. The minimum requirements for declaring GA are as follows

  • A stable version of both tracing and metrics MUST be released in at least four languages.
  • CI/CD, performance, and integration tests MUST be implemented for these languages.
Read More  Google Cloud Next 2019 | Simplify Hybrid Deployments With VMware NSX Service Mesh & Google Cloud Services

And we’re close! GA is expected within the next year. The team here is so confident that we’ve released TelemetryHub, a clean, efficient, and reliable endpoint for your OpenTelemetry data.

TelemetryHub enables users to ingest telemetry data from platforms instrumented with the OpenTelemetry CNCF project. As an early adopter of OpenTelemetry, TelemetryHub benefits from a project with the community support of over 100,000 contributors and is committed to evangelizing and supporting the project through education and contribution. This allows the TelemetryHub team to stay committed to providing the best solution for users and allows our customers the opportunity to implement an ever-maturing, vendor-agnostic solution that lets them have total control and flexibility with their observability data.

 

 

Guest post by Nočnica Fee of ScoutAPM
Source CNCF

relay

Related Topics
  • .NET
  • C++
  • Go
  • Java
  • javascript
  • OpenTelemetry
  • Python
  • TelemetryHub
You May Also Like
View Post
  • Automation
  • Programming

Learn Expect By Writing And Automating A Simple Game

  • March 14, 2023
SQL
View Post
  • Data
  • Programming

Infrastructure from Code: the New Wave of Cloud Infrastructure Management

  • February 16, 2023
View Post
  • Programming

Go 1.20 Is Released!

  • February 13, 2023
View Post
  • Computing
  • Programming

Tiny Snippets Of Code That Changed The World

  • January 23, 2023
View Post
  • Computing
  • Programming

How To Migrate Your Code From PHP 7.4 to 8.1

  • December 26, 2022
View Post
  • Programming
  • Software Engineering

10 Tips For Writing Clean Code

  • December 15, 2022
View Post
  • Programming
  • Software
  • Technology

Compose For Wear OS 1.1 Is Now Stable: Check Out New Features!

  • December 12, 2022
View Post
  • Architecture
  • Programming

Introducing The Architecture Templates

  • December 12, 2022

Stay Connected!
LATEST
  • 1
    My First Pull Request At Age 14
    • March 24, 2023
  • 2
    AWS Chatbot Now Integrated Into Microsoft Teams
    • March 24, 2023
  • 3
    Verify POST Endpoint Availability With Uptime Checks
    • March 24, 2023
  • 4
    Sovereign Clouds Are Becoming A Big Deal Again
    • March 23, 2023
  • 5
    Ditching Google: The 3 Search Engines That Use AI To Give Results That Are Meaningful
    • March 23, 2023
  • 6
    Pythonic Techniques For Handling Sequences
    • March 21, 2023
  • 7
    Oracle Cloud Infrastructure to Increase the Reliability, Efficiency, and Simplicity of Large-Scale Kubernetes Environments at Reduced Costs
    • March 20, 2023
  • 8
    Monitor Kubernetes Cloud Costs With Open Source Tools
    • March 20, 2023
  • 9
    What Is An Edge-Native Application?
    • March 20, 2023
  • 10
    Eclipse Java Downloads Skyrocket
    • March 19, 2023
about
Hello World!

We are aster.cloud. We’re created by programmers for programmers.

Our site aims to provide guides, programming tips, reviews, and interesting materials for tech people and those who want to learn in general.

We would like to hear from you.

If you have any feedback, enquiries, or sponsorship request, kindly reach out to us at:

[email protected]
Most Popular
  • 1
    Cloudflare Takes On Online Fraud Detection Market
    • March 15, 2023
  • 2
    Linux Foundation Training & Certification & Cloud Native Computing Foundation Partner With Corise To Prepare 50,000 Professionals For The Certified Kubernetes Administrator Exam
    • March 16, 2023
  • 3
    Cloudflare Democratizes Post-Quantum Cryptography By Delivering It For Free, By Default
    • March 16, 2023
  • 4
    Daily QR “Scan Scams” Phishing Users On Their Mobile Devices
    • March 16, 2023
  • 5
    Lockheed Martin Launches Commercial Ground Control Software For Satellite Constellations
    • March 14, 2023
  • /
  • Platforms
  • Architecture
  • Engineering
  • Programming
  • Tools
  • About

Input your search keywords and press Enter.