bazel-contrib / bazel-contrib/rules_python

eBPF tracing support for python runtime installed using bazel

オープン
#1,737 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
need: upstream support type: toolchain
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。