# 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 LLM generations, communication, kernel launches, and more.
* Identify top contributors to inference latency.
* Monitor inference performance, CPU/GPU utilization, and errors.
* Track and get alerts on errors and inefficiencies.
[](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": ">=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/95/3b/3023d6c7f5ec27edfbf35ba1eee86c999dcc31b078633c4fdacd34efb665/graphsignal-0.18.0.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 LLM generations, communication, kernel launches, and more.\n* Identify top contributors to inference latency.\n* Monitor inference performance, CPU/GPU utilization, and errors.\n* Track and get alerts on errors and inefficiencies.\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.0",
"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": "b5223c09224db6317288ababcfc79bf0882995a47e1cd7454d26853fd581ea36",
"md5": "da0d8d77751f8555f844ddd62af88405",
"sha256": "35c9976f62905d5152ef62d05b3f729959b7caf04709fb726dc066ee57b625a3"
},
"downloads": -1,
"filename": "graphsignal-0.18.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "da0d8d77751f8555f844ddd62af88405",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 85773,
"upload_time": "2025-07-20T21:08:55",
"upload_time_iso_8601": "2025-07-20T21:08:55.333876Z",
"url": "https://files.pythonhosted.org/packages/b5/22/3c09224db6317288ababcfc79bf0882995a47e1cd7454d26853fd581ea36/graphsignal-0.18.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "953b3023d6c7f5ec27edfbf35ba1eee86c999dcc31b078633c4fdacd34efb665",
"md5": "9b8fd4b5db6474ff2ba688af7af896ca",
"sha256": "a74c99bfe6728839bb72c16705f9642bf4ae5f3ef2a535573a081f5f6e8920c9"
},
"downloads": -1,
"filename": "graphsignal-0.18.0.tar.gz",
"has_sig": false,
"md5_digest": "9b8fd4b5db6474ff2ba688af7af896ca",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 56171,
"upload_time": "2025-07-20T21:08:56",
"upload_time_iso_8601": "2025-07-20T21:08:56.714769Z",
"url": "https://files.pythonhosted.org/packages/95/3b/3023d6c7f5ec27edfbf35ba1eee86c999dcc31b078633c4fdacd34efb665/graphsignal-0.18.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-20 21:08:56",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "graphsignal"
}