# Graphsignal: Inference Observability
[](https://github.com/graphsignal/graphsignal-python/blob/main/LICENSE)
[](https://github.com/graphsignal/graphsignal-python)
Graphsignal is an inference observability platform that helps developers accelerate and troubleshoot AI systems. With Graphsignal, developers can:
* Trace and profile LLM generations, communication, CUDA kernels, batching, and more.
* Monitor inference performance, CPU/GPU utilization, memory usage, and server metrics.
* Track and get alerst on errors and exceptions - with contextual data, stack traces, and triggering conditions.
* Compare performance across models, versions, hardware setups, and optimization configurations.
[](https://graphsignal.com/)
Learn more at [graphsignal.com](https://graphsignal.com).
## Install
Install the Graphsignal library.
```bash
pip install -U graphsignal
```
## Configure
Configure Graphsignal tracer by specifying your API key directly or via `GRAPHSIGNAL_API_KEY` environment variable.
```python
import graphsignal
graphsignal.configure(api_key='my-api-key')
# or pass the API key in GRAPHSIGNAL_API_KEY environment variable
```
See [`configure()`](https://graphsignal.com/docs/reference/python-api/#graphsignalconfigure) API docs for all configuration parameters.
To get an API key, sign up for a free account at [graphsignal.com](https://graphsignal.com). The key can then be found in your account's [Settings / API Keys](https://app.graphsignal.com/settings/api-keys) page.
Alternatively, you can add Graphsignal tracer from the command line, when running your module or script. Environment variables `GRAPHSIGNAL_API_KEY` and `GRAPHSIGNAL_DEPLOYMENT` must be set.
```bash
python -m graphsignal <script>
```
```bash
python -m graphsignal -m <module>
```
## Integrate
Graphsignal integrates through tracing - either via auto-instrumentation or manual setup. It automatically captures traces, errors, performance profiles, and data. All insights are available for analysis at [app.graphsignal.com](https://app.graphsignal.com/).
Refer to the guides below for detailed information on:
* [Manual Tracing](https://graphsignal.com/docs/guides/manual-tracing/)
* [Inference Profiling](https://graphsignal.com/docs/guides/infefence-profiling/)
* [Using Tags](https://graphsignal.com/docs/guides/using-tags/)
See [API reference](https://graphsignal.com/docs/reference/python-api/) for full documentation.
Integration examples are available in [examples](https://github.com/graphsignal/examples) repository.
## Analyze
[Log in](https://app.graphsignal.com/) to Graphsignal to monitor and analyze your application.
## Overhead
Graphsignal tracer is highly lightweight. The overhead per trace is measured to be less than 100 microseconds. While profiling can introduce slight overhead, the profiling rate it is limited.
## Security and Privacy
The Graphsignal tracer only establishes outbound connections to `api.graphsignal.com` to send data; inbound connections or commands are not possible.
Content and sensitive information, such as prompts and completions, are not recorded.
## Troubleshooting
To enable debug logging, add `debug_mode=True` to `configure()`. If the debug log doesn’t provide hints for resolving the issue, report it to our support team via your account.
In case of connection issues, please make sure outgoing connections to `https://api.graphsignal.com` are allowed.
Raw data
{
"_id": null,
"home_page": "https://graphsignal.com",
"name": "graphsignal",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.9",
"maintainer_email": null,
"keywords": "LLM observability, LLM analytics, Agent observability, Agent analytics",
"author": "Graphsignal, Inc.",
"author_email": "devops@graphsignal.com",
"download_url": "https://files.pythonhosted.org/packages/d6/9a/7c67b17850fc40c630b95e106707aa3f92290b2c12b8864eeebc273e528e/graphsignal-0.18.2.tar.gz",
"platform": null,
"description": "# Graphsignal: Inference Observability\n\n[](https://github.com/graphsignal/graphsignal-python/blob/main/LICENSE)\n[](https://github.com/graphsignal/graphsignal-python)\n\n\nGraphsignal is an inference observability platform that helps developers accelerate and troubleshoot AI systems. With Graphsignal, developers can:\n\n* Trace and profile LLM generations, communication, CUDA kernels, batching, and more.\n* Monitor inference performance, CPU/GPU utilization, memory usage, and server metrics.\n* Track and get alerst on errors and exceptions - with contextual data, stack traces, and triggering conditions.\n* Compare performance across models, versions, hardware setups, and optimization configurations.\n\n\n[](https://graphsignal.com/)\n\nLearn more at [graphsignal.com](https://graphsignal.com).\n\n\n## Install\n\nInstall the Graphsignal library.\n\n```bash\npip install -U graphsignal\n```\n\n\n## Configure\n\nConfigure Graphsignal tracer by specifying your API key directly or via `GRAPHSIGNAL_API_KEY` environment variable.\n\n```python\nimport graphsignal\n\ngraphsignal.configure(api_key='my-api-key')\n# or pass the API key in GRAPHSIGNAL_API_KEY environment variable\n```\n\nSee [`configure()`](https://graphsignal.com/docs/reference/python-api/#graphsignalconfigure) API docs for all configuration parameters.\n\n\nTo get an API key, sign up for a free account at [graphsignal.com](https://graphsignal.com). The key can then be found in your account's [Settings / API Keys](https://app.graphsignal.com/settings/api-keys) page.\n\nAlternatively, you can add Graphsignal tracer from the command line, when running your module or script. Environment variables `GRAPHSIGNAL_API_KEY` and `GRAPHSIGNAL_DEPLOYMENT` must be set.\n\n```bash\npython -m graphsignal <script>\n```\n\n```bash\npython -m graphsignal -m <module>\n```\n\n\n## Integrate\n\nGraphsignal integrates through tracing - either via auto-instrumentation or manual setup. It automatically captures traces, errors, performance profiles, and data. All insights are available for analysis at [app.graphsignal.com](https://app.graphsignal.com/).\n\nRefer to the guides below for detailed information on:\n\n* [Manual Tracing](https://graphsignal.com/docs/guides/manual-tracing/)\n* [Inference Profiling](https://graphsignal.com/docs/guides/infefence-profiling/)\n* [Using Tags](https://graphsignal.com/docs/guides/using-tags/)\n\nSee [API reference](https://graphsignal.com/docs/reference/python-api/) for full documentation.\n\nIntegration examples are available in [examples](https://github.com/graphsignal/examples) repository.\n\n\n## Analyze\n\n[Log in](https://app.graphsignal.com/) to Graphsignal to monitor and analyze your application.\n\n\n## Overhead\n\nGraphsignal tracer is highly lightweight. The overhead per trace is measured to be less than 100 microseconds. While profiling can introduce slight overhead, the profiling rate it is limited.\n\n\n## Security and Privacy\n\nThe Graphsignal tracer only establishes outbound connections to `api.graphsignal.com` to send data; inbound connections or commands are not possible.\n\nContent and sensitive information, such as prompts and completions, are not recorded.\n\n\n## Troubleshooting\n\nTo enable debug logging, add `debug_mode=True` to `configure()`. If the debug log doesn\u2019t provide hints for resolving the issue, report it to our support team via your account.\n\nIn case of connection issues, please make sure outgoing connections to `https://api.graphsignal.com` are allowed.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Graphsignal Tracer for Python",
"version": "0.18.2",
"project_urls": {
"Homepage": "https://graphsignal.com",
"Repository": "https://graphsignal.com"
},
"split_keywords": [
"llm observability",
" llm analytics",
" agent observability",
" agent analytics"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "106fae85c210d98345bdc0fcda0ec6ecc9867ddca2dbfc90d95901d20421b263",
"md5": "8b94924005dbdb67e8310beb040b983a",
"sha256": "86b1cba8040cd908100a927cee70a554cd8de12036e689817bdbc805a2766c10"
},
"downloads": -1,
"filename": "graphsignal-0.18.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8b94924005dbdb67e8310beb040b983a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.9",
"size": 87731,
"upload_time": "2025-08-27T08:54:03",
"upload_time_iso_8601": "2025-08-27T08:54:03.280101Z",
"url": "https://files.pythonhosted.org/packages/10/6f/ae85c210d98345bdc0fcda0ec6ecc9867ddca2dbfc90d95901d20421b263/graphsignal-0.18.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d69a7c67b17850fc40c630b95e106707aa3f92290b2c12b8864eeebc273e528e",
"md5": "ce41d0d91c748acbb93df316414871a7",
"sha256": "21ef97cb3a990924bd08622e891e103a1670a50384c031dfb7c5f7a2c1ceccb9"
},
"downloads": -1,
"filename": "graphsignal-0.18.2.tar.gz",
"has_sig": false,
"md5_digest": "ce41d0d91c748acbb93df316414871a7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.9",
"size": 58643,
"upload_time": "2025-08-27T08:54:04",
"upload_time_iso_8601": "2025-08-27T08:54:04.616951Z",
"url": "https://files.pythonhosted.org/packages/d6/9a/7c67b17850fc40c630b95e106707aa3f92290b2c12b8864eeebc273e528e/graphsignal-0.18.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-27 08:54:04",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "graphsignal"
}