Shared Infrastructure - jaegertracing/jaeger-lib

Jaeger-lib is a collection of shared libraries that provides a set of common functionalities for the Jaeger project. It includes several key technologies and dependencies such as Go Kit, Prometheus, expvar, glide, gopkg.in/check.v1, OpenTracing, github.com/uber/jaeger-client-go, github.com/uber/jaeger-log, github.com/uber/jaeger-model, and github.com/uber/jaeger-util.

One of the main benefits of Jaeger-lib is that it provides a set of shared libraries that can be used across different components of the Jaeger project, reducing code duplication and increasing code reusability. It also provides a consistent and standardized way of implementing common functionalities, making it easier to maintain and evolve the project.

Jaeger-lib includes several libraries, each with its own set of functionalities. For example, the github.com/uber/jaeger-client-go library provides a Go client for Jaeger, which can be used to instrument applications and send traces to a Jaeger backend. The github.com/uber/jaeger-model library provides a set of models and types that are used to represent traces and spans in Jaeger.

Here are some examples of how Jaeger-lib can be used in different components of the Jaeger project:

  • In the jaeger-client-go library, Jaeger-lib is used to provide a set of common functionalities such as configuration, logging, and metrics.
  • In the jaeger-agent component, Jaeger-lib is used to provide a set of functionalities such as UDP packet handling, Zipkin compatibility, and gRPC server.
  • In the jaeger-collector component, Jaeger-lib is used to provide a set of functionalities such as HTTP server, gRPC server, and storage plugins.

In summary, Jaeger-lib is a collection of shared libraries that provides a set of common functionalities for the Jaeger project. It includes several key technologies and dependencies and provides a consistent and standardized way of implementing common functionalities, reducing code duplication and increasing code reusability.

Sources: