Installation
- pip
- uv
- npm
- yarn
- pnpm
Setup
- Python
- TypeScript
Python
PandaProbe traces both synchronous and asynchronous Python clients, plus the Promise-based TypeScript client.
Chat Completions API
Span name:"openai-chat", SpanKind: LLM
Python
TypeScript
- Input: messages array
- Output: assistant message
- Model name
- Token usage:
prompt_tokens,completion_tokens,total_tokens, plus detail fields (for examplereasoning_tokensfromcompletion_tokens_details) - Model parameters:
temperature,top_p,max_tokens, and other safe parameters only
Streaming
Python
TypeScript
completion_start_time on the first chunk for time-to-first-token tracking. Chunks are reduced to a single response for the span output.
Responses API
Span name:"openai-response", SpanKind: LLM
Python
TypeScript
- Input:
instructionsplusinput, normalized to messages format - Output: response output items
- Token usage:
input_tokensmapped to prompt tokens,output_tokensmapped to completion tokens, plus detail fields - Reasoning summaries extracted from reasoning output items
- Model parameters:
max_output_tokens,temperature,top_p,reasoning, and related fields
Tool calls (Responses API)
Built-in tools such asweb_search, file_search, and code_interpreter are automatically traced as child spans with SpanKind TOOL:
Python
TOOL span with the tool type as the span name (for example "web_search_call", "function_call").
Function calls (function_call items) are also captured as TOOL child spans with arguments as input and results as output.

