# Phoenix Tracing: Production Guide (Python) **CRITICAL: Configure batching, data masking, and span filtering for production deployment.** ## Metadata | Attribute | Value | |-----------|-------| | Priority | Critical - production readiness | | Impact | Security, Performance | | Setup Time | 5-15 min | ## Batch Processing **Enable batch processing for production efficiency.** Batching reduces network overhead by sending spans in groups rather than individually. ## Data Masking (PII Protection) **Environment variables:** ```bash export OPENINFERENCE_HIDE_INPUTS=true # Hide input.value export OPENINFERENCE_HIDE_OUTPUTS=true # Hide output.value export OPENINFERENCE_HIDE_INPUT_MESSAGES=true # Hide LLM input messages export OPENINFERENCE_HIDE_OUTPUT_MESSAGES=true # Hide LLM output messages export OPENINFERENCE_HIDE_INPUT_IMAGES=true # Hide image content export OPENINFERENCE_HIDE_INPUT_TEXT=true # Hide embedding text export OPENINFERENCE_BASE64_IMAGE_MAX_LENGTH=10000 # Limit image size ``` **Python TraceConfig:** ```python from phoenix.otel import register from openinference.instrumentation import TraceConfig config = TraceConfig( hide_inputs=True, hide_outputs=True, hide_input_messages=True ) register(trace_config=config) ``` **Precedence:** Code > Environment variables > Defaults --- ## Span Filtering **Suppress specific code blocks:** ```python from phoenix.otel import suppress_tracing with suppress_tracing(): internal_logging() # No spans generated ```