bazel-contrib / bazel-contrib/rules_python
eBPF tracing support for python runtime installed using bazel
- 主要语言
- Starlark
- 星标
- 688
- 派生
- 721
- 平均合并
- 15 小时 7 分钟
- 30 天内合并 PR
- 76
描述
# 🚀 feature request
### Relevant Rules
My workspace file looks like this
```python
### PYTHON
http_archive(
name = "rules_python",
sha256 = "94750828b18044533e98a129003b6a68001204038dc4749f40b195b24c38f49f",
strip_prefix = "rules_python-0.21.0",
url = "https://github.com/bazelbuild/rules_python/releases/download/0.21.0/rules_python-0.21.0.tar.gz",
)
load("@rules_python//python:repositories.bzl", "py_repositories")
py_repositories()
# use hermetic / bundle python3.9
load("@rules_python//python:repositories.bzl", "python_register_toolchains")
python_register_toolchains(
name = "python3_9",
python_version = "3.9",
register_coverage_tool = True
)
load("@python3_9//:defs.bzl", "interpreter")
load("@rules_python//python:pip.bzl", "pip_parse")
pip_parse(
name = "python_deps",
python_interpreter_target = interpreter,
requirements_lock = "//third_party/python:requirements_lock.txt",
)
# Load the starlark macro which will define your dependencies.
load("@python_deps//:requirements.bzl", "install_deps")
```
### Description
I want to use eBPF to instrument my application.
### Describe the solution you'd like
Its possible to use eBPF if this URL is followed for building python https://docs.python.org/3/howto/instrumentation.html
In addition to this, having frame pointer is also useful, python needs to be built with the `-fno-omit-frame-pointer` option
贡献指南
调研方向
首先阅读 workspace example 中引用的 python_register_toolchains 和 interpreter 入口点,然后将它们的构建配置与链接文档中 Python 的插桩要求进行比较。当通过 rules_python 安装的 Python 运行时能够支持 eBPF 插桩,并且在启用帧指针的情况下构建时,即可视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- build-system
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100