{"id":13458747,"url":"https://github.com/btraceio/btrace","last_synced_at":"2025-12-17T08:03:21.323Z","repository":{"id":20168707,"uuid":"23439463","full_name":"btraceio/btrace","owner":"btraceio","description":"BTrace - a safe, dynamic tracing tool for the Java platform","archived":false,"fork":false,"pushed_at":"2025-12-16T06:00:09.000Z","size":17850,"stargazers_count":5978,"open_issues_count":10,"forks_count":963,"subscribers_count":322,"default_branch":"develop","last_synced_at":"2025-12-17T05:40:07.008Z","etag":null,"topics":["btrace","java","java-application","java-platform"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/btraceio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":"jbachorik","issuehunt":"jbachorik","otechie":null,"custom":null}},"created_at":"2014-08-28T18:58:24.000Z","updated_at":"2025-12-16T16:13:50.000Z","dependencies_parsed_at":"2023-11-18T20:24:58.705Z","dependency_job_id":"dc8d94fe-a93e-4c20-972f-c3db3a53a26a","html_url":"https://github.com/btraceio/btrace","commit_stats":{"total_commits":1333,"total_committers":34,"mean_commits":"39.205882352941174","dds":0.5183795948987246,"last_synced_commit":"513992c058f286af6e38986f2a7d5f05cfba5c94"},"previous_names":["jbachorik/btrace"],"tags_count":60,"template":false,"template_full_name":null,"purl":"pkg:github/btraceio/btrace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btraceio%2Fbtrace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btraceio%2Fbtrace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btraceio%2Fbtrace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btraceio%2Fbtrace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/btraceio","download_url":"https://codeload.github.com/btraceio/btrace/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btraceio%2Fbtrace/sbom","scorecard":{"id":256870,"data":{"date":"2025-08-11","repo":{"name":"github.com/btraceio/btrace","commit":"b4a8f221de7cd252a69c92b7a3b775c2b556277e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"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":"Code-Review","score":0,"reason":"Found 1/14 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":10,"reason":"no dangerous workflow patterns detected","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":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:28","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:29","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/continuous.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Warn: no topLevel permission defined: .github/workflows/stale.yml:1","Info: no jobLevel write permissions found"],"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":8,"reason":"binaries present in source code","details":["Warn: binary detected: btrace-dist/src/main/resources/libs/amd64/libbtrace.so:1","Warn: binary detected: gradle/wrapper/gradle-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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/codeql-analysis.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/codeql-analysis.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/codeql-analysis.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/continuous.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/continuous.yml:91: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:104: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:113: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:118: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:130: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:151: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/continuous.yml:155: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:157: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:162: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/continuous.yml:171: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/continuous.yml:187: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/continuous.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/release.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/release.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/release.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/btraceio/btrace/stale.yml/develop?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/continuous.yml:98","Info:   0 out of  22 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned"],"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":"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":"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":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v2.2.6 not signed: https://api.github.com/repos/btraceio/btrace/releases/184519751","Warn: release artifact v2.2.5 not signed: https://api.github.com/repos/btraceio/btrace/releases/150655351","Warn: release artifact v2.2.4 not signed: https://api.github.com/repos/btraceio/btrace/releases/113372832","Warn: release artifact v2.2.3 not signed: https://api.github.com/repos/btraceio/btrace/releases/87100796","Warn: release artifact v2.2.2 not signed: https://api.github.com/repos/btraceio/btrace/releases/62818179","Warn: release artifact v2.2.6 does not have provenance: https://api.github.com/repos/btraceio/btrace/releases/184519751","Warn: release artifact v2.2.5 does not have provenance: https://api.github.com/repos/btraceio/btrace/releases/150655351","Warn: release artifact v2.2.4 does not have provenance: https://api.github.com/repos/btraceio/btrace/releases/113372832","Warn: release artifact v2.2.3 does not have provenance: https://api.github.com/repos/btraceio/btrace/releases/87100796","Warn: release artifact v2.2.2 does not have provenance: https://api.github.com/repos/btraceio/btrace/releases/62818179"],"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":-1,"reason":"internal error: error during GetBranch(master): error during branchesHandler.query: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/continuous.yml:143"],"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":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (19) 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"}}]},"last_synced_at":"2025-08-17T09:54:26.880Z","repository_id":20168707,"created_at":"2025-08-17T09:54:26.880Z","updated_at":"2025-08-17T09:54:26.880Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27779859,"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-12-17T02:00:08.291Z","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":["btrace","java","java-application","java-platform"],"created_at":"2024-07-31T09:00:56.566Z","updated_at":"2025-12-17T08:03:21.287Z","avatar_url":"https://github.com/btraceio.png","language":"Java","readme":"[![Dev build](https://github.com/btraceio/btrace/workflows/BTrace%20CI%2FCD/badge.svg?branch=develop)](https://github.com/btraceio/btrace/actions?query=workflow%3A%22BTrace+CI%2FCD%22+branch%3Adevelop) [![Download](https://img.shields.io/github/v/release/btraceio/btrace?sort=semver)](https://github.com/btraceio/btrace/releases/latest) [![codecov.io](https://codecov.io/github/btraceio/btrace/coverage.svg?branch=develop)](https://codecov.io/github/btraceio/btrace?branch=develop) [![huhu](https://img.shields.io/badge/Slack-join%20chat-brightgreen\")](http://btrace.slack.com/) [![Join the chat at https://gitter.im/jbachorik/btrace](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/btraceio/btrace?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge) [![Project Stats](https://www.openhub.net/p/btrace/widgets/project_thin_badge.gif)](https://www.openhub.net/p/btrace)\n\n# btrace\n\nA safe, dynamic tracing tool for the Java platform\n\n## Quick Summary\nBTrace is a safe, dynamic tracing tool for the Java platform.\n\nBTrace can be used to dynamically trace a running Java program (similar to DTrace for OpenSolaris applications and OS). BTrace dynamically instruments the classes of the target application to inject tracing code (\"bytecode tracing\").\n\n## Credits\n* Based on [ASM](http://asm.ow2.org/)\n* Powered by [JCTools](https://github.com/JCTools/JCTools)\n* Powered by [hppcrt](https://github.com/vsonnier/hppcrt)\n* Optimized with [JProfiler Java Profiler](http://www.ej-technologies.com/products/jprofiler/overview.html)\n* Build env helper using [SDKMAN!](https://sdkman.io/)\n\n## Building BTrace\n\n### Setup\nYou will need the following applications installed\n\n* [Git](http://git-scm.com/downloads)\n* (optionally, the default launcher is the bundled `gradlew` wrapper) [Gradle](http://gradle.org)\n\n\n### Build\n\n#### Gradle\n```sh\ncd \u003cbtrace\u003e\n./gradlew :btrace-dist:build\n```\nThe binary dist packages can be found in `\u003cbtrace\u003e/btrace-dist/build/distributions` as the *.tar.gz, *.zip, *.rpm and *.deb files.\nThe exploded binary folder which can be used right away is located at `\u003cbtrace\u003e/btrace-dist/build/resources/main` which serves as the __BTRACE_HOME__ location.\n\n##### Golden Files\nSome of the instrumentor related tests are using golden files. Therefore, it is necessary to update those files\nwhen the injected code is changed. This can be done with the help of passing in `updateTestData` Gradle property.\nEg. running the tests like `./gradlew test -PupdateTestData` will regenerate all golden files which then must be\nchecked in to the Git repository.\n\n\n## Using BTrace\n### Installation\nDownload a distribution file from the [release page](https://github.com/btraceio/btrace/releases/latest). Explode the binary distribution file (either *.tar.gz or *.zip) to a directory of your choice.\n\nYou may set the system environment variable __BTRACE_HOME__ to point to the directory containing the exploded distribution.\n\nYou may enhance the system environment variable __PATH__ with __$BTRACE_HOME/bin__ for your convenience.\n\nOr, alternatively, you may install one of the *.rpm or *.deb packages\n\n### Running\n* `\u003cbtrace\u003e/bin/btrace \u003cPID\u003e \u003ctrace_script\u003e` will attach to the __java__ application with the given __PID__ and compile and submit the trace script\n* `\u003cbtrace\u003e/bin/btracec \u003ctrace_script\u003e` will compile the provided trace script\n* `\u003cbtrace\u003e/bin/btracer \u003ccompiled_script\u003e \u003cargs to launch a java app\u003e` will start the specified java application with the btrace agent running and the script previously compiled by *btracec* loaded\n\nFor the detailed user guide, please, check the [Wiki](https://github.com/btraceio/btrace/wiki/Home).\n\n### Maven Integration\nThe [maven plugin](https://github.com/btraceio/btrace-maven) is providing easy compilation of __BTrace__ scripts as a part of the build process. As a bonus you can utilize the _BTrace Project Archetype_ to bootstrap developing __BTrace__ scripts.\n\n## Contributing - !!! Important !!!\n\nPull requests can be accepted only from the signers of [Oracle Contributor Agreement](https://oca.opensource.oracle.com/)\n","funding_links":["https://liberapay.com/jbachorik","https://issuehunt.io/r/jbachorik"],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtraceio%2Fbtrace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbtraceio%2Fbtrace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtraceio%2Fbtrace/lists"}