alibaba/transmittable-thread-local

πŸ“Œ a missing Java std lib(simple & 0-dependency) for framework/middleware, provide an enhanced InheritableThreadLocal that transmits values between threads...

View on GitHub β†—Jump to charts ↓

Summary Information

Updated 38 minutes ago
Added to GitGenius on September 7th, 2026
Created on October 13th, 2013
Open Issues & Pull Requests: 57 (+0)
GitHub issues: Enabled
Number of forks: 1,723
Total Stargazers: 8,299 (+0)
Total Subscribers: 279 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.2 days
Mean response time: 87.2 days
90th percentile: 371.1 days
Tracked items: 34

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 2% of issues opened in the past year have been closed. Three people close 93% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 10
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 734 days
Stale 30+ days: 9
Stale 90+ days: 9

Recent activity

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

Top labels

  • ❓question (15)
  • πŸ˜– no runnable reproducible demo 😡 (11)
  • πŸ“ design discussion (8)
  • ttl agent (6)
  • πŸ”° first nice issue πŸ‘ (6)
  • ✨ feature (4)
  • _❀️_ (3)
  • πŸ“š documentation (3)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

TransmittableThreadLocal is a Java library that provides an enhanced InheritableThreadLocal implementation for frameworks and middleware, enabling context values to be transmitted across threads even when using thread pooling components.

The problem it solves is that standard Java ThreadLocal and InheritableThreadLocal fail to propagate context in asynchronous and thread-pooled environments, which breaks distributed tracing, request context, and other cross-cutting concerns in modern applications. The tool works by intercepting thread creation and task execution to ensure that context values are captured before async operations and restored in the executing thread, making it transparent to application code.

The project suits middleware, framework developers, and applications requiring distributed tracing or async context propagation. It is particularly valuable in APM systems, asynchronous processing pipelines, and any scenario using thread pools or ForkJoinPool where context must survive thread boundaries. The library is designed as a zero-dependency solution, making it suitable for inclusion in frameworks without adding transitive dependencies.

The project is under active development on its main branch, with a stable release series maintained on a separate branch. The codebase shows ongoing architectural work and feature development, indicating that the maintainers are iterating on the design while preserving backward compatibility through versioning. The project maintains comprehensive documentation and issue tracking, suggesting a commitment to supporting users through the development cycle.