grpcio-csm-observability


Namegrpcio-csm-observability JSON
Version 1.68.1 PyPI version JSON
download
home_pagehttps://grpc.io
SummarygRPC Python CSM observability package
upload_time2024-12-02 05:26:09
maintainerNone
docs_urlNone
authorThe gRPC Authors
requires_python>=3.8
licenseApache License 2.0
keywords
VCS
bugtrack_url
requirements coverage cython protobuf wheel
Travis-CI No Travis.
coveralls test coverage No coveralls.
            gRPC Python CSM Observability
=============================

Package for gRPC Python CSM Observability.


Installation
------------

Currently gRPC Python CSM Observability is **only available for Linux**.

Installing From PyPI
~~~~~~~~~~~~~~~~~~~~

::

  $ pip install grpcio-csm-observability


Installing From Source
~~~~~~~~~~~~~~~~~~~~~~

::

  $ 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_csm_observability

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


Dependencies
------------
gRPC Python CSM Observability Depends on the following packages:

::

  grpcio
  grpcio-observability
  opentelemetry-sdk


Usage
-----

Example usage is similar to `the example here <https://github.com/grpc/grpc/tree/master/examples/python/observability>`_, instead of importing from ``grpc_observability``, you should import from ``grpc_csm_observability``:

.. code-block:: python

    import grpc_csm_observability
    
    csm_otel_plugin = grpc_csm_observability.CsmOpenTelemetryPlugin(
        meter_provider=provider
    )


We also provide several environment variables to help you optimize gRPC python observability for your particular use.

* Note: The term "Census" here is just for historical backwards compatibility reasons and does not imply any dependencies.

1. GRPC_PYTHON_CENSUS_EXPORT_BATCH_INTERVAL
    * This controls how frequently telemetry data collected within gRPC Core is sent to Python layer.
    * Default value is 0.5 (Seconds).

2. GRPC_PYTHON_CENSUS_MAX_EXPORT_BUFFER_SIZE
    * This controls the maximum number of telemetry data items that can be held in the buffer within gRPC Core before they are sent to Python.
    * Default value is 10,000.

