# Graphsignal: LLM Performance Analytics
[](https://github.com/graphsignal/graphsignal-python/blob/main/LICENSE)
[](https://github.com/graphsignal/graphsignal-python)
Graphsignal is an observability platform for AI applications. It helps developers ensure AI applications run efficiently and provide the best user experience. With Graphsignal, developers can:
* Measure and optimize LLM performance for APIs and hosted models.
* Analyze model API costs for deployments, models, or any custom tags.
* View and search LLM generations with full context.
* Detect errors and monitor APIs, compute, and GPU utilization.
[](https://graphsignal.com/)
Learn more at [graphsignal.com](https://graphsignal.com).
## Install
Install Graphsignal library.
```bash
pip install --upgrade 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', deployment='my-app')
```
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 at 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 **auto-instruments** and traces libraries and frameworks, such as [OpenAI](https://graphsignal.com/docs/integrations/openai/) and [LangChain](https://graphsignal.com/docs/integrations/langchain/). Traces, errors, and data, such as prompts and completions, are automatically recorded and 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/)
* [Session Tracking](https://graphsignal.com/docs/guides/session-tracking/)
* [Cost and Usage Monitoring](https://graphsignal.com/docs/guides/cost-and-usage-monitoring/)
* [Scores and Feedback](https://graphsignal.com/docs/guides/scores-and-feedback/)
See [API reference](https://graphsignal.com/docs/reference/python-api/) for full documentation.
Some integration examples are available in [examples](https://github.com/graphsignal/examples) repo.
## Analyze
[Log in](https://app.graphsignal.com/) to Graphsignal to monitor and analyze your application.
## Overhead
Graphsignal tracer is very lightweight. The overhead per trace is measured to be less than 100 microseconds.
## Security and Privacy
Graphsignal tracer can only open outbound connections to `api.graphsignal.com` and send data, no inbound connections or commands are possible.
Payloads, such as prompts and completions, are recorded by default in case of automatic tracing. To disable, set `record_payloads=False` in `graphsignal.configure`.
## Troubleshooting
To enable debug logging, add `debug_mode=True` to `configure()`. If the debug log doesn't give you any hints on how to fix a problem, please 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/16/a3/f081f742acc5b96e31757c97a3923ea445df2f576e5c14b6be39f81eac8a/graphsignal-0.16.0.tar.gz",
"platform": null,
"description": "# Graphsignal: LLM Performance Analytics\n\n[](https://github.com/graphsignal/graphsignal-python/blob/main/LICENSE)\n[](https://github.com/graphsignal/graphsignal-python)\n\n\nGraphsignal is an observability platform for AI applications. It helps developers ensure AI applications run efficiently and provide the best user experience. With Graphsignal, developers can:\n\n* Measure and optimize LLM performance for APIs and hosted models.\n* Analyze model API costs for deployments, models, or any custom tags.\n* View and search LLM generations with full context.\n* Detect errors and monitor APIs, compute, and GPU utilization.\n\n\n[](https://graphsignal.com/)\n\nLearn more at [graphsignal.com](https://graphsignal.com).\n\n\n## Install\n\nInstall Graphsignal library.\n\n```bash\npip install --upgrade 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', deployment='my-app')\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 at 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 **auto-instruments** and traces libraries and frameworks, such as [OpenAI](https://graphsignal.com/docs/integrations/openai/) and [LangChain](https://graphsignal.com/docs/integrations/langchain/). Traces, errors, and data, such as prompts and completions, are automatically recorded and 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* [Session Tracking](https://graphsignal.com/docs/guides/session-tracking/)\n* [Cost and Usage Monitoring](https://graphsignal.com/docs/guides/cost-and-usage-monitoring/)\n* [Scores and Feedback](https://graphsignal.com/docs/guides/scores-and-feedback/)\n\nSee [API reference](https://graphsignal.com/docs/reference/python-api/) for full documentation.\n\nSome integration examples are available in [examples](https://github.com/graphsignal/examples) repo.\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 very lightweight. The overhead per trace is measured to be less than 100 microseconds.\n\n\n## Security and Privacy\n\nGraphsignal tracer can only open outbound connections to `api.graphsignal.com` and send data, no inbound connections or commands are possible.\n\nPayloads, such as prompts and completions, are recorded by default in case of automatic tracing. To disable, set `record_payloads=False` in `graphsignal.configure`.\n\n\n## Troubleshooting\n\nTo enable debug logging, add `debug_mode=True` to `configure()`. If the debug log doesn't give you any hints on how to fix a problem, please 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.16.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": "b46e3020613aadd61a537428889ed7ce10a5ff029258af0d9845a9586978b69d",
"md5": "3695ee60ed98ca4ee0d68863b959d1b7",
"sha256": "0a003d4026ad106a4c698997fa29c0898689988e468c690ed523bb09c4b81a4e"
},
"downloads": -1,
"filename": "graphsignal-0.16.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3695ee60ed98ca4ee0d68863b959d1b7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 101615,
"upload_time": "2025-02-12T14:32:18",
"upload_time_iso_8601": "2025-02-12T14:32:18.338594Z",
"url": "https://files.pythonhosted.org/packages/b4/6e/3020613aadd61a537428889ed7ce10a5ff029258af0d9845a9586978b69d/graphsignal-0.16.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "16a3f081f742acc5b96e31757c97a3923ea445df2f576e5c14b6be39f81eac8a",
"md5": "6b11483979fa4408cdd027f3928e235b",
"sha256": "211d9c76a05e047ad58d694cc49b1bc4df0a2572befc24761cd9cf754c09300e"
},
"downloads": -1,
"filename": "graphsignal-0.16.0.tar.gz",
"has_sig": false,
"md5_digest": "6b11483979fa4408cdd027f3928e235b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 72101,
"upload_time": "2025-02-12T14:32:20",
"upload_time_iso_8601": "2025-02-12T14:32:20.436421Z",
"url": "https://files.pythonhosted.org/packages/16/a3/f081f742acc5b96e31757c97a3923ea445df2f576e5c14b6be39f81eac8a/graphsignal-0.16.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-12 14:32:20",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "graphsignal"
}