Management
This outline describes the management of dependencies and security within the jaeger-lib project.
Dependency Management
The Gopkg.toml
file defines the project’s dependencies and their version constraints.
Example:
[[constraint]]
name = "github.com/uber-go/tally"
version = ">=2.1.0, <4.0.0"
This specifies that the github.com/uber-go/tally
dependency must be at least version 2.1.0
but strictly less than 4.0.0
.
Security
The DCO
file defines the project’s security practices, which are further elaborated upon in the CONTRIBUTING.md
file.
Example:
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
This section from the DCO
emphasizes the project’s commitment to transparency and maintaining a public record of all contributions.
Project Usage
The README.md
file explains the project’s intended usage and limitations.
Example:
This library is *not intended to be used standalone*, and provides *no guarantees of backwards compatibility*.
This statement clearly indicates that the library is meant to be integrated into other Jaeger components and should not be treated as a standalone solution.
Top-Level Directory Explanations
metrics/ - This directory contains the metrics implementation for the Jaeger Tracing library.
metrics/adapters/ - This subdirectory contains the various metric adapters for different backends.
metrics/expvar/ - This subdirectory contains the implementation for exposing metrics as HTTP endpoints using the expvar package.
metrics/fork/ - This subdirectory contains the implementation for forking metrics between processes.
metrics/go-kit/ - This subdirectory contains the Go-Kit integration for the Jaeger Tracing library.
metrics/go-kit/expvar/ - This subdirectory contains the expvar implementation for the Go-Kit integration.
metrics/go-kit/influx/ - This subdirectory contains the InfluxDB implementation for the Go-Kit integration.
metrics/metricstest/ - This subdirectory contains the testing implementation for the metrics.
metrics/multi/ - This subdirectory contains the implementation for collecting metrics from multiple sources.
metrics/prometheus/ - This subdirectory contains the Prometheus implementation for the Jaeger Tracing library.
metrics/tally/ - This subdirectory contains the implementation for counting metrics using the tally package.
scripts/ - This directory contains various scripts for the project.