Skip to main content
`Ctrl`+`K`

# Graphsignal

This page covers how to use Graphsignal to trace and monitor LangChain. Graphsignal enables full visibility into your application. It provides latency breakdowns by chains and tools, exceptions with full context, data monitoring, compute/GPU utilization, OpenAI cost analytics, and more.

## Installation and Setup

- Install the Python library with `pip install graphsignal`

- Create free Graphsignal account here

- Get an API key and set it as an environment variable (`GRAPHSIGNAL_API_KEY`)

## Tracing and Monitoring

Graphsignal automatically instruments and starts tracing and monitoring chains. Traces and metrics are then available in your Graphsignal dashboards.

Initialize the tracer by providing a deployment name:

    import graphsignal

    graphsignal.configure(deployment='my-langchain-app-prod')

To additionally trace any function or code, you can use a decorator or a context manager:

    @graphsignal.trace_function
    def handle_request():
        chain.run("some initial text")

    with graphsignal.start_trace('my-chain'):
        chain.run("some initial text")

Optionally, enable profiling to record function-level statistics for each trace.

    with graphsignal.start_trace(
            'my-chain', options=graphsignal.TraceOptions(enable_profiling=True)):
        chain.run("some initial text")

See the Quick Start guide for complete setup instructions.