bazel-contrib / bazel-contrib/rules_python
eBPF tracing support for python runtime installed using bazel
- 主要言語
- Starlark
- スター
- 688
- フォーク
- 721
- 平均マージ
- 15時間 7分
- マージ済み PR(30日)
- 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
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100