{"id":21153020,"url":"https://github.com/opentracing-contrib/java-thrift","last_synced_at":"2025-10-11T19:16:20.736Z","repository":{"id":53782594,"uuid":"92243962","full_name":"opentracing-contrib/java-thrift","owner":"opentracing-contrib","description":"OpenTracing instrumentation for Apache Thrift","archived":false,"fork":false,"pushed_at":"2024-03-15T13:04:43.000Z","size":177,"stargazers_count":10,"open_issues_count":4,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-14T13:32:08.500Z","etag":null,"topics":["java","opentracing","thrift"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opentracing-contrib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-24T03:04:49.000Z","updated_at":"2023-11-12T14:09:24.000Z","dependencies_parsed_at":"2024-11-20T11:23:23.421Z","dependency_job_id":"b0bac947-cf0f-4723-b605-4ee2f5e83c07","html_url":"https://github.com/opentracing-contrib/java-thrift","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/opentracing-contrib/java-thrift","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentracing-contrib%2Fjava-thrift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentracing-contrib%2Fjava-thrift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentracing-contrib%2Fjava-thrift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentracing-contrib%2Fjava-thrift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opentracing-contrib","download_url":"https://codeload.github.com/opentracing-contrib/java-thrift/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentracing-contrib%2Fjava-thrift/sbom","scorecard":{"id":710628,"data":{"date":"2025-08-11","repo":{"name":"github.com/opentracing-contrib/java-thrift","commit":"2fdf7c55309150fb9e3b06ebf773e37f80968d1b"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.6,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 2/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: .mvn/wrapper/maven-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 8 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"24 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-7r82-7xv7-xcpj","Warn: Project is vulnerable to: GHSA-2rvv-w9r2-rg7m","Warn: Project is vulnerable to: GHSA-3p2h-wqq4-wf4h","Warn: Project is vulnerable to: GHSA-5j33-cvvr-w245","Warn: Project is vulnerable to: GHSA-7w75-32cg-r6g2","Warn: Project is vulnerable to: GHSA-83qj-6fr2-vhqg","Warn: Project is vulnerable to: GHSA-9xcj-c8cr-8c3c","Warn: Project is vulnerable to: GHSA-c9hw-wf7x-jp9j","Warn: Project is vulnerable to: GHSA-f4qf-m5gf-8jm8","Warn: Project is vulnerable to: GHSA-fccv-jmmp-qg76","Warn: Project is vulnerable to: GHSA-ff77-26x5-69cr","Warn: Project is vulnerable to: GHSA-g8pj-r55q-5c2v","Warn: Project is vulnerable to: GHSA-h2fw-rfh5-95r3","Warn: Project is vulnerable to: GHSA-h3gc-qfqq-6h8f","Warn: Project is vulnerable to: GHSA-hh3j-x4mc-g48r","Warn: Project is vulnerable to: GHSA-j39c-c8hj-x4j3","Warn: Project is vulnerable to: GHSA-jgwr-3qm3-26f3","Warn: Project is vulnerable to: GHSA-p22x-g9px-3945","Warn: Project is vulnerable to: GHSA-q3mw-pvr8-9ggc","Warn: Project is vulnerable to: GHSA-qppj-fm5r-hxr3","Warn: Project is vulnerable to: GHSA-qxf4-chvg-4r8r","Warn: Project is vulnerable to: GHSA-r6j3-px5g-cq3x","Warn: Project is vulnerable to: GHSA-wc4r-xq3c-5cf3","Warn: Project is vulnerable to: GHSA-wm9w-rjj3-j356"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T08:07:34.602Z","repository_id":53782594,"created_at":"2025-08-22T08:07:34.602Z","updated_at":"2025-08-22T08:07:34.602Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279008460,"owners_count":26084460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","opentracing","thrift"],"created_at":"2024-11-20T10:48:09.187Z","updated_at":"2025-10-11T19:16:20.715Z","avatar_url":"https://github.com/opentracing-contrib.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov] [![Released Version][maven-img]][maven] [![Apache-2.0 license](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n# OpenTracing Apache Thrift Instrumentation\nOpenTracing instrumentation for Apache Thrift\n\npom.xml\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eio.opentracing.contrib\u003c/groupId\u003e\n    \u003cartifactId\u003eopentracing-thrift\u003c/artifactId\u003e\n    \u003cversion\u003eVERSION\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Usage\n\nPlease don't use `FieldID` equal `3333`. It is a _magic number_ for injected span context.\n\n```java\n// Instantiate tracer\nTracer tracer = ...\n\n// Optionally register tracer with GlobalTracer\nGlobalTracer.register(tracer);\n\n```\n### Synchronous mode\n\n####  Server\n\n```java\n// Decorate TProcessor with SpanProcessor e.g.\nTProcessor processor = ...\nTProcessor spanProcessor = new SpanProcessor(processor, tracer);\nTServerTransport transport = ...\nTServer server = new TSimpleServer(new Args(transport).processor(spanProcessor));\n\n```\n\n#### Client\n\n```java\n// Decorate TProtocol with SpanProtocol e.g.\n\nTTransport transport = ...\nTProtocol protocol = new TBinaryProtocol(transport);\nTProtocol spanProtocol = new SpanProtocol(protocol, tracer)\n\n```\n\n### Asynchronous mode\n\n#### Server\n\n```java\n// Decorate TProcessor with SpanProcessor\nTProcessor processor = ...\nTProcessor spanProcessor = new SpanProcessor(processor, tracer);\n\nTNonblockingServerSocket tnbSocketTransport = new TNonblockingServerSocket(8890, 30000);\nTNonblockingServer.Args tnbArgs = new TNonblockingServer.Args(tnbSocketTransport);\ntnbArgs.processor(spanProcessor);\nTServer server = new TNonblockingServer(tnbArgs);\n\n```\n\n#### Client\n\n```java\n\n// Decorate TProtocolFactory with SpanProtocol.Factory\nTProtocolFactory factory = new TBinaryProtocol.Factory();\nSpanProtocol.Factory protocolFactory = new SpanProtocol.Factory(factory, tracer, false);\n\nTNonblockingTransport transport = new TNonblockingSocket(\"localhost\", 8890);\nTAsyncClientManager clientManager = new TAsyncClientManager();\nAsyncClient asyncClient = new AsyncClient(protocolFactory, clientManager, transport);\n\n// Decorate AsyncMethodCallback with TracingAsyncMethodCallback:\nAsyncMethodCallback\u003cT\u003e callback = ...\nTracingAsyncMethodCallback\u003cT\u003e tracingCallback = new TracingAsyncMethodCallback(callback, protocolFactory);\n\nasyncClient.callMethod(..., tracingCallback);\n\n```\n\n### Custom Client Span Tags\nTo customise the tags added to spans on the client side, create a custom implementation of ClientSpanDecorator.\n\n```java\n\nclass MyClientSpanDecorator implements ClientSpanDecorator {\n    \n    @Override\n    public void decorate(Span span, TMessage message) {\n        // Add custom tags to the span.\n    }\n    \n    @Override\n    public void onError(Throwable throwable, Span span) {\n        // Add custom tags for when an error is thrown by the thrift call.\n    }\n}\n\n```\n\nThen pass this into your SpanProtocol.\n\n```java\n\nTProtocol spanProtocol = new SpanProtocol(protocol, tracer, new MyClientSpanDecorator() );\n\n```\n\nIf no custom ClientSpanDecorator is provided, the DefaultClientSpanDecorator is used.\nThis delegates its methods to the static methods in the SpanDecorator class.\nThe DefaultClientSpanDecorator can be extended if you want to add to the default behaviour.\n\n## License\n\n[Apache 2.0 License](./LICENSE).\n\n[ci-img]: https://travis-ci.org/opentracing-contrib/java-thrift.svg?branch=master\n[ci]: https://travis-ci.org/opentracing-contrib/java-thrift\n[cov-img]: https://coveralls.io/repos/github/opentracing-contrib/java-thrift/badge.svg?branch=master\n[cov]: https://coveralls.io/github/opentracing-contrib/java-thrift?branch=master\n[maven-img]: https://img.shields.io/maven-central/v/io.opentracing.contrib/opentracing-thrift.svg\n[maven]: http://search.maven.org/#search%7Cga%7C1%7Copentracing-thrift\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopentracing-contrib%2Fjava-thrift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopentracing-contrib%2Fjava-thrift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopentracing-contrib%2Fjava-thrift/lists"}