跳过主内容

gRPC Python可观察性包

项目描述

gRPC Python可观察性包。

更多详细信息请参阅 OpenTelemetry度量gRFC

gRPC Python可观察性如何工作

gRPC Python是在C/C++(C/C++编写)的基础上构建的包装层。大部分遥测数据在核心层收集,然后导出到Python层。为了优化性能并减少频繁获取GIL的开销,遥测数据最初在核心层缓存,然后批量导出到Python层。

请注意,虽然这种方法提高了效率,但会在数据收集和通过Python导出器可用之间引入轻微的延迟。

安装

目前gRPC Python可观察性仅在 Linux 上可用。

从PyPI安装

$ pip install grpcio-observability

从源安装

从源构建需要您有Python头文件(通常是一个名为 python-dev 的包)和Cython安装。它还需要一个类似于GCC的编译器才能顺利执行;您可能无需类似GCC的东西就能使其工作,但您可能会遇到一些麻烦。

$ export REPO_ROOT=grpc  # REPO_ROOT can be any directory of your choice
$ git clone -b RELEASE_TAG_HERE https://github.com/grpc/grpc $REPO_ROOT
$ cd $REPO_ROOT
$ git submodule update --init

$ cd src/python/grpcio_observability
$ python -m make_grpcio_observability

# For the next command do `sudo pip install` if you get permission-denied errors
$ GRPC_PYTHON_BUILD_WITH_CYTHON=1 pip install .

依赖关系

gRPC Python可观察性依赖于以下包

grpcio
opentelemetry-api

使用方法

您可以在 Python示例文件夹 中找到示例用法。

我们还提供了几个环境变量,以帮助您针对特定用途优化gRPC Python可观察性。

  1. GRPC_PYTHON_CENSUS_EXPORT_BATCH_INTERVAL
    • 此参数控制gRPC Core内部收集的遥测数据发送到Python层的频率。

    • 默认值为0.5(秒)。

  2. GRPC_PYTHON_CENSUS_MAX_EXPORT_BUFFER_SIZE
    • 此参数控制gRPC Core内部在将数据发送到Python之前,缓冲区中可以保持的遥测数据项的最大数量。

    • 默认值为10,000。

  3. GRPC_PYTHON_CENSUS_EXPORT_THRESHOLD
    • 此设置作为触发器:当gRPC Core中的缓冲区达到其容量的某个百分比时,遥测数据将发送到Python。

    • 默认值为0.7(这意味着缓冲区在70%满时开始导出)。

  4. GRPC_PYTHON_CENSUS_EXPORT_THREAD_TIMEOUT
    • 此参数控制导出线程(负责将数据发送到Python)完成的最大时间。

    • 主线程将在此超时后终止导出线程。

    • 默认值为10(秒)。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

grpcio_observability-1.66.2.tar.gz (5.4 MB 查看哈希值)

上传时间

构建分发

grpcio_observability-1.66.2-cp313-cp313-musllinux_1_1_x86_64.whl (632.6 kB 查看哈希值)

上传时间 CPython 3.13 musllinux: musl 1.1+ x86-64

grpcio_observability-1.66.2-cp313-cp313-musllinux_1_1_i686.whl (700.5 kB 查看哈希值)

上传时间 CPython 3.13 musllinux: musl 1.1+ i686

grpcio_observability-1.66.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (303.2 kB 查看哈希值)

上传于 ,使用 CPython 3.13,系统要求 manylinux: glibc 2.17+ x86-64

grpcio_observability-1.66.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (334.8 kB 查看哈希值)

上传于 ,使用 CPython 3.13,系统要求 manylinux: glibc 2.17+ i686

grpcio_observability-1.66.2-cp313-cp313-manylinux_2_17_aarch64.whl (265.5 kB 查看哈希值)

上传于 ,使用 CPython 3.13,系统要求 manylinux: glibc 2.17+ ARM64

grpcio_observability-1.66.2-cp313-cp313-linux_armv7l.whl (285.4 kB 查看哈希值)

