{"adoption": {"forks": 390, "observed_at": "2026-08-28T04:05:05.505271+00:00", "stars": 1572}, "canonical_url": "https://ross.abutalabs.com/products/opentracing-tutorial", "card": {"archived": true, "artifact_type": "learning-resource", "description": "A collection of tutorials for the OpenTracing API", "domain": ["monitoring", "developer-tools", "microservices", "tutorials"], "enriched": true, "function": ["tracing"], "health_score": 10, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["yurishkuro/opentracing-tutorial"], "name": "yurishkuro/opentracing-tutorial", "platform": ["cross-platform", "python", "jvm", "go", "dotnet"], "pushed_at": "2022-12-08T15:14:22+00:00", "repo": "yurishkuro/opentracing-tutorial", "stars": 1572, "tags": ["distributed-tracing", "opentracing", "jaeger", "observability", "spans", "context-propagation", "opentelemetry-migration", "archived", "instrumentation", "docker", "nodejs"], "topics": [], "urls": [], "use_cases": ["learn distributed tracing from scratch", "opentracing tutorial with examples", "how to instrument a microservice with tracing spans", "jaeger tracing getting started guide", "understand context propagation across services", "tracing examples in java python go nodejs csharp"], "what_it_is": "A collection of hands-on tutorials for the OpenTracing API, with step-by-step lessons in Java, Python, Go, Node.js, and C# that use CNCF Jaeger as the tracing backend. The repository was archived in December 2022 after OpenTracing was officially retired in favor of OpenTelemetry, though the lessons remain useful for learning distributed tracing concepts.", "when_to_avoid": ["Instrumenting new applications, since OpenTracing is retired and OpenTelemetry is the recommended API", "Needing actively maintained tutorials or up-to-date tooling, as the repository is archived", "Building production tracing pipelines rather than learning the concepts"], "when_to_choose": ["Learning distributed tracing fundamentals such as spans, traces, and context propagation through guided exercises", "Studying legacy OpenTracing instrumentation before migrating a codebase to OpenTelemetry", "Wanting language-specific walkthroughs that pair with a locally running Jaeger backend"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/opentracing-tutorial", "repo": "yurishkuro/opentracing-tutorial", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:58:24.881119+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd6247a779227515ec260db4dd375700149e28f24ef1d6e01ca361a93f716eb2", "fetched_at": "2026-08-28T04:05:05.505271+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yurishkuro/opentracing-tutorial"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:58:24.881119+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd6247a779227515ec260db4dd375700149e28f24ef1d6e01ca361a93f716eb2", "fetched_at": "2026-08-28T04:05:05.505271+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yurishkuro/opentracing-tutorial"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:58:24.881119+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd6247a779227515ec260db4dd375700149e28f24ef1d6e01ca361a93f716eb2", "fetched_at": "2026-08-28T04:05:05.505271+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yurishkuro/opentracing-tutorial"}], "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:05:05.505271+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:58:24.881119+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd6247a779227515ec260db4dd375700149e28f24ef1d6e01ca361a93f716eb2", "fetched_at": "2026-08-28T04:05:05.505271+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yurishkuro/opentracing-tutorial"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:58:24.881119+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd6247a779227515ec260db4dd375700149e28f24ef1d6e01ca361a93f716eb2", "fetched_at": "2026-08-28T04:05:05.505271+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yurishkuro/opentracing-tutorial"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:58:24.881119+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd6247a779227515ec260db4dd375700149e28f24ef1d6e01ca361a93f716eb2", "fetched_at": "2026-08-28T04:05:05.505271+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yurishkuro/opentracing-tutorial"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:05.505271+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:58:24.881119+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd6247a779227515ec260db4dd375700149e28f24ef1d6e01ca361a93f716eb2", "fetched_at": "2026-08-28T04:05:05.505271+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yurishkuro/opentracing-tutorial"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:58:24.881119+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd6247a779227515ec260db4dd375700149e28f24ef1d6e01ca361a93f716eb2", "fetched_at": "2026-08-28T04:05:05.505271+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yurishkuro/opentracing-tutorial"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:58:24.881119+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd6247a779227515ec260db4dd375700149e28f24ef1d6e01ca361a93f716eb2", "fetched_at": "2026-08-28T04:05:05.505271+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yurishkuro/opentracing-tutorial"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:58:24.881119+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd6247a779227515ec260db4dd375700149e28f24ef1d6e01ca361a93f716eb2", "fetched_at": "2026-08-28T04:05:05.505271+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yurishkuro/opentracing-tutorial"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3265, "days_push": 1364, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}