litellm/tests/test_litellm/proxy/common_utils
mrinal 4a92e3055f feat(otel v2): per-destination otel_internal_spans to hold back the proxy's SERVICE and DB_CALL spans from tenant exporters
A key or team that points langfuse_otel, arize, weave_otel or newrelic at its own account can now set
otel_internal_spans to exclude, and the TenantFanOutSpanProcessor stops forwarding the proxy's own auth,
Redis, Postgres and spend-write spans to that destination. The request root and the tenant's model, guardrail
and MCP spans still go, and the operator's exporter still receives the full tree. The default stays include,
with litellm_settings.otel_tenant_internal_spans (or LITELLM_OTEL_TENANT_INTERNAL_SPANS) as the system-wide
default for destinations that name no value. The team and key Logging Settings forms render the field as a
select; the global Add Callback form does not, since the operator exporter cannot honour it.

Resolves LIT-8245

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-22 22:46:34 +00:00
..
html_forms test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_admin_ui_utils.py docs: stop advertising sk-1234 as the master key in shipped configs and examples 2026-09-19 12:59:48 -07:00
test_auth_cache_invalidation_pubsub.py fix(proxy): give user-key objects their own in-memory cache partition (#40713) 2026-09-11 09:52:09 -07:00
test_cache_codec.py fix(proxy): stop CacheCodec dropping null fields on cache round-trip (#32207) 2026-07-06 12:53:00 -07:00
test_callback_config_validation.py feat(otel v2): per-destination otel_internal_spans to hold back the proxy's SERVICE and DB_CALL spans from tenant exporters 2026-09-22 22:46:34 +00:00
test_callback_utils.py feat(guardrails): map each guardrail scan id to its guardrail, stage and provider (#40327) 2026-09-08 23:32:31 -07:00
test_config_sync_pubsub.py fix: enforce disable_custom_api_keys from general_settings (#42437) 2026-09-22 13:28:31 -07:00
test_custom_openapi_spec.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_debug_utils.py feat(proxy): admin-only /debug/report sharing the bug report environment (#42440) 2026-09-22 12:05:23 -07:00
test_encrypt_decrypt_utils.py fix(proxy): never treat plaintext that base64-decodes to nothing as a ciphertext during the master key migration 2026-09-19 17:53:17 -07:00
test_error_body_call_id.py feat(proxy): opt-in litellm_call_id in JSON error bodies (#42391) 2026-09-21 19:17:18 -07:00
test_expired_ui_session_key_cleanup_manager.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_get_routes.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_http_parsing_utils.py fix(claude_code_gateway): scope the protobuf body skip to the OTLP routes and match the metrics middleware on the route path 2026-09-18 17:23:59 -07:00
test_json_merge_patch.py fix(team): bound json merge patch recursion depth 2026-07-11 09:36:15 -07:00
test_key_rotation_e2e.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_key_rotation_integration.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_key_rotation_lock.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_key_rotation_manager.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_load_config_utils.py fix(proxy): make an ambiguous config include loud, not silent 2026-09-06 03:35:07 -07:00
test_model_deprecation.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_model_listing_utils.py feat(proxy): expose reversible Claude Code model listing aliases (#40515) 2026-09-09 22:04:37 -07:00
test_openai_endpoint_utils.py fix(vector-stores): recurse into nested litellm_params; handle JSON-string shape 2026-04-29 18:56:40 +00:00
test_openai_error_payload.py test: drop the docstring that restated the payload test's name 2026-09-18 22:48:42 -07:00
test_path_utils.py test: require a match= on broad pytest.raises, and drop duplicate parametrize cases (#37769) 2026-08-20 20:24:49 -07:00
test_periodic_reload_schedule.py fix(proxy): persist periodic reload schedule state so status survives restarts and fires without store_model_in_db (#35165) 2026-08-04 15:42:57 -07:00
test_prompt_cache_pricing.py test: delete assertions that pin vendor cost map facts 2026-09-18 00:28:49 +00:00
test_rbac_utils.py test: run the 30 test files stranded in the second mirror (#37595) 2026-08-20 10:59:43 -07:00
test_registry_read_through.py test(proxy): isolate the agent read-through singleton between unknown-agent tests 2026-09-22 01:34:31 +00:00
test_reset_budget_job.py Merge remote-tracking branch 'origin/main' into litellm_lit_3269_project_spend_tracking 2026-09-17 22:29:16 +00:00
test_scheduled_job_stagger.py Merge remote-tracking branch 'origin/litellm_internal_staging' into litellm_deflake_20260905 2026-09-09 09:17:41 +00:00
test_sse_keepalive.py fix(passthrough): recognize CR-only SSE frame delimiters when minting streamed managed ids 2026-08-26 01:36:18 -07:00
test_static_asset_utils.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_swagger_utils.py fix(proxy): make the lazy OpenAPI snapshot byte-identical on every Python version (#42519) 2026-09-22 12:21:20 -07:00
test_timezone_utils.py test: drop the cwd-relative sys.path.insert calls from the test suite (#37802) 2026-08-22 09:25:58 -07:00
test_upsert_budget_membership.py test(proxy): assert the persisted member budget row as a whole instead of field absence 2026-09-18 02:12:12 +00:00
test_user_api_key_cache.py fix(proxy): clear both cache partitions and carry the walk position as a value 2026-09-16 16:28:16 -07:00