3. GRPC_PYTHON_CENSUS_EXPORT_THRESHOLD
    * This setting acts as a trigger: When the buffer in gRPC Core reaches a certain percentage of its capacity, the telemetry data is sent to Python.
    * Default value is 0.7 (Which means buffer will start export when it's 70% full).

4. GRPC_PYTHON_CENSUS_EXPORT_THREAD_TIMEOUT
    * This controls the maximum time allowed for the exporting thread (responsible for sending data to Python) to complete.
    * Main thread will terminate the exporting thread after this timeout.
    * Default value is 10 (Seconds).

            

Raw data

            {
    "_id": null,
    "home_page": "https://grpc.io",
    "name": "grpcio-csm-observability",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "The gRPC Authors",
    "author_email": "grpc-io@googlegroups.com",
    "download_url": "https://files.pythonhosted.org/packages/0e/a8/58c41fb37b75eb98392c5ced9001eba25af60e6941f386633c16c6fbaff0/grpcio_csm_observability-1.68.1.tar.gz",
    "platform": null,
    "description": "gRPC Python CSM Observability\n=============================\n\nPackage for gRPC Python CSM Observability.\n\n\nInstallation\n------------\n\nCurrently gRPC Python CSM Observability is **only available for Linux**.\n\nInstalling From PyPI\n~~~~~~~~~~~~~~~~~~~~\n\n::\n\n  $ pip install grpcio-csm-observability\n\n\nInstalling From Source\n~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n  $ export REPO_ROOT=grpc  # REPO_ROOT can be any directory of your choice\n  $ git clone -b RELEASE_TAG_HERE https://github.com/grpc/grpc $REPO_ROOT\n  $ cd $REPO_ROOT\n  $ git submodule update --init\n\n  $ cd src/python/grpcio_csm_observability\n\n  # For the next command do `sudo pip install` if you get permission-denied errors\n  $ pip install .\n\n\nDependencies\n------------\ngRPC Python CSM Observability Depends on the following packages:\n\n::\n\n  grpcio\n  grpcio-observability\n  opentelemetry-sdk\n\n\nUsage\n-----\n\nExample usage is similar to `the example here <https://github.com/grpc/grpc/tree/master/examples/python/observability>`_, instead of importing from ``grpc_observability``, you should import from ``grpc_csm_observability``:\n\n.. code-block:: python\n\n    import grpc_csm_observability\n    \n    csm_otel_plugin = grpc_csm_observability.CsmOpenTelemetryPlugin(\n        meter_provider=provider\n    )\n\n\nWe also provide several environment variables to help you optimize gRPC python observability for your particular use.\n\n* Note: The term \"Census\" here is just for historical backwards compatibility reasons and does not imply any dependencies.\n\n1. GRPC_PYTHON_CENSUS_EXPORT_BATCH_INTERVAL\n    * This controls how frequently telemetry data collected within gRPC Core is sent to Python layer.\n    * Default value is 0.5 (Seconds).\n\n2. GRPC_PYTHON_CENSUS_MAX_EXPORT_BUFFER_SIZE\n    * This controls the maximum number of telemetry data items that can be held in the buffer within gRPC Core before they are sent to Python.\n    * Default value is 10,000.\n\n3. GRPC_PYTHON_CENSUS_EXPORT_THRESHOLD\n    * This setting acts as a trigger: When the buffer in gRPC Core reaches a certain percentage of its capacity, the telemetry data is sent to Python.\n    * Default value is 0.7 (Which means buffer will start export when it's 70% full).\n\n4. GRPC_PYTHON_CENSUS_EXPORT_THREAD_TIMEOUT\n    * This controls the maximum time allowed for the exporting thread (responsible for sending data to Python) to complete.\n    * Main thread will terminate the exporting thread after this timeout.\n    * Default value is 10 (Seconds).\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "gRPC Python CSM observability package",
    "version": "1.68.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/grpc/grpc/issues",
        "Homepage": "https://grpc.io",
        "Source Code": "https://github.com/grpc/grpc/tree/master/src/python/grpcio_csm_observability"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0739adf7004b63a00b1d58eae6a3ea51286414918501a4f11cd34088c594a403",
                "md5": "676421a0a2348e83d8bbf21a2fdb3db1",
                "sha256": "d8e19e7f8d4e17bcd2f7f3527f1c3d18be1f96b22f8e868c9ed6e0c0a947109a"
            },
            "downloads": -1,
            "filename": "grpcio_csm_observability-1.68.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "676421a0a2348e83d8bbf21a2fdb3db1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 15875,
            "upload_time": "2024-12-02T05:22:12",
            "upload_time_iso_8601": "2024-12-02T05:22:12.770282Z",
            "url": "https://files.pythonhosted.org/packages/07/39/adf7004b63a00b1d58eae6a3ea51286414918501a4f11cd34088c594a403/grpcio_csm_observability-1.68.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ea858c41fb37b75eb98392c5ced9001eba25af60e6941f386633c16c6fbaff0",
                "md5": "f9b8d8f53ca5d9f30d06342dce73036a",
                "sha256": "99e07a584ff8d48644d07ae6625a8f5ade3908f5c34e2f280c1c1bfeaf10e2ec"
            },
            "downloads": -1,
            "filename": "grpcio_csm_observability-1.68.1.tar.gz",
            "has_sig": false,
            "md5_digest": "f9b8d8f53ca5d9f30d06342dce73036a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 15781,
            "upload_time": "2024-12-02T05:26:09",
            "upload_time_iso_8601": "2024-12-02T05:26:09.627308Z",
            "url": "https://files.pythonhosted.org/packages/0e/a8/58c41fb37b75eb98392c5ced9001eba25af60e6941f386633c16c6fbaff0/grpcio_csm_observability-1.68.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-02 05:26:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "grpc",
    "github_project": "grpc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "coverage",
            "specs": [
                [
                    ">=",
                    "4.0"
                ]
            ]
        },
        {
            "name": "cython",
            "specs": [
                [
                    ">=",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "protobuf",
            "specs": [
                [
                    "<",
                    "6.0dev"
                ],
                [
                    ">=",
                    "5.26.1"
                ]
            ]
        },
        {
            "name": "wheel",
            "specs": [
                [
                    ">=",
                    "0.29"
                ]
            ]
        }
    ],
    "lcname": "grpcio-csm-observability"
}
        
Elapsed time: 0.72729s