Giter Site home page Giter Site logo

ilacorda / awesome-opentelemetry Goto Github PK

View Code? Open in Web Editor NEW

This project forked from magsther/awesome-opentelemetry

0.0 0.0 0.0 2.25 MB

A curated list of OpenTelemetry resources

Home Page: https://medium.com/@magstherdev/

License: Creative Commons Zero v1.0 Universal

awesome-opentelemetry's Introduction

Awesome OpenTelemetry Awesome

A curated list of OpenTelemetry resources.


What is OpenTelemetry?

OpenTelemetry is a collection of tools, APIs, and SDKs. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software’s performance and behavior


Contribute

Contributions welcome! Read the contribution guidelines first.

Contents

Books

Books about OpenTelemetry and Distributed Tracing

Videos

Videos about OpenTelemetry and Distributed Tracing

Blogs

Blogs about OpenTelemetry and Distributed Tracing

Distributed Tracing Solutions

Open Source

Vendors

Terminology

Quickstart

OpenTelemetry Instrumentation

Native - Supported Languages

  • C++ - A language-specific implementation of OpenTelemetry in C++.
  • .NET - supports Automatic Instrumentation
  • Erlang/Elixir - A language-specific implementation of OpenTelemetry in Erlang/Elixir.
  • Go -A language-specific implementation of OpenTelemetry in Go.
  • Java - supports Automatic Instrumentation
  • JavaScript - JS logo A language-specific implementation of OpenTelemetry in JavaScript (for Node.JS & the browser).
  • PHP - A language-specific implementation of OpenTelemetry in PHP.
  • Python - A language-specific implementation of OpenTelemetry in Python.
  • Ruby - supports Automatic Instrumentation
  • Rust - A language-specific implementation of OpenTelemetry in Rust.
  • Swift - A language-specific implementation of OpenTelemetry in Swift.

Vendors Distro

Distributions and vendors who natively support OpenTelemetry in their commercial products.

Full list of vendors that supports OpenTelemetry

OpenTelemetry Registry

The OpenTelemetry Registry allows you to search for instrumentation libraries, tracer implementations, utilities, and other useful projects in the OpenTelemetry ecosystem.

Components

Reference Architecture

Otel

Client

Client libraries used to instrument applications for distributed tracing.

Other Libraries


OpenTelemetry Client Architecture

Refer from OpenTelemetry Official Document


Agent

An agent listens for spans, which it batches and sends to the Collector. The agent is meant to be placed on the same host as the instrumented application. This is typically accomplished by having a sidecar in container environments such as Kubernetes or running it as a DaemonSet (on each node).

OTLP

OTLP is the default OpenTelemetry protocol for transmitting telemetry data. Other formats can be Zipkin or Jaeger.

Collector

Similar to the Agent, the Collector is able to receive spans and place them in an internal queue for processing.

The OpenTelemetry collector is a vendor-agnostic way to receive, process and export telemetry data.

Otel

The Collector consists of three components that access telemetry data:

  • Receivers - How data gets into the Collector
  • Processors - Processors are run on data between being received and being exported.
  • Exporters - How you send data to one or more backends/destinations

For vendor specific receivers/exporters, see OpenTelemetry Collector Contrib

Receivers

A receiver is how data gets into the OpenTelemetry Collector. Generally, a receiver accepts data in a specified format, translates it into the internal format and passes it to processors and exporters defined in the applicable pipelines. source

List of supported receivers

Processors

Processors are run on data between being received and being exported. Processors are optional though some are recommended. source

List of supported processors

Exporters

An exporter is how you send data to one or more backends/destinations. Exporters may support one or more data sources.

List of supported exporters


OpenTelemetry Architecture

source


Storage

The OpenTelemetry collectors require a persistent storage backend.

  • Cassandra - open source NoSQL distributed database
  • Elastic - open search and analytics solution
  • Jaeger - distributed tracing platform created by Uber Technologies
  • Promscale - an open source observability backend for traces and metrics
  • SigNoz - open source APM based on OpenTelemetry
  • SkyWalking - open source APM system
  • Splunk
  • Tempo - Grafana Tempo is an open source, easy-to-use, and high-scale distributed tracing backend.

Ingester

You can optional use an Ingester, which is a service that reads data from Kafka and writes to the storage backend.

  • Kafka - open-source distributed event streaming platform

UI

Visualizing the distributed tracing data.


Newsletters

  • o11y news! - Newsletter about Observability
  • Observability news - Updates around observability (o11y) with a special focus on open source
  • The new stack - A newsletter digest of the week’s most important stories & analyses.

Podcasts

Events

Twitter

Case Studies

Community

awesome-opentelemetry's People

Contributors

dgoscn avatar jamesguthrie avatar kdhamric avatar magsther avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.