jaegertracing/spark-dependencies

Spark job for dependency links

Hosted by Cloud Native Computing Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓

jaegertracing/spark-dependencies has 100+ stars and 70+ forks on GitHub, is written in Java, and was last pushed on Oct 8, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on October 15th, 2026
Created on September 11th, 2017
Open Issues & Pull Requests: 44 (+0)
GitHub issues: Enabled
Number of forks: 78
Total Stargazers: 138 (+0)
Total Subscribers: 7 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 46.5 hours
Mean response time: 340.5 days
90th percentile: 898.4 days
Tracked items: 21

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 9
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 1,255 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

Opened in 7 days: 2
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (11)
  • help wanted (5)
  • enhancement (3)
  • good first issue (3)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Spark Dependencies is a Spark job that analyzes distributed traces to extract and store service dependency links for the Jaeger distributed tracing platform.

The tool solves the problem of understanding service topology in microservice architectures by processing trace data collected by Jaeger. It parses all spans from a given day, identifies relationships between services based on span data, and stores the resulting dependency graph for visualization in the Jaeger UI. The job operates on UTC-based daily batches, allowing operators to reprocess specific days as needed. It is required for production Jaeger deployments, though the all-in-one distribution includes built-in dependency analysis and does not require this separate job.

Operators running Jaeger in production should adopt this tool. It suits any deployment using Cassandra, Elasticsearch, or OpenSearch as the trace storage backend. The project provides Docker images with storage-specific variants that automatically configure the appropriate backend, eliminating manual storage selection. It can also be run as a standalone Java executable for environments where containerization is not preferred. Configuration is handled through environment variables, supporting customization of the Spark master, processing date, peer service identification, JVM memory settings, and logging levels.

The project maintains active development with regular updates to support multiple Elasticsearch versions and OpenSearch, reflecting ongoing compatibility work with evolving storage backends. Docker images are published with variant-specific tags corresponding to different storage systems, indicating sustained attention to deployment patterns. The codebase includes configuration flexibility through environment variables and Java options, suggesting responsiveness to operational requirements. Documentation covers both container and executable deployment modes with concrete examples for each supported storage backend.