jaeger

package module
v1.65.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2025 License: Apache-2.0 Imports: 0 Imported by: 0

README

Stand With Ukraine

Slack chat Unit Tests Coverage Status FOSSA Status OpenSSF Scorecard OpenSSF Best Practices CLOMonitor Artifact Hub

Jaeger - a Distributed Tracing System

💥💥💥 Jaeger v2 is out! Read the blog post and try it out.

graph TD
    SDK["OpenTelemetry SDK"] --> |HTTP or gRPC| COLLECTOR
    COLLECTOR["Jaeger Collector"] --> STORE[Storage]
    COLLECTOR --> |gRPC| PLUGIN[Storage Plugin]
    COLLECTOR --> |gRPC/sampling| SDK
    PLUGIN --> STORE
    QUERY[Jaeger Query Service] --> STORE
    QUERY --> |gRPC| PLUGIN
    UI[Jaeger UI] --> |HTTP| QUERY
    subgraph Application Host
        subgraph User Application
            SDK
        end
    end

Jaeger is a distributed tracing platform created by Uber Technologies and donated to Cloud Native Computing Foundation.

See Jaeger documentation for getting started, operational details, and other information.

Jaeger is hosted by the Cloud Native Computing Foundation (CNCF) as the 7th top-level project, graduated in October 2019. See the CNCF Jaeger incubation announcement and Jaeger graduation announcement.

Get Involved

Jaeger is an open source project with open governance. We welcome contributions from the community, and we would love your help to improve and extend the project. Here are some ideas for how to get involved. Many of them do not even require any coding.

Version Compatibility Guarantees

Since Jaeger uses many components from the OpenTelemetry Collector we try to maintain configuration compatibility between Jaeger releases. Occasionally, configuration options in Jaeger (or in Jaeger v1 CLI flags) can be deprecated due to usability improvements, new functionality, or changes in our dependencies. In such situations, developers introducing the deprecation are required to follow these guidelines.

In short, for a deprecated configuration option, you should expect to see the following message in the documentation or release notes:

(deprecated, will be removed after yyyy-mm-dd or in release vX.Y.Z, whichever is later)

A grace period of at least 3 months or two minor version bumps (whichever is later) from the first release containing the deprecation notice will be provided before the deprecated configuration option can be deleted.

For example, consider a scenario where v2.0.0 is released on 01-Sep-2024 containing a deprecation notice for a configuration option. This configuration option will remain in a deprecated state until the later of 01-Dec-2024 or v2.2.0 where it can be removed on or after either of those events. It may remain deprecated for longer than the aforementioned grace period.

Go Version Compatibility Guarantees

The Jaeger project attempts to track the currently supported versions of Go, as defined by the Go team. Removing support for an unsupported Go version is not considered a breaking change.

Starting with the release of Go 1.21, support for Go versions will be updated as follows:

  1. Soon after the release of a new Go minor version N, updates will be made to the build and tests steps to accommodate the latest Go minor version.
  2. Soon after the release of a new Go minor version N, support for Go version N-2 will be removed and version N-1 will become the minimum required version.
Components
Documentation

Building From Source

See CONTRIBUTING.

Contributing

See CONTRIBUTING.

Thanks to all the people who already contributed!

Maintainers

Rules for becoming a maintainer are defined in the GOVERNANCE document. The official maintainers of the Jaeger project are listed in the MAINTAINERS file. Please use @jaegertracing/jaeger-maintainers to tag them on issues / PRs.

Some repositories under jaegertracing org have additional maintainers.

Project Status Meetings

The Jaeger maintainers and contributors meet regularly on a video call. Everyone is welcome to join, including end users. For meeting details, see https://www.jaegertracing.io/get-in-touch/.

Roadmap

See https://www.jaegertracing.io/docs/roadmap/

Get in Touch

Have questions, suggestions, bug reports? Reach the project community via these channels:

Security

Third-party security audits of Jaeger are available in https://github.com/jaegertracing/security-audits. Please see Issue #1718 for the summary of available security mechanisms in Jaeger.

Adopters

Jaeger as a product consists of multiple components. We want to support different types of users, whether they are only using our instrumentation libraries or full end to end Jaeger installation, whether it runs in production or you use it to troubleshoot issues in development.

Please see ADOPTERS.md for some of the organizations using Jaeger today. If you would like to add your organization to the list, please comment on our survey issue.

License

Copyright (c) The Jaeger Authors. Apache 2.0 License.

Documentation

Overview

Package jaeger contains the code for Jaeger backend.

Directories

Path Synopsis
cmd
internal/flags
Package flags defines command line flags that are shared by several jaeger components.
Package flags defines command line flags that are shared by several jaeger components.
query/app/ui
Package ui bundles UI assets packaged with stdlib/embed.
Package ui bundles UI assets packaged with stdlib/embed.
opentelemetry Module
examples
internal
tools Module
Package model describes the internal data model for Trace and Span
Package model describes the internal data model for Trace and Span
adjuster
Package adjuster contains various adjusters for model.Trace.
Package adjuster contains various adjusters for model.Trace.
converter
Package converter contains various utilities for converting model.Trace to/from other data modes, like Thrift, or UI JSON.
Package converter contains various utilities for converting model.Trace to/from other data modes, like Thrift, or UI JSON.
converter/json
Package json allows converting model.Trace to external JSON data model.
Package json allows converting model.Trace to external JSON data model.
converter/thrift
Package thrift allows converting model.Trace to/from various thrift models.
Package thrift allows converting model.Trace to/from various thrift models.
converter/thrift/jaeger
Package jaeger allows converting model.Trace to/from jaeger.thrift model.
Package jaeger allows converting model.Trace to/from jaeger.thrift model.
converter/thrift/zipkin
Package zipkin allows converting model.Trace to/from zipkin.thrift model.
Package zipkin allows converting model.Trace to/from zipkin.thrift model.
json
Package json defines the external JSON representation for Jaeger traces.
Package json defines the external JSON representation for Jaeger traces.
pkg
Package pkg is the collection of utility packages used by the Jaeger components without being specific to its internals.
Package pkg is the collection of utility packages used by the Jaeger components without being specific to its internals.
es
iter
Package iter is a backport of Go 1.23 official "iter" package, until we upgrade.
Package iter is a backport of Go 1.23 official "iter" package, until we upgrade.
metrics
Package metrics provides an internal abstraction for metrics API, and command line flags for configuring the metrics backend.
Package metrics provides an internal abstraction for metrics API, and command line flags for configuring the metrics backend.
Package plugin is the collection of implementations of different interfaces defined across Jaeger
Package plugin is the collection of implementations of different interfaces defined across Jaeger
proto-gen
Package storage is the collection of different storage interfaces that are shared by two or more components.
Package storage is the collection of different storage interfaces that are shared by two or more components.
storage_v2
thrift-gen

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL