bazel-contrib / bazel-contrib/rules_python

eBPF tracing support for python runtime installed using bazel

未关闭
#1,737 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
need: upstream support type: toolchain
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。