{"adoption": {"forks": 1722, "observed_at": "2026-08-28T04:10:20.105517+00:00", "stars": 8293}, "canonical_url": "https://ross.abutalabs.com/products/transmittable-thread-local", "card": {"archived": false, "artifact_type": "library", "description": "📌 a missing Java std lib(simple & 0-dependency) for framework/middleware, provide an enhanced InheritableThreadLocal that transmits values between threads even using thread pooling components.", "domain": ["developer-tools", "microservices", "backend", "monitoring"], "enriched": true, "function": ["concurrency", "middleware", "tracing", "developer-tools"], "health_score": 77, "homepage": "https://github.com/alibaba/transmittable-thread-local", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["alibaba/transmittable-thread-local"], "name": "alibaba/transmittable-thread-local", "platform": ["jvm"], "pushed_at": "2026-06-18T20:17:43+00:00", "repo": "alibaba/transmittable-thread-local", "stars": 8293, "tags": ["threadlocal", "thread-pool", "context-propagation", "async", "executor", "java-agent", "zero-dependency"], "topics": ["java", "threadlocal", "threadsafe", "transmittable", "context", "thread-pool", "executor", "transmittable-thread-local", "middleware", "framework", "apm", "distributed-tracing", "dapper", "tracing", "async", "asynchronous", "async-context", "forkjoinpool", "asynchronous-context"], "urls": [], "use_cases": ["pass request context through thread pools in Java middleware", "propagate trace IDs across async tasks for distributed tracing", "transmit ThreadLocal values when using ExecutorService or ForkJoinPool", "maintain user session context in pooled threads", "build APM or tracing frameworks that need async context propagation", "wrap Runnable and Callable to carry context across thread boundaries"], "what_it_is": "TransmittableThreadLocal (TTL) is a zero-dependency Java library providing an enhanced InheritableThreadLocal that transmits context values between threads even when thread pools reuse threads. It includes a Java Agent to transparently instrument JDK thread pool implementations like ExecutorService and ForkJoinPool.", "when_to_avoid": ["you don't use thread pools or async execution", "you're on a non-JVM platform", "you need coroutine or reactive-stream context propagation instead of thread-based"], "when_to_choose": ["your Java framework or middleware needs context propagation through pooled threads", "InheritableThreadLocal fails because threads are reused from a pool", "you want a simple, zero-dependency solution with optional Java Agent instrumentation", "you're building distributed tracing or APM tooling on the JVM"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/transmittable-thread-local", "repo": "alibaba/transmittable-thread-local", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:28:05.545297+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c783974c509daf63c289077eee5be6d50db38ef5dab398152b9dbc8de40cca1", "fetched_at": "2026-08-28T04:10:20.105517+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}, {"content_hash": "0dd07db4bf081ca6769ed2af1e8e114817e5825b2edb1e36cbf74498a4952dab", "fetched_at": "2026-08-29T08:27:42.714916+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:28:05.545297+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c783974c509daf63c289077eee5be6d50db38ef5dab398152b9dbc8de40cca1", "fetched_at": "2026-08-28T04:10:20.105517+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}, {"content_hash": "0dd07db4bf081ca6769ed2af1e8e114817e5825b2edb1e36cbf74498a4952dab", "fetched_at": "2026-08-29T08:27:42.714916+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:28:05.545297+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c783974c509daf63c289077eee5be6d50db38ef5dab398152b9dbc8de40cca1", "fetched_at": "2026-08-28T04:10:20.105517+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}, {"content_hash": "0dd07db4bf081ca6769ed2af1e8e114817e5825b2edb1e36cbf74498a4952dab", "fetched_at": "2026-08-29T08:27:42.714916+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:28:05.545297+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c783974c509daf63c289077eee5be6d50db38ef5dab398152b9dbc8de40cca1", "fetched_at": "2026-08-28T04:10:20.105517+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}, {"content_hash": "0dd07db4bf081ca6769ed2af1e8e114817e5825b2edb1e36cbf74498a4952dab", "fetched_at": "2026-08-29T08:27:42.714916+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:28:05.545297+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c783974c509daf63c289077eee5be6d50db38ef5dab398152b9dbc8de40cca1", "fetched_at": "2026-08-28T04:10:20.105517+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}, {"content_hash": "0dd07db4bf081ca6769ed2af1e8e114817e5825b2edb1e36cbf74498a4952dab", "fetched_at": "2026-08-29T08:27:42.714916+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:28:05.545297+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c783974c509daf63c289077eee5be6d50db38ef5dab398152b9dbc8de40cca1", "fetched_at": "2026-08-28T04:10:20.105517+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}, {"content_hash": "0dd07db4bf081ca6769ed2af1e8e114817e5825b2edb1e36cbf74498a4952dab", "fetched_at": "2026-08-29T08:27:42.714916+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:20.105517+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:28:05.545297+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c783974c509daf63c289077eee5be6d50db38ef5dab398152b9dbc8de40cca1", "fetched_at": "2026-08-28T04:10:20.105517+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}, {"content_hash": "0dd07db4bf081ca6769ed2af1e8e114817e5825b2edb1e36cbf74498a4952dab", "fetched_at": "2026-08-29T08:27:42.714916+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:28:05.545297+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c783974c509daf63c289077eee5be6d50db38ef5dab398152b9dbc8de40cca1", "fetched_at": "2026-08-28T04:10:20.105517+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}, {"content_hash": "0dd07db4bf081ca6769ed2af1e8e114817e5825b2edb1e36cbf74498a4952dab", "fetched_at": "2026-08-29T08:27:42.714916+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:28:05.545297+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c783974c509daf63c289077eee5be6d50db38ef5dab398152b9dbc8de40cca1", "fetched_at": "2026-08-28T04:10:20.105517+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}, {"content_hash": "0dd07db4bf081ca6769ed2af1e8e114817e5825b2edb1e36cbf74498a4952dab", "fetched_at": "2026-08-29T08:27:42.714916+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:28:05.545297+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7c783974c509daf63c289077eee5be6d50db38ef5dab398152b9dbc8de40cca1", "fetched_at": "2026-08-28T04:10:20.105517+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}, {"content_hash": "0dd07db4bf081ca6769ed2af1e8e114817e5825b2edb1e36cbf74498a4952dab", "fetched_at": "2026-08-29T08:27:42.714916+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/alibaba/transmittable-thread-local"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 88, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4707, "days_push": 76, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}