上传于 ,使用 CPython 3.13

grpcio_observability-1.66.2-cp312-cp312-musllinux_1_1_x86_64.whl (632.0 kB 查看哈希值)

上传于 ,使用 CPython 3.12,系统要求 musllinux: musl 1.1+ x86-64

grpcio_observability-1.66.2-cp312-cp312-musllinux_1_1_i686.whl (700.1 kB 查看哈希值)

上传于 ,使用 CPython 3.12,系统要求 musllinux: musl 1.1+ i686

grpcio_observability-1.66.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (302.9 kB 查看哈希值)

上传于 ,使用 CPython 3.12,系统要求 manylinux: glibc 2.17+ x86-64

grpcio_observability-1.66.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (334.5 kB 查看哈希值)

上传于 ,使用 CPython 3.12,系统要求 manylinux: glibc 2.17+ i686

grpcio_observability-1.66.2-cp312-cp312-manylinux_2_17_aarch64.whl (265.1 kB 查看哈希值)

上传于 ,使用 CPython 3.12,系统要求 manylinux: glibc 2.17+ ARM64

grpcio_observability-1.66.2-cp312-cp312-linux_armv7l.whl (285.5 kB 查看哈希值)

上传于 ,使用 CPython 3.12

grpcio_observability-1.66.2-cp311-cp311-musllinux_1_1_x86_64.whl (639.4 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.1+ x86-64

grpcio_observability-1.66.2-cp311-cp311-musllinux_1_1_i686.whl (707.0 kB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.1+ i686

grpcio_observability-1.66.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (308.5 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

grpcio_observability-1.66.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (339.6 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686

grpcio_observability-1.66.2-cp311-cp311-manylinux_2_17_aarch64.whl (273.6 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

grpcio_observability-1.66.2-cp311-cp311-linux_armv7l.whl (294.1 kB 查看哈希值)

上传于 CPython 3.11

grpcio_observability-1.66.2-cp310-cp310-musllinux_1_1_x86_64.whl (640.0 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ x86-64

grpcio_observability-1.66.2-cp310-cp310-musllinux_1_1_i686.whl (707.6 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ i686

grpcio_observability-1.66.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (308.9 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

grpcio_observability-1.66.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (340.3 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ i686

grpcio_observability-1.66.2-cp310-cp310-manylinux_2_17_aarch64.whl (273.4 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

grpcio_observability-1.66.2-cp310-cp310-linux_armv7l.whl (294.4 kB 查看哈希值)

上传于 CPython 3.10

grpcio_observability-1.66.2-cp39-cp39-musllinux_1_1_x86_64.whl (640.3 kB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ x86-64

grpcio_observability-1.66.2-cp39-cp39-musllinux_1_1_i686.whl (708.5 kB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ i686

grpcio_observability-1.66.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (309.6 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

grpcio_observability-1.66.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (341.1 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686

grpcio_observability-1.66.2-cp39-cp39-manylinux_2_17_aarch64.whl (274.1 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

grpcio_observability-1.66.2-cp39-cp39-linux_armv7l.whl (295.2 kB 查看哈希值)

上传于 CPython 3.9

grpcio_observability-1.66.2-cp38-cp38-musllinux_1_1_x86_64.whl (639.3 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ x86-64

grpcio_observability-1.66.2-cp38-cp38-musllinux_1_1_i686.whl (708.8 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ i686

grpcio_observability-1.66.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (309.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

grpcio_observability-1.66.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (341.3 kB 查看哈希值)

上传时间: CPython 3.8 manylinux: glibc 2.17+ i686

grpcio_observability-1.66.2-cp38-cp38-manylinux_2_17_aarch64.whl (274.6 kB 查看哈希值)

上传时间: CPython 3.8 manylinux: glibc 2.17+ ARM64

grpcio_observability-1.66.2-cp38-cp38-linux_armv7l.whl (295.4 kB 查看哈希值)

上传时间: CPython 3.8

支持者