SplunkAOCallback - Python
The Python Splunk Agent Observability Synchronous LangChain SDK reference.
SplunkAOAsyncCallback - Python
The Python Splunk Agent Observability Asynchronous LangChain SDK reference.
Basic usage
The integration is based on theSplunkAOCallback class, which implements LangChain’s callback interface. To use it, create an instance of the callback and pass it to your LangChain components:
SplunkAOCallback captures various LangChain events, including:
- LLM starts and completions
- Chat model interactions
- Chain executions
- Tool calls
- Retriever operations
- Agent actions
- Input prompts and messages
- Output responses
- Model information
- Timing data
- Token usage
- Error information (if any)
Asynchronous callbacks
In Python, there are separate callbacks for synchronous and asynchronous code. If you are using the asynchronous LangChain or LangGraph API, use theSplunkAOAsyncCallback callback handler.
Use a custom logger
When initializing theSplunkAOCallback, you can optionally specify a Splunk Agent Observability logger instance, either by creating a new logger, or by using the current logger from the Splunk Agent Observability context:
log decorator, or from inside an experiment.
Session and trace support
Every time you invoke a chain or an LLM call, a new session and trace is created. If you want to manually manage sessions or traces, you can do this using by passing a Splunk Agent Observability logger instance to the callback. To add the chain or LLM call invocation as a new trace to an existing session, create the session first using the logger instance that was used to create the callback:start_new_trace parameter to False (Python).
Use with LangChain chains
You can also use the callback with LangChain chains. Make sure to pass the callback to both the LLM and the chain.Add metadata
You can add custom metadata and tags to your logs by including them in themetadata and tags parameters of a LangChain runnable configuration when invoking a chain or LLM.

Best practices
- Pass callbacks consistently: Make sure to pass the callback to all LangChain components (LLMs, chains, agents, etc.) to ensure complete logging.
- Include meaningful metadata: Add relevant metadata to your invocations to make it easier to filter and analyze your logs.
Next steps
Basic logging components
Splunk Agent Observability logger
Log with full control over sessions, traces, and spans using the Splunk Agent Observability logger.
Log decorator
Quickly add logging to your code with the log decorator and wrapper.
Splunk Agent Observability context
Manage logging using the Splunk Agent Observability context manager.
Cookbooks
Monitor LangChain Agents with Splunk Agent Observability
Learn how to build and monitor a LangChain AI Agent using Splunk Agent Observability for tracing and observability.
Add evaluations to a multi-agent LangGraph application
Learn how to add evaluations to a multi-agent LangGraph chat bot using Splunk Agent Observability