Codebase

Navigate the Codebase using the tree view. Use the filters to highlight where various files are grouped to aid understanding.

Getting Started Commands

Project Structure

Below is a short description of the key directories of the project to aid you when understanding where key files are located.

.github/ - This directory contains GitHub-specific configuration files and workflows for the project.
.github/actions/ - GitHub Actions is a continuous integration, continuous delivery, and workflow automation service for GitHub. This directory contains configuration files for GitHub Actions.
.github/actions/setup-gopath/ - This subdirectory of GitHub Actions contains the configuration file action.yml for setting up the Go path for the project.
.github/workflows/ - This directory contains YAML files defining GitHub Actions workflows for the project.
.github/workflows/unit-tests.yml - This file defines a GitHub Actions workflow for running unit tests.
.gitignore - This file specifies which files and directories to ignore when using Git.
CHANGELOG.md - This file contains the project's change log.
client/ - This directory contains the client-side code for the Jaeger Tracing library.
client/log/ - This subdirectory contains the logging implementation for the client-side code.
client/log/go-kit/ - This subdirectory of the logging implementation contains the Go-Kit logging adapter.
client/log/go-kit/logger_test.go - This file contains the tests for the Go-Kit logger.
client/log/go-kit/logger.go - This file defines the Go-Kit logger.
CONTRIBUTING.md - This file provides guidelines for contributing to the project.
DCO - This directory contains the Developer Certificate of Origin.
doc.go - This file contains the documentation for the project.
glide.lock - This file stores the lock file for the project's Glide dependencies.
glide.yaml - This file specifies the project's Glide configuration.
Gopkg.lock - This file stores the lock file for the project's dependencies.
Gopkg.toml - This file specifies the project's dependencies and configuration.
LICENSE - This file contains the project's license.
Makefile - This file contains the project's Makefile.
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/adapters/cache_test.go - This file contains the tests for the cache metric adapter.
metrics/adapters/cache.go - This file defines the cache metric adapter.
metrics/adapters/factory_test.go - This file contains the tests for the metric adapter factory.
metrics/adapters/factory.go - This file defines the metric adapter factory.
metrics/adapters/tagless.go - This file defines the tagless metric adapter.
metrics/counter.go - This file defines the counter metric type.
metrics/expvar/ - This subdirectory contains the implementation for exposing metrics as HTTP endpoints using the expvar package.
metrics/expvar/factory_test.go - This file contains the tests for the expvar metric factory.
metrics/expvar/factory.go - This file defines the expvar metric factory.
metrics/factory.go - This file defines the factory for creating metrics.
metrics/fork/ - This subdirectory contains the implementation for forking metrics between processes.
metrics/fork/fork_test.go - This file contains the tests for the metric forking functionality.
metrics/fork/fork.go - This file defines the metric forking functionality.
metrics/gauge.go - This file defines the gauge metric type.
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/expvar/factory_test.go - This file contains the tests for the expvar factory for the Go-Kit integration.
metrics/go-kit/expvar/factory.go - This file defines the expvar factory for the Go-Kit integration.
metrics/go-kit/factory_test.go - This file contains the tests for the factory for the Go-Kit integration.
metrics/go-kit/factory.go - This file defines the factory for the Go-Kit integration.
metrics/go-kit/influx/ - This subdirectory contains the InfluxDB implementation for the Go-Kit integration.
metrics/go-kit/influx/factory_test.go - This file contains the tests for the InfluxDB factory for the Go-Kit integration.
metrics/go-kit/influx/factory.go - This file defines the InfluxDB factory for the Go-Kit integration.
metrics/go-kit/metrics_test.go - This file contains the tests for the metrics implementation for the Go-Kit integration.
metrics/go-kit/metrics.go - This file defines the metrics implementation for the Go-Kit integration.
metrics/histogram.go - This file defines the histogram metric type.
metrics/keys.go - This file defines the keys for the metrics.
metrics/metrics_test.go - This file contains the tests for the metrics implementation.
metrics/metrics.go - This file defines the metrics interface.
metrics/metricstest/ - This subdirectory contains the testing implementation for the metrics.
metrics/metricstest/local_test.go - This file contains the tests for the local testing implementation for the metrics.
metrics/metricstest/local.go - This file defines the local testing implementation for the metrics.
metrics/metricstest/metricstest_test.go - This file contains the tests for the testing implementation for the metrics.
metrics/metricstest/metricstest.go - This file defines the testing implementation for the metrics.
metrics/multi/ - This subdirectory contains the implementation for collecting metrics from multiple sources.
metrics/multi/multi_test.go - This file contains the tests for the multi-metric collection functionality.
metrics/multi/multi.go - This file defines the multi-metric collection functionality.
metrics/prometheus/ - This subdirectory contains the Prometheus implementation for the Jaeger Tracing library.
metrics/prometheus/cache.go - This file defines the cache implementation for Prometheus.
metrics/prometheus/factory_test.go - This file contains the tests for the factory for the Prometheus implementation.
metrics/prometheus/factory.go - This file defines the factory for the Prometheus implementation.
metrics/stopwatch.go - This file defines the stopwatch metric type.
metrics/tally/ - This subdirectory contains the implementation for counting metrics using the tally package.
metrics/tally/factory_test.go - This file contains the tests for the factory for the tally implementation.
metrics/tally/factory.go - This file defines the factory for the tally implementation.
metrics/tally/metrics.go - This file defines the metrics implementation for the tally package.
metrics/timer.go - This file defines the timer metric type.
README.md - This file provides information about the project.
RELEASE.md - This file provides information about releasing the project.
sample/ - This directory contains a sample implementation for the Jaeger Tracing library.
sample/sample_test.go - This file contains the tests for the sample implementation.
sample/sample.go - This file defines the sample implementation.
scripts/ - This directory contains various scripts for the project.
scripts/updateLicense.py - This script updates the project's licenses.
scripts/updateLicenses.sh - This script updates the project's licenses using the updateLicense.py script.
utils/ - This directory contains various utility functions for the project.
utils/rate_limiter_test.go - This file contains the tests for the rate limiter utility.
utils/rate_limiter.go - This file defines a rate limiter utility.